mirror of
https://github.com/mihonapp/mihon.git
synced 2025-11-12 12:08:56 +01:00
Rewrote UpdateDownloader to Kotlin
Added auto update check (every 12 hour) Warning message optional fix #256 Lots of bug fixes!
This commit is contained in:
@@ -73,5 +73,4 @@ open class BaseActivity : AppCompatActivity() {
|
||||
snack.f()
|
||||
snack.show()
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
package eu.kanade.tachiyomi.ui.setting
|
||||
|
||||
import android.os.Bundle
|
||||
import android.support.v7.preference.SwitchPreferenceCompat
|
||||
import android.view.View
|
||||
import com.afollestad.materialdialogs.MaterialDialog
|
||||
import eu.kanade.tachiyomi.BuildConfig
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.updater.GithubUpdateChecker
|
||||
import eu.kanade.tachiyomi.data.updater.UpdateDownloader
|
||||
import eu.kanade.tachiyomi.data.updater.UpdateDownloaderAlarm
|
||||
import eu.kanade.tachiyomi.util.toast
|
||||
import rx.Subscription
|
||||
import rx.android.schedulers.AndroidSchedulers
|
||||
@@ -27,6 +29,10 @@ class SettingsAboutFragment : SettingsNestedFragment() {
|
||||
*/
|
||||
private var releaseSubscription: Subscription? = null
|
||||
|
||||
val automaticUpdateToggle by lazy {
|
||||
findPreference(getString(R.string.pref_enable_automatic_updates_key)) as SwitchPreferenceCompat
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
||||
fun newInstance(resourcePreference: Int, resourceTitle: Int): SettingsNestedFragment {
|
||||
@@ -45,11 +51,25 @@ class SettingsAboutFragment : SettingsNestedFragment() {
|
||||
else
|
||||
BuildConfig.VERSION_NAME
|
||||
|
||||
//Set onClickListener to check for new version
|
||||
version.setOnPreferenceClickListener {
|
||||
if (!BuildConfig.DEBUG && BuildConfig.INCLUDE_UPDATER)
|
||||
checkVersion()
|
||||
true
|
||||
if (!BuildConfig.DEBUG && BuildConfig.INCLUDE_UPDATER) {
|
||||
//Set onClickListener to check for new version
|
||||
version.setOnPreferenceClickListener {
|
||||
true
|
||||
}
|
||||
|
||||
automaticUpdateToggle.isEnabled = true
|
||||
automaticUpdateToggle.setOnPreferenceChangeListener { preference, any ->
|
||||
val status = any as Boolean
|
||||
UpdateDownloaderAlarm.startAlarm(activity, 12, status)
|
||||
true
|
||||
}
|
||||
|
||||
automaticUpdateToggle.isEnabled = true
|
||||
automaticUpdateToggle.setOnPreferenceChangeListener { preference, any ->
|
||||
val status = any as Boolean
|
||||
UpdateDownloaderAlarm.startAlarm(activity, 12, status)
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
buildTime.summary = getFormattedBuildTime()
|
||||
|
||||
@@ -2,6 +2,7 @@ package eu.kanade.tachiyomi.ui.setting
|
||||
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.support.v14.preference.MultiSelectListPreference
|
||||
import android.support.v4.app.TaskStackBuilder
|
||||
import android.support.v7.preference.Preference
|
||||
import android.view.View
|
||||
@@ -33,13 +34,28 @@ class SettingsGeneralFragment : SettingsNestedFragment() {
|
||||
findPreference(getString(R.string.pref_library_update_interval_key)) as IntListPreference
|
||||
}
|
||||
|
||||
val updateRestriction by lazy {
|
||||
findPreference(getString(R.string.pref_library_update_restriction_key)) as MultiSelectListPreference
|
||||
}
|
||||
|
||||
val themePreference by lazy {
|
||||
findPreference(getString(R.string.pref_theme_key)) as IntListPreference
|
||||
}
|
||||
|
||||
var updateIntervalSubscription: Subscription? = null
|
||||
|
||||
var columnsSubscription: Subscription? = null
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
updateIntervalSubscription = preferences.libraryUpdateInterval().asObservable()
|
||||
.subscribe { updateRestriction.isVisible = it > 0 }
|
||||
|
||||
columnsSubscription = Observable.combineLatest(
|
||||
preferences.portraitColumns().asObservable(),
|
||||
preferences.landscapeColumns().asObservable())
|
||||
{ portraitColumns, landscapeColumns -> Pair(portraitColumns, landscapeColumns) }
|
||||
.subscribe { updateColumnsSummary(it.first, it.second) }
|
||||
|
||||
updateInterval.setOnPreferenceChangeListener { preference, newValue ->
|
||||
LibraryUpdateAlarm.startAlarm(activity, (newValue as String).toInt())
|
||||
true
|
||||
@@ -57,17 +73,11 @@ class SettingsGeneralFragment : SettingsNestedFragment() {
|
||||
}
|
||||
}
|
||||
|
||||
override fun onResume() {
|
||||
super.onResume()
|
||||
columnsSubscription = Observable.combineLatest(preferences.portraitColumns().asObservable(),
|
||||
preferences.landscapeColumns().asObservable(),
|
||||
{ portraitColumns, landscapeColumns -> Pair(portraitColumns, landscapeColumns) })
|
||||
.subscribe { updateColumnsSummary(it.first, it.second) }
|
||||
}
|
||||
|
||||
override fun onPause() {
|
||||
override fun onDestroyView() {
|
||||
updateIntervalSubscription?.unsubscribe()
|
||||
columnsSubscription?.unsubscribe()
|
||||
super.onPause()
|
||||
super.onDestroyView()
|
||||
|
||||
}
|
||||
|
||||
override fun onDisplayPreferenceDialog(preference: Preference) {
|
||||
|
||||
Reference in New Issue
Block a user