diff --git a/data/build.gradle b/data/build.gradle index fefdbf88..f05ad66c 100644 --- a/data/build.gradle +++ b/data/build.gradle @@ -78,7 +78,7 @@ android { } greendao { - schemaVersion 8 + schemaVersion 9 } configurations.all { diff --git a/data/src/main/java/org/cryptomator/data/db/DatabaseUpgrades.java b/data/src/main/java/org/cryptomator/data/db/DatabaseUpgrades.java index dc1c1d70..3b6ef827 100644 --- a/data/src/main/java/org/cryptomator/data/db/DatabaseUpgrades.java +++ b/data/src/main/java/org/cryptomator/data/db/DatabaseUpgrades.java @@ -26,7 +26,8 @@ class DatabaseUpgrades { Upgrade4To5 upgrade4To5, // Upgrade5To6 upgrade5To6, // Upgrade6To7 upgrade6To7, // - Upgrade7To8 upgrade7To8) { + Upgrade7To8 upgrade7To8, // + Upgrade8To9 upgrade8To9) { availableUpgrades = defineUpgrades( // upgrade0To1, // @@ -36,7 +37,8 @@ class DatabaseUpgrades { upgrade4To5, // upgrade5To6, // upgrade6To7, // - upgrade7To8); + upgrade7To8, // + upgrade8To9); } private static Comparator reverseOrder() { diff --git a/data/src/main/java/org/cryptomator/data/db/Upgrade8To9.kt b/data/src/main/java/org/cryptomator/data/db/Upgrade8To9.kt new file mode 100644 index 00000000..a3fa283b --- /dev/null +++ b/data/src/main/java/org/cryptomator/data/db/Upgrade8To9.kt @@ -0,0 +1,15 @@ +package org.cryptomator.data.db + +import org.cryptomator.util.SharedPreferencesHandler +import org.greenrobot.greendao.database.Database +import javax.inject.Inject +import javax.inject.Singleton + +@Singleton +internal class Upgrade8To9 @Inject constructor(private val sharedPreferencesHandler: SharedPreferencesHandler) : DatabaseUpgrade(8, 9) { + + override fun internalApplyTo(db: Database, origin: Int) { + // toggle beta screen dialog already shown to display it again in this beta + sharedPreferencesHandler.setBetaScreenDialogAlreadyShown(false) + } +} diff --git a/presentation/src/main/java/org/cryptomator/presentation/presenter/VaultListPresenter.kt b/presentation/src/main/java/org/cryptomator/presentation/presenter/VaultListPresenter.kt index 37a44667..4aa9cd14 100644 --- a/presentation/src/main/java/org/cryptomator/presentation/presenter/VaultListPresenter.kt +++ b/presentation/src/main/java/org/cryptomator/presentation/presenter/VaultListPresenter.kt @@ -46,6 +46,7 @@ import org.cryptomator.presentation.ui.activity.LicenseCheckActivity import org.cryptomator.presentation.ui.activity.view.VaultListView import org.cryptomator.presentation.ui.dialog.AppIsObscuredInfoDialog import org.cryptomator.presentation.ui.dialog.AskForLockScreenDialog +import org.cryptomator.presentation.ui.dialog.BetaConfirmationDialog import org.cryptomator.presentation.ui.dialog.EnterPasswordDialog import org.cryptomator.presentation.ui.dialog.UpdateAppAvailableDialog import org.cryptomator.presentation.ui.dialog.UpdateAppDialog @@ -102,6 +103,11 @@ class VaultListPresenter @Inject constructor( // } sharedPreferencesHandler.setScreenLockDialogAlreadyShown() } + + if (!sharedPreferencesHandler.isBetaModeAlreadyShown()) { + view?.showDialog(BetaConfirmationDialog.newInstance()); + } + checkLicense() } diff --git a/presentation/src/main/java/org/cryptomator/presentation/ui/activity/VaultListActivity.kt b/presentation/src/main/java/org/cryptomator/presentation/ui/activity/VaultListActivity.kt index 3b5e8bd7..2f471092 100644 --- a/presentation/src/main/java/org/cryptomator/presentation/ui/activity/VaultListActivity.kt +++ b/presentation/src/main/java/org/cryptomator/presentation/ui/activity/VaultListActivity.kt @@ -213,6 +213,6 @@ class VaultListActivity : BaseActivity(), // } override fun onAskForBetaConfirmationFinished() { - sharedPreferencesHandler.setBetaScreenDialogAlreadyShown() + sharedPreferencesHandler.setBetaScreenDialogAlreadyShown(true) } } diff --git a/presentation/src/main/res/values/strings.xml b/presentation/src/main/res/values/strings.xml index f548f703..6b98b954 100644 --- a/presentation/src/main/res/values/strings.xml +++ b/presentation/src/main/res/values/strings.xml @@ -465,8 +465,8 @@ Cloud folder \'%1$s\' doesn\'t have a directory file. It could be that the folder was created on another device and has not yet been fully synchronized to the cloud. Please check in your cloud if the following file exists:\n%2$s @string/dialog_sym_link_back_button - Beta release - This is a beta release which introduces the support of vault format 7. Please make sure that you don\'t use your production vault for testing or have a good backup strategy. + Beta release + This is a beta release which introduces the support of vault format 8. Please make sure that you don\'t use your production vault for testing or have a good backup strategy. No more images to display… diff --git a/util/src/main/java/org/cryptomator/util/SharedPreferencesHandler.kt b/util/src/main/java/org/cryptomator/util/SharedPreferencesHandler.kt index 5bc32de3..cff1080c 100644 --- a/util/src/main/java/org/cryptomator/util/SharedPreferencesHandler.kt +++ b/util/src/main/java/org/cryptomator/util/SharedPreferencesHandler.kt @@ -92,11 +92,14 @@ constructor(context: Context) : SharedPreferences.OnSharedPreferenceChangeListen .setValue(SCREEN_LOCK_DIALOG_SHOWN, true) } - fun setBetaScreenDialogAlreadyShown() { - defaultSharedPreferences // - .setValue(SCREEN_BETA_DIALOG_SHOWN, true) + fun isBetaModeAlreadyShown(): Boolean { + return defaultSharedPreferences.getValue(SCREEN_BETA_DIALOG_SHOWN, true) } + fun setBetaScreenDialogAlreadyShown(value: Boolean) { + defaultSharedPreferences // + .setValue(SCREEN_BETA_DIALOG_SHOWN, value) + } fun useBiometricAuthentication(): Boolean { return defaultSharedPreferences.getValue(USE_BIOMETRIC_AUTHENTICATION, false)