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) {
|
fun scheduleAutomatedCheck(context: Context) {
|
||||||
Log.i("Scheduling periodic app updates check!")
|
Log.i("Scheduling periodic app updates check!")
|
||||||
|
|
||||||
|
val updateCheckInterval = Preferences.getInteger(
|
||||||
|
context,
|
||||||
|
Preferences.PREFERENCE_UPDATES_CHECK_INTERVAL,
|
||||||
|
3
|
||||||
|
).toLong()
|
||||||
|
|
||||||
val constraints = Constraints.Builder()
|
val constraints = Constraints.Builder()
|
||||||
.setRequiredNetworkType(NetworkType.UNMETERED)
|
.setRequiredNetworkType(NetworkType.UNMETERED)
|
||||||
.setRequiresDeviceIdle(true)
|
.setRequiresDeviceIdle(true)
|
||||||
.setRequiresBatteryNotLow(true)
|
.setRequiresBatteryNotLow(true)
|
||||||
.build()
|
.build()
|
||||||
|
|
||||||
val workRequest = PeriodicWorkRequestBuilder<UpdateWorker>(
|
val workRequest = PeriodicWorkRequestBuilder<UpdateWorker>(
|
||||||
repeatInterval = 3,
|
repeatInterval = updateCheckInterval,
|
||||||
repeatIntervalTimeUnit = HOURS,
|
repeatIntervalTimeUnit = HOURS,
|
||||||
flexTimeInterval = 30,
|
flexTimeInterval = 30,
|
||||||
flexTimeIntervalUnit = MINUTES
|
flexTimeIntervalUnit = MINUTES
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ object Preferences {
|
|||||||
|
|
||||||
const val PREFERENCE_UPDATES_EXTENDED = "PREFERENCE_UPDATES_EXTENDED"
|
const val PREFERENCE_UPDATES_EXTENDED = "PREFERENCE_UPDATES_EXTENDED"
|
||||||
const val PREFERENCE_UPDATES_CHECK = "PREFERENCE_UPDATES_CHECK"
|
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"
|
const val PREFERENCE_UNIQUE_GROUP_IDS = "PREFERENCE_UNIQUE_GROUP_IDS"
|
||||||
|
|
||||||
@@ -94,8 +95,8 @@ object Preferences {
|
|||||||
return getPrefs(context).getString(key, default).toString()
|
return getPrefs(context).getString(key, default).toString()
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getInteger(context: Context, key: String): Int {
|
fun getInteger(context: Context, key: String, default: Int = 0): Int {
|
||||||
return getPrefs(context).getInt(key, 0)
|
return getPrefs(context).getInt(key, default)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun getFloat(context: Context, key: String): Float {
|
fun getFloat(context: Context, key: String): Float {
|
||||||
|
|||||||
@@ -20,7 +20,6 @@
|
|||||||
package com.aurora.store.view.ui.onboarding
|
package com.aurora.store.view.ui.onboarding
|
||||||
|
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.os.Environment
|
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
import androidx.fragment.app.FragmentManager
|
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_ACCENT
|
||||||
import com.aurora.store.util.Preferences.PREFERENCE_THEME_TYPE
|
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
|
||||||
|
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_CHECK_INTERVAL
|
||||||
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_EXTENDED
|
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_EXTENDED
|
||||||
import com.aurora.store.util.save
|
import com.aurora.store.util.save
|
||||||
import com.google.android.material.tabs.TabLayoutMediator
|
import com.google.android.material.tabs.TabLayoutMediator
|
||||||
@@ -178,5 +178,6 @@ class OnboardingFragment : Fragment(R.layout.fragment_onboarding) {
|
|||||||
/*Updates*/
|
/*Updates*/
|
||||||
save(PREFERENCE_UPDATES_EXTENDED, false)
|
save(PREFERENCE_UPDATES_EXTENDED, false)
|
||||||
save(PREFERENCE_UPDATES_CHECK, true)
|
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="checking_for_updates">Checking for updates</string>
|
||||||
<string name="pref_updates_check">Automated updates check</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_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="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="access_denied_using_vpn">Access denied! Are you using VPN or Tor?</string>
|
||||||
<string name="bad_request">Internal error! Please retry after sometime</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"
|
<androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android">
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
|
|
||||||
<SwitchPreferenceCompat
|
<SwitchPreferenceCompat
|
||||||
app:defaultValue="false"
|
app:defaultValue="false"
|
||||||
@@ -29,9 +29,21 @@
|
|||||||
|
|
||||||
<SwitchPreferenceCompat
|
<SwitchPreferenceCompat
|
||||||
app:defaultValue="true"
|
app:defaultValue="true"
|
||||||
|
app:disableDependentsState="false"
|
||||||
app:iconSpaceReserved="false"
|
app:iconSpaceReserved="false"
|
||||||
app:key="PREFERENCE_UPDATES_CHECK"
|
app:key="PREFERENCE_UPDATES_CHECK"
|
||||||
app:summary="@string/pref_updates_check_desc"
|
app:summary="@string/pref_updates_check_desc"
|
||||||
app:title="@string/pref_updates_check" />
|
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>
|
</androidx.preference.PreferenceScreen>
|
||||||
|
|||||||
Reference in New Issue
Block a user