summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIván Ávalos <avalos@disroot.org>2023-10-13 20:59:42 -0600
committerIván Ávalos <avalos@disroot.org>2023-11-11 13:20:09 -0600
commit406b8007a62131c3c53f27a51fb128738d8c7c8b (patch)
tree16a7c0d0d7377a8481fe6cdf65524108f2975d74
parent47372922558c4f0463c647b65332695d156b3754 (diff)
downloadtaler-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.kt20
-rw-r--r--anastasis/src/main/res/values/strings.xml1
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