@@ -36,6 +36,7 @@ import com.owncloud.android.lib.resources.users.GetPublicKeyRemoteOperation
3636import com.owncloud.android.lib.resources.users.GetServerPublicKeyRemoteOperation
3737import com.owncloud.android.lib.resources.users.SendCSRRemoteOperation
3838import com.owncloud.android.lib.resources.users.StorePrivateKeyRemoteOperation
39+ import com.owncloud.android.utils.ClipboardUtil
3940import com.owncloud.android.utils.DisplayUtils
4041import com.owncloud.android.utils.EncryptionUtils
4142import 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 ) {
0 commit comments