diff --git a/app/src/main/java/app/passwordstore/ui/crypto/BasePGPActivity.kt b/app/src/main/java/app/passwordstore/ui/crypto/BasePGPActivity.kt index 10ac4e482..6529826c6 100644 --- a/app/src/main/java/app/passwordstore/ui/crypto/BasePGPActivity.kt +++ b/app/src/main/java/app/passwordstore/ui/crypto/BasePGPActivity.kt @@ -113,7 +113,7 @@ open class BasePGPActivity : AppCompatActivity() { if (result.resultCode == RESULT_OK) { val data = result.data ?: return@registerForActivityResult val selectedKeyId = - data.getStringExtra(PGPKeyListActivity.EXTRA_SELECTED_KEY) + data.getLongArrayExtra(PGPKeyListActivity.EXTRA_SELECTED_KEY) ?: return@registerForActivityResult val repoRoot = PasswordRepository.getRepositoryDirectory() @@ -123,7 +123,7 @@ open class BasePGPActivity : AppCompatActivity() { File(repoRoot, subPath).let { if (it.isFile()) it.getParent() else it.getPath() } File(gpgIdDir, ".gpg-id")?.let { - it.writeText(selectedKeyId + "\n") + it.writeText(selectedKeyId.joinToString("\n") + "\n") runBlocking { commitChange( resources.getString( diff --git a/app/src/main/java/app/passwordstore/ui/dialogs/FolderCreationDialogFragment.kt b/app/src/main/java/app/passwordstore/ui/dialogs/FolderCreationDialogFragment.kt index 0c34e288c..bdd4c1cf7 100644 --- a/app/src/main/java/app/passwordstore/ui/dialogs/FolderCreationDialogFragment.kt +++ b/app/src/main/java/app/passwordstore/ui/dialogs/FolderCreationDialogFragment.kt @@ -39,10 +39,10 @@ class FolderCreationDialogFragment : DialogFragment() { if (result.resultCode == AppCompatActivity.RESULT_OK) { val data = result.data ?: return@registerForActivityResult val selectedKeyId = - data.getStringExtra(PGPKeyListActivity.EXTRA_SELECTED_KEY) + data.getLongArrayExtra(PGPKeyListActivity.EXTRA_SELECTED_KEY) ?: return@registerForActivityResult val gpgIdentifierFile = File(newFolder, ".gpg-id") - gpgIdentifierFile.writeText(selectedKeyId + "\n") + gpgIdentifierFile.writeText(selectedKeyId.joinToString("\n") + "\n") runBlocking { requireActivity() .commitChange(getString(R.string.git_commit_gpg_id, getString(R.string.app_name))) diff --git a/app/src/main/java/app/passwordstore/ui/onboarding/fragments/KeySelectionFragment.kt b/app/src/main/java/app/passwordstore/ui/onboarding/fragments/KeySelectionFragment.kt index de18a6b98..6b69e1a7d 100644 --- a/app/src/main/java/app/passwordstore/ui/onboarding/fragments/KeySelectionFragment.kt +++ b/app/src/main/java/app/passwordstore/ui/onboarding/fragments/KeySelectionFragment.kt @@ -41,11 +41,11 @@ class KeySelectionFragment : Fragment(R.layout.fragment_key_selection) { if (result.resultCode == AppCompatActivity.RESULT_OK) { val data = result.data ?: return@registerForActivityResult val selectedKeyId = - data.getStringExtra(PGPKeyListActivity.EXTRA_SELECTED_KEY) + data.getLongArrayExtra(PGPKeyListActivity.EXTRA_SELECTED_KEY) ?: return@registerForActivityResult lifecycleScope.launch { val gpgIdentifierFile = File(PasswordRepository.getRepositoryDirectory(), ".gpg-id") - gpgIdentifierFile.writeText(selectedKeyId + "\n") + gpgIdentifierFile.writeText(selectedKeyId.joinToString("\n") + "\n") settings.edit { putBoolean(PreferenceKeys.REPOSITORY_INITIALIZED, true) } requireActivity() .commitChange(getString(R.string.git_commit_gpg_id, getString(R.string.app_name))) diff --git a/app/src/main/java/app/passwordstore/ui/passwords/PasswordStore.kt b/app/src/main/java/app/passwordstore/ui/passwords/PasswordStore.kt index 13444beeb..fc22eacbd 100644 --- a/app/src/main/java/app/passwordstore/ui/passwords/PasswordStore.kt +++ b/app/src/main/java/app/passwordstore/ui/passwords/PasswordStore.kt @@ -87,10 +87,10 @@ class PasswordStore : BaseGitActivity() { if (result.resultCode == AppCompatActivity.RESULT_OK) { val data = result.data ?: return@registerForActivityResult val selectedKeyId = - data.getStringExtra(PGPKeyListActivity.EXTRA_SELECTED_KEY) + data.getLongArrayExtra(PGPKeyListActivity.EXTRA_SELECTED_KEY) ?: return@registerForActivityResult val gpgIdentifierFile = File(currentDir.absolutePath, ".gpg-id") - gpgIdentifierFile.writeText(selectedKeyId + "\n") + gpgIdentifierFile.writeText(selectedKeyId.joinToString("\n") + "\n") runBlocking { commitChange(getString(R.string.git_commit_gpg_id, getString(R.string.app_name))) } diff --git a/app/src/main/java/app/passwordstore/ui/pgp/PGPKeyListActivity.kt b/app/src/main/java/app/passwordstore/ui/pgp/PGPKeyListActivity.kt index af2d42c4e..6e00d1412 100644 --- a/app/src/main/java/app/passwordstore/ui/pgp/PGPKeyListActivity.kt +++ b/app/src/main/java/app/passwordstore/ui/pgp/PGPKeyListActivity.kt @@ -92,7 +92,7 @@ class PGPKeyListActivity : AppCompatActivity() { super.onCreate(savedInstanceState) val isSelectingKeys = intent.extras?.getBoolean(EXTRA_KEY_SELECTION) ?: false - val selectedKeyIds = mutableSetOf() + val selectedKeyIds = mutableSetOf() supportFragmentManager.setFragmentResultListener(PGP_KEY_ADD_REQUEST_KEY, this) { _, bundle -> when (bundle.getString(ACTION_KEY)) { @@ -119,7 +119,7 @@ class PGPKeyListActivity : AppCompatActivity() { onNavigationIconClick = { if (isSelectingKeys && selectedKeyIds.isNotEmpty()) { val result = Intent() - result.putExtra(EXTRA_SELECTED_KEY, selectedKeyIds.joinToString(separator = "\n")) + result.putExtra(EXTRA_SELECTED_KEY, selectedKeyIds.toTypedArray()) val gpgIdDest = intent.getStringExtra("SUB_PATH") gpgIdDest?.let { result.putExtra("SUB_PATH", it) } setResult(RESULT_OK, result) @@ -159,8 +159,7 @@ class PGPKeyListActivity : AppCompatActivity() { val key = pgpKeyManager.getKeyById(identifier).getOrThrow() KeyUtils.tryGetKeyId(key) ?: throw NullPointerException() } - if (isSelected) selectedKeyIds.add(keyId.toString()) - else selectedKeyIds.remove(keyId.toString()) + if (isSelected) selectedKeyIds.add(keyId.id) else selectedKeyIds.remove(keyId.id) } } else null, )