aboutsummaryrefslogtreecommitdiffstats
path: root/app/src/main/java/com/zeapo/pwdstore/ui/dialogs
diff options
context:
space:
mode:
authorHarsh Shandilya <msfjarvis@gmail.com>2020-01-28 01:49:37 +0530
committerGitHub <noreply@github.com>2020-01-28 01:49:37 +0530
commitf295e97de6a9b7005e3fd6425296a5cd9d37af6b (patch)
treeee8dae97a03bf07f0890869429376df1adba8669 /app/src/main/java/com/zeapo/pwdstore/ui/dialogs
parentab5aebeda3388ec776c34130cf9039ae4f623562 (diff)
downloadHardenedPass-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.kt45
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
+ }
+ }
+}