forked from github/wulkanowy-mirror
Add 0,00 grade modifier (#596)
This commit is contained in:
parent
24f605c71c
commit
41aa326f42
@ -11,6 +11,8 @@ import dagger.android.AndroidInjector
|
||||
import dagger.android.support.DaggerApplication
|
||||
import eu.davidea.flexibleadapter.FlexibleAdapter
|
||||
import eu.davidea.flexibleadapter.utils.Log
|
||||
import io.github.wulkanowy.data.db.SharedPrefProvider
|
||||
import io.github.wulkanowy.data.db.SharedPrefProvider.Companion.APP_VERSION_CODE_KEY
|
||||
import io.github.wulkanowy.di.DaggerAppComponent
|
||||
import io.github.wulkanowy.services.sync.SyncWorkerFactory
|
||||
import io.github.wulkanowy.ui.base.ThemeManager
|
||||
@ -33,6 +35,9 @@ class WulkanowyApp : DaggerApplication(), Configuration.Provider {
|
||||
@Inject
|
||||
lateinit var themeManager: ThemeManager
|
||||
|
||||
@Inject
|
||||
lateinit var sharedPrefProvider: SharedPrefProvider
|
||||
|
||||
@Inject
|
||||
lateinit var appInfo: AppInfo
|
||||
|
||||
@ -47,6 +52,7 @@ class WulkanowyApp : DaggerApplication(), Configuration.Provider {
|
||||
RxJavaPlugins.setErrorHandler(::onError)
|
||||
Lingver.init(this)
|
||||
themeManager.applyDefaultTheme()
|
||||
migrateSharedPreferences()
|
||||
|
||||
initLogging()
|
||||
initCrashlytics(this, appInfo)
|
||||
@ -62,6 +68,13 @@ class WulkanowyApp : DaggerApplication(), Configuration.Provider {
|
||||
registerActivityLifecycleCallbacks(ActivityLifecycleLogger())
|
||||
}
|
||||
|
||||
private fun migrateSharedPreferences() {
|
||||
if (sharedPrefProvider.getLong(APP_VERSION_CODE_KEY, -1) < 48) { // #596
|
||||
sharedPrefProvider.delete(getString(R.string.pref_key_grade_modifier_plus))
|
||||
sharedPrefProvider.delete(getString(R.string.pref_key_grade_modifier_minus))
|
||||
}
|
||||
}
|
||||
|
||||
private fun onError(error: Throwable) {
|
||||
//RxJava's too deep stack traces may cause SOE on older android devices
|
||||
val cause = error.cause
|
||||
|
@ -8,6 +8,10 @@ import javax.inject.Singleton
|
||||
@Singleton
|
||||
class SharedPrefProvider @Inject constructor(private val sharedPref: SharedPreferences) {
|
||||
|
||||
companion object {
|
||||
const val APP_VERSION_CODE_KEY = "app_version_code"
|
||||
}
|
||||
|
||||
fun putLong(key: String, value: Long, sync: Boolean = false) {
|
||||
sharedPref.edit(sync) { putLong(key, value) }
|
||||
}
|
||||
|
@ -11,6 +11,7 @@ import androidx.work.NetworkType.UNMETERED
|
||||
import androidx.work.PeriodicWorkRequestBuilder
|
||||
import androidx.work.WorkManager
|
||||
import io.github.wulkanowy.data.db.SharedPrefProvider
|
||||
import io.github.wulkanowy.data.db.SharedPrefProvider.Companion.APP_VERSION_CODE_KEY
|
||||
import io.github.wulkanowy.data.repositories.preferences.PreferencesRepository
|
||||
import io.github.wulkanowy.services.sync.channels.DebugChannel
|
||||
import io.github.wulkanowy.services.sync.channels.NewEntriesChannel
|
||||
@ -32,10 +33,6 @@ class SyncManager @Inject constructor(
|
||||
appInfo: AppInfo
|
||||
) {
|
||||
|
||||
companion object {
|
||||
private const val APP_VERSION_CODE_KEY = "app_version_code"
|
||||
}
|
||||
|
||||
init {
|
||||
if (now().isHolidays) stopSyncWorker()
|
||||
|
||||
|
@ -67,8 +67,8 @@ inline val Grade.colorStringId: Int
|
||||
|
||||
fun Grade.changeModifier(plusModifier: Double, minusModifier: Double): Grade {
|
||||
return when {
|
||||
modifier != .0 && plusModifier != .0 && modifier > 0 -> copy(modifier = plusModifier)
|
||||
modifier != .0 && minusModifier != .0 && modifier < 0 -> copy(modifier = -minusModifier)
|
||||
modifier > 0 -> copy(modifier = plusModifier)
|
||||
modifier < 0 -> copy(modifier = -minusModifier)
|
||||
else -> this
|
||||
}
|
||||
}
|
||||
|
@ -23,7 +23,7 @@
|
||||
</string-array>
|
||||
|
||||
<string-array name="grade_modifier_entries">
|
||||
<item>Domyślna</item>
|
||||
<item>0,0</item>
|
||||
<item>0,25</item>
|
||||
<item>0,33</item>
|
||||
<item>0,5</item>
|
||||
|
@ -13,7 +13,7 @@
|
||||
<bool name="pref_default_services_wifi_only">false</bool>
|
||||
<bool name="pref_default_notifications_enable">true</bool>
|
||||
<bool name="pref_default_notification_debug">false</bool>
|
||||
<string name="pref_default_grade_modifier_plus">0.0</string>
|
||||
<string name="pref_default_grade_modifier_minus">0.0</string>
|
||||
<string name="pref_default_grade_modifier_plus">0.33</string>
|
||||
<string name="pref_default_grade_modifier_minus">0.33</string>
|
||||
<bool name="pref_default_fill_message_content">true</bool>
|
||||
</resources>
|
||||
|
@ -55,7 +55,7 @@
|
||||
</string-array>
|
||||
|
||||
<string-array name="grade_modifier_entries">
|
||||
<item>Default</item>
|
||||
<item>0,00</item>
|
||||
<item>0,25</item>
|
||||
<item>0,33</item>
|
||||
<item>0,5</item>
|
||||
|
@ -41,9 +41,9 @@ class GradeExtensionTest {
|
||||
}
|
||||
|
||||
@Test
|
||||
fun changeModifier_default() {
|
||||
assertEquals(.33, createGrade(5, .0, .33).changeModifier(.0, .0).modifier, .0)
|
||||
assertEquals(-.33, createGrade(5, .0, -.33).changeModifier(.0, .0).modifier, .0)
|
||||
fun changeModifier_zero() {
|
||||
assertEquals(.0, createGrade(5, .0, .5).changeModifier(.0, .0).modifier, .0)
|
||||
assertEquals(.0, createGrade(5, .0, -.5).changeModifier(.0, .0).modifier, .0)
|
||||
}
|
||||
|
||||
@Test
|
||||
|
Loading…
x
Reference in New Issue
Block a user