UpdatesPreferences: Fix updating the work frequency
Missed during 3339d4a395
Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
@@ -14,6 +14,7 @@ import androidx.work.CoroutineWorker
|
|||||||
import androidx.work.ExistingPeriodicWorkPolicy.KEEP
|
import androidx.work.ExistingPeriodicWorkPolicy.KEEP
|
||||||
import androidx.work.ForegroundInfo
|
import androidx.work.ForegroundInfo
|
||||||
import androidx.work.NetworkType
|
import androidx.work.NetworkType
|
||||||
|
import androidx.work.PeriodicWorkRequest
|
||||||
import androidx.work.PeriodicWorkRequestBuilder
|
import androidx.work.PeriodicWorkRequestBuilder
|
||||||
import androidx.work.WorkManager
|
import androidx.work.WorkManager
|
||||||
import androidx.work.WorkerParameters
|
import androidx.work.WorkerParameters
|
||||||
@@ -59,7 +60,16 @@ class UpdateWorker @AssistedInject constructor(
|
|||||||
|
|
||||||
fun scheduleAutomatedCheck(context: Context) {
|
fun scheduleAutomatedCheck(context: Context) {
|
||||||
Log.i("Scheduling periodic app updates!")
|
Log.i("Scheduling periodic app updates!")
|
||||||
|
WorkManager.getInstance(context)
|
||||||
|
.enqueueUniquePeriodicWork(UPDATE_WORKER, KEEP, buildUpdateWork(context))
|
||||||
|
}
|
||||||
|
|
||||||
|
fun updateAutomatedCheck(context: Context) {
|
||||||
|
Log.i("Updating periodic app updates!")
|
||||||
|
WorkManager.getInstance(context).updateWork(buildUpdateWork(context))
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun buildUpdateWork(context: Context): PeriodicWorkRequest {
|
||||||
val updateCheckInterval = Preferences.getInteger(
|
val updateCheckInterval = Preferences.getInteger(
|
||||||
context,
|
context,
|
||||||
PREFERENCE_UPDATES_CHECK_INTERVAL,
|
PREFERENCE_UPDATES_CHECK_INTERVAL,
|
||||||
@@ -72,15 +82,12 @@ class UpdateWorker @AssistedInject constructor(
|
|||||||
|
|
||||||
if (isMAndAbove()) constraints.setRequiresDeviceIdle(true)
|
if (isMAndAbove()) constraints.setRequiresDeviceIdle(true)
|
||||||
|
|
||||||
val workRequest = PeriodicWorkRequestBuilder<UpdateWorker>(
|
return PeriodicWorkRequestBuilder<UpdateWorker>(
|
||||||
repeatInterval = updateCheckInterval,
|
repeatInterval = updateCheckInterval,
|
||||||
repeatIntervalTimeUnit = HOURS,
|
repeatIntervalTimeUnit = HOURS,
|
||||||
flexTimeInterval = 30,
|
flexTimeInterval = 30,
|
||||||
flexTimeIntervalUnit = MINUTES
|
flexTimeIntervalUnit = MINUTES
|
||||||
).setConstraints(constraints.build()).build()
|
).setConstraints(constraints.build()).build()
|
||||||
|
|
||||||
val workManager = WorkManager.getInstance(context)
|
|
||||||
workManager.enqueueUniquePeriodicWork(UPDATE_WORKER, KEEP, workRequest)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ import com.aurora.store.R
|
|||||||
import com.aurora.store.data.work.SelfUpdateWorker
|
import com.aurora.store.data.work.SelfUpdateWorker
|
||||||
import com.aurora.store.data.work.UpdateWorker
|
import com.aurora.store.data.work.UpdateWorker
|
||||||
import com.aurora.store.util.CertUtil
|
import com.aurora.store.util.CertUtil
|
||||||
import com.aurora.store.util.Preferences
|
|
||||||
import com.aurora.store.util.Preferences.PREFERENCE_SELF_UPDATE
|
import com.aurora.store.util.Preferences.PREFERENCE_SELF_UPDATE
|
||||||
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_AUTO
|
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_AUTO
|
||||||
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_CHECK_INTERVAL
|
import com.aurora.store.util.Preferences.PREFERENCE_UPDATES_CHECK_INTERVAL
|
||||||
@@ -47,9 +46,6 @@ class UpdatesPreference : PreferenceFragmentCompat() {
|
|||||||
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
|
||||||
setPreferencesFromResource(R.xml.preferences_updates, rootKey)
|
setPreferencesFromResource(R.xml.preferences_updates, rootKey)
|
||||||
|
|
||||||
findPreference<SeekBarPreference>(PREFERENCE_UPDATES_CHECK_INTERVAL)?.isEnabled =
|
|
||||||
Preferences.getInteger(requireContext(), PREFERENCE_UPDATES_AUTO, 3) != 0
|
|
||||||
|
|
||||||
findPreference<SwitchPreferenceCompat>(PREFERENCE_SELF_UPDATE)?.let {
|
findPreference<SwitchPreferenceCompat>(PREFERENCE_SELF_UPDATE)?.let {
|
||||||
if (CertUtil.isFDroidApp(requireContext(), BuildConfig.APPLICATION_ID)) {
|
if (CertUtil.isFDroidApp(requireContext(), BuildConfig.APPLICATION_ID)) {
|
||||||
it.isVisible = false
|
it.isVisible = false
|
||||||
@@ -72,8 +68,12 @@ class UpdatesPreference : PreferenceFragmentCompat() {
|
|||||||
0 -> UpdateWorker.cancelAutomatedCheck(requireContext())
|
0 -> UpdateWorker.cancelAutomatedCheck(requireContext())
|
||||||
else -> UpdateWorker.scheduleAutomatedCheck(requireContext())
|
else -> UpdateWorker.scheduleAutomatedCheck(requireContext())
|
||||||
}
|
}
|
||||||
findPreference<SeekBarPreference>(PREFERENCE_UPDATES_CHECK_INTERVAL)?.isEnabled =
|
true
|
||||||
newValue.toString().toInt() != 0
|
}
|
||||||
|
|
||||||
|
findPreference<SeekBarPreference>(PREFERENCE_UPDATES_CHECK_INTERVAL)
|
||||||
|
?.setOnPreferenceChangeListener { _, _ ->
|
||||||
|
UpdateWorker.updateAutomatedCheck(requireContext())
|
||||||
true
|
true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user