diff --git a/app/src/main/java/com/aurora/store/data/work/UpdateWorker.kt b/app/src/main/java/com/aurora/store/data/work/UpdateWorker.kt index 90c9dbaa3..c8a09f185 100644 --- a/app/src/main/java/com/aurora/store/data/work/UpdateWorker.kt +++ b/app/src/main/java/com/aurora/store/data/work/UpdateWorker.kt @@ -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( - repeatInterval = 3, + repeatInterval = updateCheckInterval, repeatIntervalTimeUnit = HOURS, flexTimeInterval = 30, flexTimeIntervalUnit = MINUTES diff --git a/app/src/main/java/com/aurora/store/util/Preferences.kt b/app/src/main/java/com/aurora/store/util/Preferences.kt index 3da03dce2..6c703c4d9 100644 --- a/app/src/main/java/com/aurora/store/util/Preferences.kt +++ b/app/src/main/java/com/aurora/store/util/Preferences.kt @@ -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 { diff --git a/app/src/main/java/com/aurora/store/view/ui/onboarding/OnboardingFragment.kt b/app/src/main/java/com/aurora/store/view/ui/onboarding/OnboardingFragment.kt index fabfe13f6..f9e24a3b0 100644 --- a/app/src/main/java/com/aurora/store/view/ui/onboarding/OnboardingFragment.kt +++ b/app/src/main/java/com/aurora/store/view/ui/onboarding/OnboardingFragment.kt @@ -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) } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c5c7b8c97..3de5fa11a 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -364,6 +364,8 @@ Checking for updates Automated updates check Automatically check & notify for new app updates periodically + Automatic updates frequency + Configure intervals for auto updates, in hour. Failed to fetch privacy report Access denied! Are you using VPN or Tor? Internal error! Please retry after sometime diff --git a/app/src/main/res/xml/preferences_updates.xml b/app/src/main/res/xml/preferences_updates.xml index d579a7fde..96b0d7263 100644 --- a/app/src/main/res/xml/preferences_updates.xml +++ b/app/src/main/res/xml/preferences_updates.xml @@ -17,8 +17,8 @@ ~ --> - + +