Show vault format in error message if it is not supported
This commit is contained in:
parent
0fc53f9242
commit
c19e77170a
@ -3,7 +3,6 @@ package org.cryptomator.presentation.exception
|
|||||||
import android.content.ActivityNotFoundException
|
import android.content.ActivityNotFoundException
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import org.cryptomator.cryptolib.api.InvalidPassphraseException
|
import org.cryptomator.cryptolib.api.InvalidPassphraseException
|
||||||
import org.cryptomator.cryptolib.api.UnsupportedVaultFormatException
|
|
||||||
import org.cryptomator.domain.di.PerView
|
import org.cryptomator.domain.di.PerView
|
||||||
import org.cryptomator.domain.exception.CloudAlreadyExistsException
|
import org.cryptomator.domain.exception.CloudAlreadyExistsException
|
||||||
import org.cryptomator.domain.exception.CloudNodeAlreadyExistsException
|
import org.cryptomator.domain.exception.CloudNodeAlreadyExistsException
|
||||||
@ -54,7 +53,6 @@ class ExceptionHandlers @Inject constructor(private val context: Context, defaul
|
|||||||
staticHandler(HashMismatchUpdateCheckException::class.java, R.string.error_hash_mismatch_update)
|
staticHandler(HashMismatchUpdateCheckException::class.java, R.string.error_hash_mismatch_update)
|
||||||
staticHandler(GeneralUpdateErrorException::class.java, R.string.error_general_update)
|
staticHandler(GeneralUpdateErrorException::class.java, R.string.error_general_update)
|
||||||
staticHandler(SSLHandshakePreAndroid5UpdateCheckException::class.java, R.string.error_general_update)
|
staticHandler(SSLHandshakePreAndroid5UpdateCheckException::class.java, R.string.error_general_update)
|
||||||
staticHandler(UnsupportedVaultFormatException::class.java, R.string.error_vault_version_not_supported)
|
|
||||||
staticHandler(
|
staticHandler(
|
||||||
MissingVaultConfigFileException::class.java, String.format(
|
MissingVaultConfigFileException::class.java, String.format(
|
||||||
ResourceHelper.getString(R.string.error_vault_config_file_missing_due_to_format_999),
|
ResourceHelper.getString(R.string.error_vault_config_file_missing_due_to_format_999),
|
||||||
@ -82,6 +80,7 @@ class ExceptionHandlers @Inject constructor(private val context: Context, defaul
|
|||||||
exceptionHandlers.add(CancellationExceptionHandler())
|
exceptionHandlers.add(CancellationExceptionHandler())
|
||||||
exceptionHandlers.add(NoSuchVaultExceptionHandler())
|
exceptionHandlers.add(NoSuchVaultExceptionHandler())
|
||||||
exceptionHandlers.add(PermissionNotGrantedExceptionHandler())
|
exceptionHandlers.add(PermissionNotGrantedExceptionHandler())
|
||||||
|
exceptionHandlers.add(UnsupportedVaultFormatExceptionHandler())
|
||||||
}
|
}
|
||||||
|
|
||||||
fun handle(view: View, e: Throwable) {
|
fun handle(view: View, e: Throwable) {
|
||||||
|
@ -0,0 +1,19 @@
|
|||||||
|
package org.cryptomator.presentation.exception
|
||||||
|
|
||||||
|
import org.cryptomator.cryptolib.api.UnsupportedVaultFormatException
|
||||||
|
import org.cryptomator.presentation.R
|
||||||
|
import org.cryptomator.presentation.ui.activity.view.View
|
||||||
|
import org.cryptomator.presentation.util.ResourceHelper.Companion.getString
|
||||||
|
import org.cryptomator.util.ExceptionUtil
|
||||||
|
|
||||||
|
class UnsupportedVaultFormatExceptionHandler : ExceptionHandler() {
|
||||||
|
|
||||||
|
override fun supports(e: Throwable): Boolean {
|
||||||
|
return ExceptionUtil.contains(e, UnsupportedVaultFormatException::class.java)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun doHandle(view: View, e: Throwable) {
|
||||||
|
val detectedFormat = ExceptionUtil.extract(e, UnsupportedVaultFormatException::class.java).get().detectedVersion
|
||||||
|
view.showError(String.format(getString(R.string.error_vault_version_not_supported), detectedFormat))
|
||||||
|
}
|
||||||
|
}
|
@ -17,7 +17,7 @@
|
|||||||
<string name="error_no_network_connection">No network connection</string>
|
<string name="error_no_network_connection">No network connection</string>
|
||||||
<string name="error_invalid_passphrase">Wrong password</string>
|
<string name="error_invalid_passphrase">Wrong password</string>
|
||||||
<string name="error_file_or_folder_exists">A file or folder already exists.</string>
|
<string name="error_file_or_folder_exists">A file or folder already exists.</string>
|
||||||
<string name="error_vault_version_not_supported">Unsupported vault. This vault has been created with another version of Cryptomator.</string>
|
<string name="error_vault_version_not_supported">Vault version %1$s is unsupported. This vault has been created with an older or newer version of Cryptomator.</string>
|
||||||
<string name="error_vault_config_file_missing_due_to_format_999">%1$s file is missing in your vault folder. Make sure that this file exists in your vault folder in the cloud.</string>
|
<string name="error_vault_config_file_missing_due_to_format_999">%1$s file is missing in your vault folder. Make sure that this file exists in your vault folder in the cloud.</string>
|
||||||
<string name="error_vault_already_exists">Vault already exists.</string>
|
<string name="error_vault_already_exists">Vault already exists.</string>
|
||||||
<string name="error_no_such_file">File does not exist.</string>
|
<string name="error_no_such_file">File does not exist.</string>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user