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" />
+
+