diff --git a/app/src/main/java/com/kunzisoft/keepass/database/action/SaveDatabaseRunnable.kt b/app/src/main/java/com/kunzisoft/keepass/database/action/SaveDatabaseRunnable.kt index 79f165a63..d3b167297 100644 --- a/app/src/main/java/com/kunzisoft/keepass/database/action/SaveDatabaseRunnable.kt +++ b/app/src/main/java/com/kunzisoft/keepass/database/action/SaveDatabaseRunnable.kt @@ -51,8 +51,10 @@ open class SaveDatabaseRunnable( // Build temp database file to avoid file corruption if error database.saveData( cacheFile = File(context.cacheDir, databaseCopyUri.hashCode().toString()), - databaseOutputStream = contentResolver - .getUriOutputStream(databaseCopyUri ?: database.fileUri), + databaseOutputStream = { + contentResolver + .getUriOutputStream(databaseCopyUri ?: database.fileUri) + }, isNewLocation = databaseCopyUri == null, mainCredential?.toMasterCredential(contentResolver), challengeResponseRetriever) diff --git a/app/src/main/java/com/kunzisoft/keepass/services/DatabaseTaskNotificationService.kt b/app/src/main/java/com/kunzisoft/keepass/services/DatabaseTaskNotificationService.kt index ee1987454..059c6430c 100644 --- a/app/src/main/java/com/kunzisoft/keepass/services/DatabaseTaskNotificationService.kt +++ b/app/src/main/java/com/kunzisoft/keepass/services/DatabaseTaskNotificationService.kt @@ -273,13 +273,6 @@ open class DatabaseTaskNotificationService : LockNotificationService(), Progress val responseChannel = mResponseChallengeChannel if (responseChannel == null || responseChannel.isEmpty) { if (response.isEmpty()) { - Toast.makeText( - this@DatabaseTaskNotificationService, - getString( - R.string.error_action_empty_response_from_challenge), - Toast.LENGTH_LONG - ).show() - mResponseChallengeChannel?.send(response) cancelChallengeResponse(R.string.error_no_response_from_challenge) } else { mResponseChallengeChannel?.send(response) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index ccf6d30e0..312c91819 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -204,7 +204,6 @@ "Challenge already requested" Response already provided. Unable to get the response from the challenge. - WARNING : Action performed with an empty challenge response. Cancelled by user. Driver for %1$s is required. Unable to merge from a database V1. diff --git a/database/src/main/java/com/kunzisoft/keepass/database/element/Database.kt b/database/src/main/java/com/kunzisoft/keepass/database/element/Database.kt index 2363db339..9d42744c9 100644 --- a/database/src/main/java/com/kunzisoft/keepass/database/element/Database.kt +++ b/database/src/main/java/com/kunzisoft/keepass/database/element/Database.kt @@ -779,7 +779,7 @@ open class Database { @Throws(DatabaseOutputException::class) fun saveData( cacheFile: File, - databaseOutputStream: OutputStream?, + databaseOutputStream: () -> OutputStream?, isNewLocation: Boolean, masterCredential: MasterCredential?, challengeResponseRetriever: (HardwareKey, ByteArray?) -> ByteArray @@ -820,7 +820,7 @@ open class Database { } } // Copy from the cache to the final stream - databaseOutputStream?.use { outputStream -> + databaseOutputStream.invoke()?.use { outputStream -> cacheFile.inputStream().use { inputStream -> inputStream.readAllBytes { buffer -> outputStream.write(buffer)