diff options
| author | Harsh Shandilya <msfjarvis@gmail.com> | 2020-01-28 01:49:37 +0530 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-01-28 01:49:37 +0530 |
| commit | f295e97de6a9b7005e3fd6425296a5cd9d37af6b (patch) | |
| tree | ee8dae97a03bf07f0890869429376df1adba8669 /app/src/main/java/com/zeapo/pwdstore/ui/dialogs | |
| parent | ab5aebeda3388ec776c34130cf9039ae4f623562 (diff) | |
| download | HardenedPass-f295e97de6a9b7005e3fd6425296a5cd9d37af6b.tar.gz HardenedPass-f295e97de6a9b7005e3fd6425296a5cd9d37af6b.zip | |
Allow creating folders (#623)
* Introduce EmitExpandableTransformationBehaviour
* Implement expand transition
* More folder work
* Add icons and tweak layout clipping
Rishi again with the icon rescue
* Theming rework
* Dont set tag
* Update list and commit after creating folder
* Fix theme issues
* Add dialog title
* Fix hint text color
* Remove commit method
* Cleanup
* Update CHANGELOG
Signed-off-by: Harsh Shandilya <msfjarvis@gmail.com>
Co-authored-by: Aditya Wasan <adityawasan55@gmail.com>
Diffstat (limited to 'app/src/main/java/com/zeapo/pwdstore/ui/dialogs')
| -rw-r--r-- | app/src/main/java/com/zeapo/pwdstore/ui/dialogs/FolderCreationDialogFragment.kt | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/ui/dialogs/FolderCreationDialogFragment.kt b/app/src/main/java/com/zeapo/pwdstore/ui/dialogs/FolderCreationDialogFragment.kt new file mode 100644 index 00000000..8584aeaf --- /dev/null +++ b/app/src/main/java/com/zeapo/pwdstore/ui/dialogs/FolderCreationDialogFragment.kt @@ -0,0 +1,45 @@ +/* + * Copyright © 2014-2019 The Android Password Store Authors. All Rights Reserved. + * SPDX-License-Identifier: GPL-3.0-only + */ +package com.zeapo.pwdstore.ui.dialogs + +import android.app.Dialog +import android.content.DialogInterface +import android.os.Bundle +import androidx.core.os.bundleOf +import androidx.fragment.app.DialogFragment +import com.google.android.material.dialog.MaterialAlertDialogBuilder +import com.google.android.material.textfield.TextInputEditText +import com.zeapo.pwdstore.PasswordStore +import com.zeapo.pwdstore.R +import java.io.File + +class FolderCreationDialogFragment : DialogFragment() { + override fun onCreateDialog(savedInstanceState: Bundle?): Dialog { + val alertDialogBuilder = MaterialAlertDialogBuilder(requireContext()) + alertDialogBuilder.setView(R.layout.folder_creation_dialog_fragment) + alertDialogBuilder.setPositiveButton(getString(R.string.button_create)) { _: DialogInterface, _: Int -> + createDirectory(requireArguments().getString(CURRENT_DIR_EXTRA)!!) + } + return alertDialogBuilder.create() + } + + private fun createDirectory(currentDir: String) { + val dialog = requireDialog() + val materialTextView = dialog.findViewById<TextInputEditText>(R.id.folder_name_text) + val folderName = materialTextView.text.toString() + File("$currentDir/$folderName").mkdir() + (requireActivity() as PasswordStore).updateListAdapter() + } + + companion object { + private const val CURRENT_DIR_EXTRA = "CURRENT_DIRECTORY" + fun newInstance(startingDirectory: String): FolderCreationDialogFragment { + val extras = bundleOf(CURRENT_DIR_EXTRA to startingDirectory) + val fragment = FolderCreationDialogFragment() + fragment.arguments = extras + return fragment + } + } +} |
