Show beta disclaimer dialogue

This commit is contained in:
Julian Raufelder 2021-07-09 19:13:38 +02:00
parent 6090d898ef
commit bed3f3ac04
No known key found for this signature in database
GPG Key ID: 17EE71F6634E381D
7 changed files with 35 additions and 9 deletions

View File

@ -78,7 +78,7 @@ android {
}
greendao {
schemaVersion 8
schemaVersion 9
}
configurations.all {

View File

@ -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<DatabaseUpgrade> reverseOrder() {

View File

@ -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)
}
}

View File

@ -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()
}

View File

@ -213,6 +213,6 @@ class VaultListActivity : BaseActivity(), //
}
override fun onAskForBetaConfirmationFinished() {
sharedPreferencesHandler.setBetaScreenDialogAlreadyShown()
sharedPreferencesHandler.setBetaScreenDialogAlreadyShown(true)
}
}

View File

@ -465,8 +465,8 @@
<string name="dialog_no_dir_file_message">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>
<string name="dialog_no_dir_file_back_button" translatable="false">@string/dialog_sym_link_back_button</string>
<string name="dialog_beta_confirmation_title">Beta release</string>
<string name="dialog_beta_confirmation">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.</string>
<string name="dialog_beta_confirmation_title" translatable="false">Beta release</string>
<string name="dialog_beta_confirmation" translatable="false">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.</string>
<string name="dialog_no_more_images_to_display">No more images to display&#8230;</string>

View File

@ -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)