summaryrefslogtreecommitdiff
path: root/app/src/main/java
diff options
context:
space:
mode:
authorreroman <reroman@users.noreply.github.com>2019-01-13 17:13:11 -0600
committerحسين <zidhussein@gmail.com>2019-01-13 23:13:11 +0000
commit723a40a216fbb9530317ec377db3ce1b042623f4 (patch)
tree56e3e17c5bacb9284ababf9386a157b4ffb8c7cc /app/src/main/java
parentd09de8bbf5e1f86d518d75c161811459b34487b6 (diff)
Clipboard now is cleared with manual copy (#464)
* Clipboard now is cleared after manual copy * Spanish translation added * Spanish translations for commit messages updated * Validation of value 0 in general_show_time before start timer The clear_after_copy preference is disabled according with that value. * Like clear_after_copy, clear_clipboard_20x now depends on the value of general_show_time too
Diffstat (limited to 'app/src/main/java')
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/UserPreference.kt12
-rw-r--r--app/src/main/java/com/zeapo/pwdstore/crypto/PgpActivity.kt36
2 files changed, 31 insertions, 17 deletions
diff --git a/app/src/main/java/com/zeapo/pwdstore/UserPreference.kt b/app/src/main/java/com/zeapo/pwdstore/UserPreference.kt
index afac816a..7d1be72c 100644
--- a/app/src/main/java/com/zeapo/pwdstore/UserPreference.kt
+++ b/app/src/main/java/com/zeapo/pwdstore/UserPreference.kt
@@ -168,6 +168,16 @@ class UserPreference : AppCompatActivity() {
callingActivity.exportPasswordsWithPermissions()
true
}
+
+ findPreference("general_show_time").onPreferenceChangeListener = Preference.OnPreferenceChangeListener { _: Preference?, newValue: Any? ->
+ try {
+ findPreference("clear_after_copy").isEnabled = newValue.toString().toInt() != 0
+ findPreference("clear_clipboard_20x").isEnabled = newValue.toString().toInt() != 0
+ true
+ } catch (e: NumberFormatException) {
+ false
+ }
+ }
}
override fun onStart() {
@@ -183,6 +193,8 @@ class UserPreference : AppCompatActivity() {
)?.isNotEmpty() ?: false
findPreference("hotp_remember_clear_choice").isEnabled =
sharedPreferences.getBoolean("hotp_remember_check", false)
+ findPreference("clear_after_copy").isEnabled = sharedPreferences.getString("general_show_time", "45")?.toInt() != 0
+ findPreference("clear_clipboard_20x").isEnabled = sharedPreferences.getString("general_show_time", "45")?.toInt() != 0
val keyPref = findPreference("openpgp_key_id_pref")
val selectedKeys: Array<String> = ArrayList<String>(
sharedPreferences.getStringSet(
diff --git a/app/src/main/java/com/zeapo/pwdstore/crypto/PgpActivity.kt b/app/src/main/java/com/zeapo/pwdstore/crypto/PgpActivity.kt
index 9be1f170..9828f43a 100644
--- a/app/src/main/java/com/zeapo/pwdstore/crypto/PgpActivity.kt
+++ b/app/src/main/java/com/zeapo/pwdstore/crypto/PgpActivity.kt
@@ -612,8 +612,6 @@ class PgpActivity : AppCompatActivity(), OpenPgpServiceConnection.OnBound {
if (findViewById<TextView>(R.id.crypto_password_show) == null)
return
- setTimer()
-
val clip = ClipData.newPlainText("pgp_handler_result_pm", passwordEntry?.password)
clipboard.primaryClip = clip
@@ -624,7 +622,13 @@ class PgpActivity : AppCompatActivity(), OpenPgpServiceConnection.OnBound {
// ignore and keep default
}
- showToast(this.resources.getString(R.string.clipboard_password_toast_text, clearAfter))
+ if (settings.getBoolean("clear_after_copy", true) && clearAfter != 0) {
+ setTimer()
+ showToast(this.resources.getString(R.string.clipboard_password_toast_text, clearAfter))
+ } else {
+ showToast(this.resources.getString(R.string.clipboard_password_no_clear_toast_text))
+ }
+
}
private fun copyUsernameToClipBoard(username: String) {
@@ -743,20 +747,18 @@ class PgpActivity : AppCompatActivity(), OpenPgpServiceConnection.OnBound {
if (skip) return
checkAndIncrementHotp()
- // only clear the clipboard if we automatically copied the password to it
- if (settings.getBoolean("copy_on_decrypt", true)) {
- Log.d("DELAY_SHOW", "Clearing the clipboard")
- val clip = ClipData.newPlainText("pgp_handler_result_pm", "")
- clipboard.primaryClip = clip
- if (settings.getBoolean("clear_clipboard_20x", false)) {
- val handler = Handler()
- for (i in 0..18) {
- val count = i.toString()
- handler.postDelayed(
- { clipboard.primaryClip = ClipData.newPlainText(count, count) },
- (i * 500).toLong()
- )
- }
+ // No need to validate clear_after_copy. It was validated in copyPasswordToClipBoard()
+ Log.d("DELAY_SHOW", "Clearing the clipboard")
+ val clip = ClipData.newPlainText("pgp_handler_result_pm", "")
+ clipboard.primaryClip = clip
+ if (settings.getBoolean("clear_clipboard_20x", false)) {
+ val handler = Handler()
+ for (i in 0..18) {
+ val count = i.toString()
+ handler.postDelayed(
+ { clipboard.primaryClip = ClipData.newPlainText(count, count) },
+ (i * 500).toLong()
+ )
}
}