Skip to content

Commit 92209aa

Browse files
Merge pull request #17312 from nextcloud/e2ee/copy-passphrase-debug
feat(setup-encryption-dialog): debug copy button
2 parents 347d3c1 + fcf0e76 commit 92209aa

2 files changed

Lines changed: 26 additions & 0 deletions

File tree

app/src/main/java/com/owncloud/android/ui/dialog/setupEncryption/SetupEncryptionDialogFragment.kt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ import com.owncloud.android.lib.resources.users.GetPublicKeyRemoteOperation
3636
import com.owncloud.android.lib.resources.users.GetServerPublicKeyRemoteOperation
3737
import com.owncloud.android.lib.resources.users.SendCSRRemoteOperation
3838
import com.owncloud.android.lib.resources.users.StorePrivateKeyRemoteOperation
39+
import com.owncloud.android.utils.ClipboardUtil
3940
import com.owncloud.android.utils.DisplayUtils
4041
import com.owncloud.android.utils.EncryptionUtils
4142
import com.owncloud.android.utils.crypto.CryptoHelper
@@ -243,6 +244,7 @@ class SetupEncryptionDialogFragment :
243244
}
244245

245246
private fun generateKey() {
247+
binding.copyPassphraseButton.visibility = View.GONE
246248
binding.encryptionPassphrase.visibility = View.GONE
247249
positiveButton?.visibility = View.GONE
248250
negativeButton?.visibility = View.GONE
@@ -505,6 +507,8 @@ class SetupEncryptionDialogFragment :
505507
binding.encryptionPassphrase.text = generateMnemonicString(true)
506508
binding.encryptionPassphrase.visibility = View.VISIBLE
507509

510+
setupCopyPassphraseButton()
511+
508512
positiveButton?.setText(R.string.end_to_end_encryption_confirm_button)
509513
positiveButton?.visibility = View.VISIBLE
510514
negativeButton?.visibility = View.VISIBLE
@@ -518,6 +522,17 @@ class SetupEncryptionDialogFragment :
518522
keyResult = KEY_GENERATE
519523
}
520524

525+
private fun setupCopyPassphraseButton() {
526+
if (!BuildConfig.DEBUG) {
527+
return
528+
}
529+
530+
binding.copyPassphraseButton.visibility = View.VISIBLE
531+
binding.copyPassphraseButton.setOnClickListener {
532+
ClipboardUtil.copyToClipboard(requireActivity(), binding.encryptionPassphrase.text.toString())
533+
}
534+
}
535+
521536
@VisibleForTesting
522537
fun errorSavingKeys() {
523538
if (dialog == null) {

app/src/main/res/layout/setup_encryption_dialog.xml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,17 @@
3636
tools:text="@string/placeholder_passphrase"
3737
tools:visibility="visible" />
3838

39+
<com.google.android.material.button.MaterialButton
40+
android:id="@+id/copy_passphrase_button"
41+
style="@style/Widget.Material3.Button.TextButton"
42+
android:layout_width="wrap_content"
43+
android:layout_height="wrap_content"
44+
android:layout_gravity="end"
45+
android:text="@string/common_copy"
46+
app:icon="@drawable/ic_content_copy"
47+
android:visibility="gone"
48+
tools:visibility="visible" />
49+
3950
<com.google.android.material.progressindicator.LinearProgressIndicator
4051
android:id="@+id/progressBar"
4152
android:layout_width="match_parent"

0 commit comments

Comments
 (0)