From 67e70e5936797eaeb7a58b6d4fef53affa03736e Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Sun, 7 Nov 2021 20:50:25 +0530 Subject: Cleanup extra content handling (#1536) * BasicBottomSheet: remove unnecessary custom background Fixes: 88c9a0d487ca ("app: refactor M3 themes and styles") * FieldItemAdapter: fix typo ClipBoard -> Clipboard * FieldItemAdapter: fix RV binding idempotency * app: refactor FieldItemAdapter population logic * DecryptActivityV2: wire in missing 'show password' toggle --- .../dev/msfjarvis/aps/ui/crypto/DecryptActivityV2.kt | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'app/src/main/java/dev/msfjarvis/aps/ui/crypto/DecryptActivityV2.kt') diff --git a/app/src/main/java/dev/msfjarvis/aps/ui/crypto/DecryptActivityV2.kt b/app/src/main/java/dev/msfjarvis/aps/ui/crypto/DecryptActivityV2.kt index 403b8191..4b49632d 100644 --- a/app/src/main/java/dev/msfjarvis/aps/ui/crypto/DecryptActivityV2.kt +++ b/app/src/main/java/dev/msfjarvis/aps/ui/crypto/DecryptActivityV2.kt @@ -20,6 +20,7 @@ import dev.msfjarvis.aps.injection.password.PasswordEntryFactory import dev.msfjarvis.aps.ui.adapters.FieldItemAdapter import dev.msfjarvis.aps.util.extensions.unsafeLazy import dev.msfjarvis.aps.util.extensions.viewBinding +import dev.msfjarvis.aps.util.settings.PreferenceKeys import java.io.ByteArrayOutputStream import java.io.File import javax.inject.Inject @@ -142,23 +143,18 @@ class DecryptActivityV2 : BasePgpActivity() { } startAutoDismissTimer() + val showPassword = settings.getBoolean(PreferenceKeys.SHOW_PASSWORD, true) val entry = passwordEntryFactory.create(lifecycleScope, result.toByteArray()) passwordEntry = entry invalidateOptionsMenu() val items = arrayListOf() - val adapter = FieldItemAdapter(emptyList(), true) { text -> copyTextToClipboard(text) } if (!entry.password.isNullOrBlank()) { items.add(FieldItem.createPasswordField(entry.password!!)) } if (entry.hasTotp()) { - lifecycleScope.launch { - items.add(FieldItem.createOtpField(entry.totp.value)) - entry.totp.collect { code -> - withContext(Dispatchers.Main) { adapter.updateOTPCode(code) } - } - } + items.add(FieldItem.createOtpField(entry.totp.value)) } if (!entry.username.isNullOrBlank()) { @@ -169,8 +165,16 @@ class DecryptActivityV2 : BasePgpActivity() { items.add(FieldItem(key, value, FieldItem.ActionType.COPY)) } + val adapter = FieldItemAdapter(items, showPassword) { text -> copyTextToClipboard(text) } binding.recyclerView.adapter = adapter - adapter.updateItems(items) + + if (entry.hasTotp()) { + lifecycleScope.launch { + entry.totp.collect { code -> + withContext(Dispatchers.Main) { adapter.updateOTPCode(code) } + } + } + } } } -- cgit v1.2.3