Make update check intervals configurable
This commit is contained in:
@@ -49,13 +49,20 @@ class UpdateWorker(private val appContext: Context, workerParams: WorkerParamete
|
||||
fun scheduleAutomatedCheck(context: Context) {
|
||||
Log.i("Scheduling periodic app updates check!")
|
||||
|
||||
val updateCheckInterval = Preferences.getInteger(
|
||||
context,
|
||||
Preferences.PREFERENCE_UPDATES_CHECK_INTERVAL,
|
||||
3
|
||||
).toLong()
|
||||
|
||||
val constraints = Constraints.Builder()
|
||||
.setRequiredNetworkType(NetworkType.UNMETERED)
|
||||
.setRequiresDeviceIdle(true)
|
||||
.setRequiresBatteryNotLow(true)
|
||||
.build()
|
||||
|
||||
val workRequest = PeriodicWorkRequestBuilder<UpdateWorker>(
|
||||
repeatInterval = 3,
|
||||
repeatInterval = updateCheckInterval,
|
||||
repeatIntervalTimeUnit = HOURS,
|
||||
flexTimeInterval = 30,
|
||||
flexTimeIntervalUnit = MINUTES
|
||||
|
||||
@@ -58,6 +58,7 @@ object Preferences {
|
||||
|
||||
const val PREFERENCE_UPDATES_EXTENDED = "PREFERENCE_UPDATES_EXTENDED"
|
||||
const val PREFERENCE_UPDATES_CHECK = "PREFERENCE_UPDATES_CHECK"
|
||||
const val PREFERENCE_UPDATES_CHECK_INTERVAL = "PREFERENCE_UPDATES_CHECK_INTERVAL"
|
||||
|
||||
const val PREFERENCE_UNIQUE_GROUP_IDS = "PREFERENCE_UNIQUE_GROUP_IDS"
|
||||
|
||||
@@ -94,8 +95,8 @@ object Preferences {
|
||||
return getPrefs(context).getString(key, default).toString()
|
||||
}
|
||||
|
||||
fun getInteger(context: Context, key: String): Int {
|
||||
return getPrefs(context).getInt(key, 0)
|
||||
fun getInteger(context: Context, key: String, default: Int = 0): Int {
|
||||
return getPrefs(context).getInt(key, default)
|
||||
}
|
||||
|
||||
fun getFloat(context: Context, key: String): Float {
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
package com.aurora.store.view.ui.onboarding
|
||||
|
||||
import android.os.Bundle
|
||||
import android.os.Environment
|
||||
import android.view.View
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.FragmentManager
|
||||
@@ -52,6 +51,7 @@ import com.aurora.store.util.Preferences.PREFERENCE_SIMILAR
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_THEME_ACCENT
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_THEME_TYPE
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_CHECK
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_CHECK_INTERVAL
|
||||
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_EXTENDED
|
||||
import com.aurora.store.util.save
|
||||
import com.google.android.material.tabs.TabLayoutMediator
|
||||
@@ -178,5 +178,6 @@ class OnboardingFragment : Fragment(R.layout.fragment_onboarding) {
|
||||
/*Updates*/
|
||||
save(PREFERENCE_UPDATES_EXTENDED, false)
|
||||
save(PREFERENCE_UPDATES_CHECK, true)
|
||||
save(PREFERENCE_UPDATES_CHECK_INTERVAL, 3)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -364,6 +364,8 @@
|
||||
<string name="checking_for_updates">Checking for updates</string>
|
||||
<string name="pref_updates_check">Automated updates check</string>
|
||||
<string name="pref_updates_check_desc">Automatically check & notify for new app updates periodically</string>
|
||||
<string name="pref_updates_check_frequency">Automatic updates frequency</string>
|
||||
<string name="pref_updates_check_frequency_desc">Configure intervals for auto updates, in hour.</string>
|
||||
<string name="failed_to_fetch_report">Failed to fetch privacy report</string>
|
||||
<string name="access_denied_using_vpn">Access denied! Are you using VPN or Tor?</string>
|
||||
<string name="bad_request">Internal error! Please retry after sometime</string>
|
||||
|
||||
@@ -17,8 +17,8 @@
|
||||
~
|
||||
-->
|
||||
|
||||
<androidx.preference.PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:defaultValue="false"
|
||||
@@ -29,9 +29,21 @@
|
||||
|
||||
<SwitchPreferenceCompat
|
||||
app:defaultValue="true"
|
||||
app:disableDependentsState="false"
|
||||
app:iconSpaceReserved="false"
|
||||
app:key="PREFERENCE_UPDATES_CHECK"
|
||||
app:summary="@string/pref_updates_check_desc"
|
||||
app:title="@string/pref_updates_check" />
|
||||
|
||||
<SeekBarPreference
|
||||
android:defaultValue="3"
|
||||
android:dependency="PREFERENCE_UPDATES_CHECK"
|
||||
android:key="PREFERENCE_UPDATES_CHECK_INTERVAL"
|
||||
android:max="24"
|
||||
android:summary="@string/pref_updates_check_frequency_desc"
|
||||
android:title="@string/pref_updates_check_frequency"
|
||||
app:adjustable="true"
|
||||
app:iconSpaceReserved="false"
|
||||
app:min="1"
|
||||
app:showSeekBarValue="true" />
|
||||
</androidx.preference.PreferenceScreen>
|
||||
|
||||
Reference in New Issue
Block a user