Update APK variant daily by default when running or never when disabled
Remove weekly (the old default) and migrate to daily
This commit is contained in:
parent
63daefdcb1
commit
0ff8ac3cb5
@ -82,7 +82,7 @@ android {
|
||||
}
|
||||
|
||||
greendao {
|
||||
schemaVersion 11
|
||||
schemaVersion 12
|
||||
}
|
||||
|
||||
configurations.all {
|
||||
|
@ -580,4 +580,66 @@ class UpgradeDatabaseTest {
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun upgrade11To12IfOldDefaultSet() {
|
||||
Upgrade0To1().applyTo(db, 0)
|
||||
Upgrade1To2().applyTo(db, 1)
|
||||
Upgrade2To3(context).applyTo(db, 2)
|
||||
Upgrade3To4().applyTo(db, 3)
|
||||
Upgrade4To5().applyTo(db, 4)
|
||||
Upgrade5To6().applyTo(db, 5)
|
||||
Upgrade6To7().applyTo(db, 6)
|
||||
Upgrade7To8().applyTo(db, 7)
|
||||
Upgrade8To9(sharedPreferencesHandler).applyTo(db, 8)
|
||||
Upgrade9To10(sharedPreferencesHandler).applyTo(db, 9)
|
||||
Upgrade10To11().applyTo(db, 10)
|
||||
|
||||
sharedPreferencesHandler.setUpdateIntervalInDays(Optional.of(7))
|
||||
|
||||
Upgrade11To12(sharedPreferencesHandler).applyTo(db, 11)
|
||||
|
||||
Assert.assertThat(sharedPreferencesHandler.updateIntervalInDays(), CoreMatchers.`is`(Optional.of(1)))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun upgrade11To12MonthlySet() {
|
||||
Upgrade0To1().applyTo(db, 0)
|
||||
Upgrade1To2().applyTo(db, 1)
|
||||
Upgrade2To3(context).applyTo(db, 2)
|
||||
Upgrade3To4().applyTo(db, 3)
|
||||
Upgrade4To5().applyTo(db, 4)
|
||||
Upgrade5To6().applyTo(db, 5)
|
||||
Upgrade6To7().applyTo(db, 6)
|
||||
Upgrade7To8().applyTo(db, 7)
|
||||
Upgrade8To9(sharedPreferencesHandler).applyTo(db, 8)
|
||||
Upgrade9To10(sharedPreferencesHandler).applyTo(db, 9)
|
||||
Upgrade10To11().applyTo(db, 10)
|
||||
|
||||
sharedPreferencesHandler.setUpdateIntervalInDays(Optional.of(30))
|
||||
|
||||
Upgrade11To12(sharedPreferencesHandler).applyTo(db, 11)
|
||||
|
||||
Assert.assertThat(sharedPreferencesHandler.updateIntervalInDays(), CoreMatchers.`is`(Optional.of(1)))
|
||||
}
|
||||
|
||||
@Test
|
||||
fun upgrade11To12MonthlyNever() {
|
||||
Upgrade0To1().applyTo(db, 0)
|
||||
Upgrade1To2().applyTo(db, 1)
|
||||
Upgrade2To3(context).applyTo(db, 2)
|
||||
Upgrade3To4().applyTo(db, 3)
|
||||
Upgrade4To5().applyTo(db, 4)
|
||||
Upgrade5To6().applyTo(db, 5)
|
||||
Upgrade6To7().applyTo(db, 6)
|
||||
Upgrade7To8().applyTo(db, 7)
|
||||
Upgrade8To9(sharedPreferencesHandler).applyTo(db, 8)
|
||||
Upgrade9To10(sharedPreferencesHandler).applyTo(db, 9)
|
||||
Upgrade10To11().applyTo(db, 10)
|
||||
|
||||
sharedPreferencesHandler.setUpdateIntervalInDays(Optional.absent())
|
||||
|
||||
Upgrade11To12(sharedPreferencesHandler).applyTo(db, 11)
|
||||
|
||||
Assert.assertThat(sharedPreferencesHandler.updateIntervalInDays(), CoreMatchers.`is`(Optional.absent()))
|
||||
}
|
||||
}
|
||||
|
@ -29,7 +29,8 @@ class DatabaseUpgrades {
|
||||
Upgrade7To8 upgrade7To8, //
|
||||
Upgrade8To9 upgrade8To9, //
|
||||
Upgrade9To10 upgrade9To10, //
|
||||
Upgrade10To11 upgrade10To11
|
||||
Upgrade10To11 upgrade10To11, //
|
||||
Upgrade11To12 upgrade11To12
|
||||
) {
|
||||
|
||||
availableUpgrades = defineUpgrades( //
|
||||
@ -43,7 +44,8 @@ class DatabaseUpgrades {
|
||||
upgrade7To8, //
|
||||
upgrade8To9, //
|
||||
upgrade9To10, //
|
||||
upgrade10To11);
|
||||
upgrade10To11, //
|
||||
upgrade11To12);
|
||||
}
|
||||
|
||||
private Map<Integer, List<DatabaseUpgrade>> defineUpgrades(DatabaseUpgrade... upgrades) {
|
||||
|
17
data/src/main/java/org/cryptomator/data/db/Upgrade11To12.kt
Normal file
17
data/src/main/java/org/cryptomator/data/db/Upgrade11To12.kt
Normal file
@ -0,0 +1,17 @@
|
||||
package org.cryptomator.data.db
|
||||
|
||||
import com.google.common.base.Optional
|
||||
import org.cryptomator.util.SharedPreferencesHandler
|
||||
import org.greenrobot.greendao.database.Database
|
||||
import javax.inject.Inject
|
||||
import javax.inject.Singleton
|
||||
|
||||
@Singleton
|
||||
internal class Upgrade11To12 @Inject constructor(private val sharedPreferencesHandler: SharedPreferencesHandler) : DatabaseUpgrade(11, 12) {
|
||||
|
||||
override fun internalApplyTo(db: Database, origin: Int) {
|
||||
when (sharedPreferencesHandler.updateIntervalInDays()) {
|
||||
Optional.of(7), Optional.of(30) -> sharedPreferencesHandler.setUpdateIntervalInDays(Optional.of(1))
|
||||
}
|
||||
}
|
||||
}
|
@ -44,14 +44,10 @@
|
||||
</string-array>
|
||||
<string-array name="update_interval_entries">
|
||||
<item>@string/update_interval_1d</item>
|
||||
<item>@string/update_interval_1w</item>
|
||||
<item>@string/update_interval_1m</item>
|
||||
<item>@string/update_interval_never</item>
|
||||
</string-array>
|
||||
<string-array name="update_interval_values">
|
||||
<item>1</item>
|
||||
<item>7</item>
|
||||
<item>30</item>
|
||||
<item>Never</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
|
@ -600,8 +600,6 @@
|
||||
|
||||
<!-- update interval names -->
|
||||
<string name="update_interval_1d">Once a day</string>
|
||||
<string name="update_interval_1w">Once a week</string>
|
||||
<string name="update_interval_1m">Once a month</string>
|
||||
<string name="update_interval_never" translatable="false">@string/lock_timeout_never</string>
|
||||
|
||||
</resources>
|
||||
|
@ -244,7 +244,7 @@
|
||||
android:title="@string/app_name" />
|
||||
|
||||
<ListPreference
|
||||
android:defaultValue="7"
|
||||
android:defaultValue="1"
|
||||
android:dialogTitle="@string/dialog_settings_update_check_interval_title"
|
||||
android:entries="@array/update_interval_entries"
|
||||
android:entryValues="@array/update_interval_values"
|
||||
|
@ -190,8 +190,8 @@ constructor(context: Context) : SharedPreferences.OnSharedPreferenceChangeListen
|
||||
return defaultSharedPreferences.getBoolean(KEEP_UNLOCKED_WHILE_EDITING, false)
|
||||
}
|
||||
|
||||
private fun updateIntervalInDays(): Optional<Int> {
|
||||
val updateInterval = defaultSharedPreferences.getValue(UPDATE_INTERVAL, "7")
|
||||
fun updateIntervalInDays(): Optional<Int> {
|
||||
val updateInterval = defaultSharedPreferences.getValue(UPDATE_INTERVAL, "1")
|
||||
|
||||
if (updateInterval == "Never") {
|
||||
return Optional.absent()
|
||||
@ -200,6 +200,12 @@ constructor(context: Context) : SharedPreferences.OnSharedPreferenceChangeListen
|
||||
return Optional.of(Integer.parseInt(updateInterval))
|
||||
}
|
||||
|
||||
fun setUpdateIntervalInDays(days: Optional<Int>) = if (days.isPresent) {
|
||||
defaultSharedPreferences.setValue(UPDATE_INTERVAL, days.get().toString())
|
||||
} else {
|
||||
defaultSharedPreferences.setValue(UPDATE_INTERVAL, "Never")
|
||||
}
|
||||
|
||||
fun lastUpdateCheck(): Date? {
|
||||
val date = defaultSharedPreferences.getString(LAST_UPDATE_CHECK, "")
|
||||
if (date.isNullOrEmpty()) {
|
||||
@ -254,7 +260,7 @@ constructor(context: Context) : SharedPreferences.OnSharedPreferenceChangeListen
|
||||
fun vaultsRemovedDuringMigration(): Pair<String, List<String>>? {
|
||||
val vaultsRemovedDuringMigrationType = defaultSharedPreferences.getString(VAULTS_REMOVED_DURING_MIGRATION_TYPE, null)
|
||||
val vaultsRemovedDuringMigration = defaultSharedPreferences.getString(VAULTS_REMOVED_DURING_MIGRATION, null)
|
||||
return if(vaultsRemovedDuringMigrationType != null && vaultsRemovedDuringMigration != null) {
|
||||
return if (vaultsRemovedDuringMigrationType != null && vaultsRemovedDuringMigration != null) {
|
||||
Pair(vaultsRemovedDuringMigrationType, ArrayList(vaultsRemovedDuringMigration.split(',')))
|
||||
} else {
|
||||
null
|
||||
|
Loading…
x
Reference in New Issue
Block a user