diff --git a/app/src/main/java/com/aurora/store/data/downloader/RequestBuilder.kt b/app/src/main/java/com/aurora/store/data/downloader/RequestBuilder.kt index b08e905ef..4412867d3 100644 --- a/app/src/main/java/com/aurora/store/data/downloader/RequestBuilder.kt +++ b/app/src/main/java/com/aurora/store/data/downloader/RequestBuilder.kt @@ -24,6 +24,7 @@ import com.aurora.Constants import com.aurora.gplayapi.data.models.App import com.aurora.gplayapi.data.models.File import com.aurora.store.util.PathUtil +import com.aurora.store.util.Preferences import com.google.gson.GsonBuilder import com.tonyodev.fetch2.EnqueueAction import com.tonyodev.fetch2.NetworkType @@ -32,11 +33,13 @@ import com.tonyodev.fetch2core.Extras import java.lang.reflect.Modifier private fun Request.attachMetaData(context: Context, app: App) { + val isWifiOnly = Preferences.getBoolean(context, Preferences.PREFERENCE_DOWNLOAD_WIFI_ONLY) + apply { groupId = app.getGroupId(context) tag = app.packageName enqueueAction = EnqueueAction.UPDATE_ACCORDINGLY - networkType = NetworkType.ALL + networkType = if (isWifiOnly) NetworkType.WIFI_ONLY else NetworkType.ALL } } 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 7030d0451..3da03dce2 100644 --- a/app/src/main/java/com/aurora/store/util/Preferences.kt +++ b/app/src/main/java/com/aurora/store/util/Preferences.kt @@ -50,7 +50,7 @@ object Preferences { const val PREFERENCE_DOWNLOAD_ACTIVE = "PREFERENCE_DOWNLOAD_ACTIVE" const val PREFERENCE_DOWNLOAD_EXTERNAL = "PREFERENCE_DOWNLOAD_EXTERNAL" const val PREFERENCE_DOWNLOAD_DIRECTORY = "PREFERENCE_DOWNLOAD_DIRECTORY" - const val PREFERENCE_DOWNLOAD_WIFI = "PREFERENCE_DOWNLOAD_WIFI" + const val PREFERENCE_DOWNLOAD_WIFI_ONLY = "PREFERENCE_DOWNLOAD_WIFI_ONLY" const val PREFERENCE_TOS_READ = "PREFERENCE_TOS_READ" 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 6adbfa30c..fabfe13f6 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 @@ -40,6 +40,7 @@ import com.aurora.store.util.Preferences.PREFERENCE_DEFAULT_SELECTED_TAB import com.aurora.store.util.Preferences.PREFERENCE_DOWNLOAD_ACTIVE import com.aurora.store.util.Preferences.PREFERENCE_DOWNLOAD_DIRECTORY import com.aurora.store.util.Preferences.PREFERENCE_DOWNLOAD_EXTERNAL +import com.aurora.store.util.Preferences.PREFERENCE_DOWNLOAD_WIFI_ONLY import com.aurora.store.util.Preferences.PREFERENCE_FILTER_FDROID import com.aurora.store.util.Preferences.PREFERENCE_FILTER_GOOGLE import com.aurora.store.util.Preferences.PREFERENCE_FILTER_SEARCH @@ -158,6 +159,7 @@ class OnboardingFragment : Fragment(R.layout.fragment_onboarding) { save(PREFERENCE_DOWNLOAD_ACTIVE, 3) save(PREFERENCE_DOWNLOAD_EXTERNAL, false) save(PREFERENCE_DOWNLOAD_DIRECTORY, PathUtil.getExternalPath(requireContext())) + save(PREFERENCE_DOWNLOAD_WIFI_ONLY, false) /*Network*/ save(PREFERENCE_INSECURE_ANONYMOUS, false) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 73c81452c..c5c7b8c97 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -215,6 +215,7 @@ "User external storage" External storage is used for downloads, exports, etc. "Download path" + "Download using WiFi only" "Selected path is not writable" "Removes F-Droid apps from app lists" "Filter F-Droid apps" diff --git a/app/src/main/res/xml/preferences_download.xml b/app/src/main/res/xml/preferences_download.xml index 5dbd8aa4b..0de0de2c4 100644 --- a/app/src/main/res/xml/preferences_download.xml +++ b/app/src/main/res/xml/preferences_download.xml @@ -41,6 +41,12 @@ app:summary="@string/pref_install_delete_summary" app:title="@string/pref_install_delete_title" /> + +