UpdatesPreferences: Fix updating the work frequency

Missed during 3339d4a395

Signed-off-by: Aayush Gupta <aayushgupta219@gmail.com>
This commit is contained in:
Aayush Gupta
2024-02-20 18:49:37 +05:30
parent 45b1fdf44b
commit 4e8d2cd78a
2 changed files with 17 additions and 10 deletions

View File

@@ -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)
} }
} }

View File

@@ -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
} }
} }