diff options
author | Iván Ávalos <avalos@disroot.org> | 2023-10-13 20:59:42 -0600 |
---|---|---|
committer | Iván Ávalos <avalos@disroot.org> | 2023-11-11 13:20:09 -0600 |
commit | 406b8007a62131c3c53f27a51fb128738d8c7c8b (patch) | |
tree | 16a7c0d0d7377a8481fe6cdf65524108f2975d74 | |
parent | 47372922558c4f0463c647b65332695d156b3754 (diff) | |
download | taler-android-dev/ivan-avalos/anastasis.tar.gz taler-android-dev/ivan-avalos/anastasis.tar.bz2 taler-android-dev/ivan-avalos/anastasis.zip |
[anastasis] Improve I/O for file recoverydev/ivan-avalos/anastasis
-rw-r--r-- | anastasis/src/main/java/net/taler/anastasis/ui/screens/recovery/RecoveryFinishedScreen.kt | 20 | ||||
-rw-r--r-- | anastasis/src/main/res/values/strings.xml | 1 |
2 files changed, 11 insertions, 10 deletions
diff --git a/anastasis/src/main/java/net/taler/anastasis/ui/screens/recovery/RecoveryFinishedScreen.kt b/anastasis/src/main/java/net/taler/anastasis/ui/screens/recovery/RecoveryFinishedScreen.kt index 3bc48d2..3827de0 100644 --- a/anastasis/src/main/java/net/taler/anastasis/ui/screens/recovery/RecoveryFinishedScreen.kt +++ b/anastasis/src/main/java/net/taler/anastasis/ui/screens/recovery/RecoveryFinishedScreen.kt @@ -73,11 +73,11 @@ fun RecoveryFinishedScreen( onBackClicked = { viewModel.goHome() }, showNext = false, showPrev = false, - ) { + ) { scrollConnection -> LazyColumn( modifier = Modifier .fillMaxSize() - .nestedScroll(it), + .nestedScroll(scrollConnection), horizontalAlignment = Alignment.CenterHorizontally, ) { item { @@ -127,20 +127,20 @@ fun RecoveryFinishedScreen( contract = ActivityResultContracts.CreateDocument(coreSecret.mime ?: "application/octet-stream"), onResult = { uri -> if (uri != null) { - val outputStream = context.contentResolver.openOutputStream(uri) - if (outputStream != null) { + context.contentResolver.openOutputStream(uri)?.use { try { - // TODO: we should probably listen to Java and not block - outputStream.write(CryptoUtils.decodeCrock(coreSecret.value)) - outputStream.flush() - outputStream.close() + it.write(CryptoUtils.decodeCrock(coreSecret.value)) + it.flush() Toast.makeText( context, - context.getString(R.string.recovery_file_saved), + if (coreSecret.filename != null) + context.getString(R.string.recovery_file_saved_s, coreSecret.filename) + else + context.getString(R.string.recovery_file_saved), Toast.LENGTH_SHORT, ).show() } catch (e: IOException) { - e.printStackTrace() + Log.d("RecoveryFinishedScreen", e.stackTraceToString()) } } } diff --git a/anastasis/src/main/res/values/strings.xml b/anastasis/src/main/res/values/strings.xml index 0e06931..771862e 100644 --- a/anastasis/src/main/res/values/strings.xml +++ b/anastasis/src/main/res/values/strings.xml @@ -107,4 +107,5 @@ <string name="challenge_feedback_truth_unknown">Can\'t solve challenge</string> <string name="recovery_download_file">Download file</string> <string name="recovery_file_saved">File saved</string> + <string name="recovery_file_saved_s">File %1$s saved</string> </resources>
\ No newline at end of file |