From fd57ccc1a7177b023ad44de5e88cfcbfbd8dfa0a Mon Sep 17 00:00:00 2001 From: J-Jamet Date: Mon, 2 Nov 2020 17:31:35 +0100 Subject: [PATCH] Copy password from generator #697 --- CHANGELOG | 1 + .../dialogs/GeneratePasswordDialogFragment.kt | 15 ++++-- .../res/layout/fragment_generate_password.xml | 50 +++++++++++++------ .../metadata/android/en-US/changelogs/45.txt | 1 + .../metadata/android/fr-FR/changelogs/45.txt | 1 + 5 files changed, 48 insertions(+), 20 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 429ee8b7a..08583bd51 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,5 @@ KeePassDX(2.9.1) + * Copy password from generator #697 * Fix Magikeyboard not fully visible #772 * Fix change font size #770 * Small fixes #771 diff --git a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/GeneratePasswordDialogFragment.kt b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/GeneratePasswordDialogFragment.kt index 38799873b..ccb47d8f3 100644 --- a/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/GeneratePasswordDialogFragment.kt +++ b/app/src/main/java/com/kunzisoft/keepass/activities/dialogs/GeneratePasswordDialogFragment.kt @@ -26,13 +26,11 @@ import com.google.android.material.textfield.TextInputLayout import androidx.fragment.app.DialogFragment import androidx.appcompat.app.AlertDialog import android.view.View -import android.widget.Button -import android.widget.CompoundButton -import android.widget.EditText -import android.widget.SeekBar +import android.widget.* import com.kunzisoft.keepass.R import com.kunzisoft.keepass.password.PasswordGenerator import com.kunzisoft.keepass.settings.PreferencesUtil +import com.kunzisoft.keepass.timeout.ClipboardHelper import com.kunzisoft.keepass.view.applyFontVisibility class GeneratePasswordDialogFragment : DialogFragment() { @@ -78,6 +76,15 @@ class GeneratePasswordDialogFragment : DialogFragment() { passwordInputLayoutView = root?.findViewById(R.id.password_input_layout) passwordView = root?.findViewById(R.id.password) passwordView?.applyFontVisibility() + val passwordCopyView: ImageView? = root?.findViewById(R.id.password_copy_button) + passwordCopyView?.visibility = if(PreferencesUtil.allowCopyPasswordAndProtectedFields(activity)) + View.VISIBLE else View.GONE + val clipboardHelper = ClipboardHelper(activity) + passwordCopyView?.setOnClickListener { + clipboardHelper.timeoutCopyToClipboard(passwordView!!.text.toString(), + getString(R.string.copy_field, + getString(R.string.entry_password))) + } lengthTextView = root?.findViewById(R.id.length) diff --git a/app/src/main/res/layout/fragment_generate_password.xml b/app/src/main/res/layout/fragment_generate_password.xml index 71916a54a..b506eea0c 100644 --- a/app/src/main/res/layout/fragment_generate_password.xml +++ b/app/src/main/res/layout/fragment_generate_password.xml @@ -33,27 +33,45 @@ android:layout_height="wrap_content" android:orientation="vertical"> - + android:layout_height="wrap_content"> - - + app:passwordToggleEnabled="true" + app:passwordToggleTint="?attr/colorAccent"> + + + + + +