From 582194bb870d7bc528f6f3b1d39b6703d5f13a3b Mon Sep 17 00:00:00 2001
From: vladrevers <56305121+vladrevers@users.noreply.github.com>
Date: Sun, 26 Nov 2023 23:43:16 +0200
Subject: [PATCH 1/2] Add google play version selection to settings
---
.../java/com/aurora/store/util/Preferences.kt | 2 ++
.../view/ui/onboarding/OnboardingFragment.kt | 2 ++
.../view/ui/preferences/NetworkPreference.kt | 13 +++++++++++++
.../store/viewmodel/auth/AuthViewModel.kt | 13 +++++++++++++
app/src/main/res/values-ru/strings.xml | 2 ++
app/src/main/res/values-uk/strings.xml | 2 ++
app/src/main/res/values/arrays.xml | 18 ++++++++++++++++++
app/src/main/res/values/strings.xml | 2 ++
app/src/main/res/xml/preferences_network.xml | 9 +++++++++
9 files changed, 63 insertions(+)
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 4763c86ff..da9b49beb 100644
--- a/app/src/main/java/com/aurora/store/util/Preferences.kt
+++ b/app/src/main/java/com/aurora/store/util/Preferences.kt
@@ -60,6 +60,8 @@ object Preferences {
const val PREFERENCE_PROXY_INFO = "PREFERENCE_PROXY_INFO"
const val PREFERENCE_PROXY_ENABLED = "PREFERENCE_PROXY_ENABLED"
+ const val PREFERENCE_VENDING_VERSION = "PREFERENCE_VENDING_VERSION"
+
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"
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 61f84a0f5..bbdabcd09 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
@@ -60,6 +60,7 @@ 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.Preferences.PREFERENCE_VENDING_VERSION
import com.aurora.store.util.save
import com.google.android.material.tabs.TabLayoutMediator
@@ -174,6 +175,7 @@ class OnboardingFragment : Fragment(R.layout.fragment_onboarding) {
save(PREFERENCE_PROXY_ENABLED, false)
save(PREFERENCE_PROXY_URL, "")
save(PREFERENCE_PROXY_INFO, "{}")
+ save(PREFERENCE_VENDING_VERSION, 0)
/*Customization*/
save(PREFERENCE_THEME_TYPE, 0)
diff --git a/app/src/main/java/com/aurora/store/view/ui/preferences/NetworkPreference.kt b/app/src/main/java/com/aurora/store/view/ui/preferences/NetworkPreference.kt
index d3332e397..991aa0be8 100644
--- a/app/src/main/java/com/aurora/store/view/ui/preferences/NetworkPreference.kt
+++ b/app/src/main/java/com/aurora/store/view/ui/preferences/NetworkPreference.kt
@@ -113,6 +113,19 @@ class NetworkPreference : PreferenceFragmentCompat() {
false
}
}
+
+ val vendingVersion: Preference? =
+ findPreference(Preferences.PREFERENCE_VENDING_VERSION)
+
+ vendingVersion?.let {
+ it.setOnPreferenceChangeListener { _, newValue ->
+ save(Preferences.PREFERENCE_VENDING_VERSION, Integer.parseInt(newValue.toString()))
+ runOnUiThread {
+ requireContext().toast(R.string.insecure_anonymous_apply)
+ }
+ true
+ }
+ }
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
diff --git a/app/src/main/java/com/aurora/store/viewmodel/auth/AuthViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/auth/AuthViewModel.kt
index f60adbaee..807287972 100644
--- a/app/src/main/java/com/aurora/store/viewmodel/auth/AuthViewModel.kt
+++ b/app/src/main/java/com/aurora/store/viewmodel/auth/AuthViewModel.kt
@@ -291,6 +291,19 @@ class AuthViewModel(application: Application) : BaseAndroidViewModel(application
authData.locale = Locale.getDefault()
}
+ val versionId = Preferences.getInteger(getApplication(), Preferences.PREFERENCE_VENDING_VERSION)
+ if(versionId > 0) {
+ val resources = (getApplication() as Context).resources
+
+ authData.deviceInfoProvider?.properties?.setProperty(
+ "Vending.version",
+ resources.getStringArray(R.array.pref_vending_version_codes)[versionId])
+
+ authData.deviceInfoProvider?.properties?.setProperty(
+ "Vending.versionString",
+ resources.getStringArray(R.array.pref_vending_version)[versionId])
+ }
+
if (authData.authToken.isNotEmpty() && authData.deviceConfigToken.isNotEmpty()) {
configAuthPref(authData, type, true)
liveData.postValue(AuthState.SignedIn)
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index a1a408170..fd0142bd3 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -274,6 +274,8 @@
Анонимный (небезопасно)
Установите Менеджер Приложений или смените установщик.
Установщик МП.
+ Версия Google Play
+ По умолчанию (с конфигурации устройства)
Синий
Пурпурный
Красный
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index 7f188f4f1..66540040a 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -274,6 +274,8 @@
Інсталятор менеджера застосунків.
Анонімно (незахищено)
Встановити Менеджер застосунків або змінити встановлювач.
+ Версія Google Play
+ За замовчуванням (з конфігурації пристрою)
Синій
Золотий
Пурпуровий
diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml
index ec6592b14..936d92346 100644
--- a/app/src/main/res/values/arrays.xml
+++ b/app/src/main/res/values/arrays.xml
@@ -224,4 +224,22 @@
- > 50 M
- > 100 M
+
+
+ - @string/pref_vending_version_device
+ - 7.9.80.Q-all [0] [PR] 159305549
+ - 22.0.17-21 [0] [PR] 332555730
+
+
+
+ - -1
+ - 80798000
+ - 82201710
+
+
+
+ - 0
+ - 1
+ - 2
+
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 8eb165c29..8615cd303 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -233,6 +233,8 @@
"Installation method"
"Select the target profile to install apps to. Only works with the root installation method"
"Installation profiles (Experimental)"
+ Google Play Version
+ Default (from device config)
"Networking"
Proxy
"Enable proxy"
diff --git a/app/src/main/res/xml/preferences_network.xml b/app/src/main/res/xml/preferences_network.xml
index 5a2aa8352..0eae5f86c 100644
--- a/app/src/main/res/xml/preferences_network.xml
+++ b/app/src/main/res/xml/preferences_network.xml
@@ -47,4 +47,13 @@
app:key="PREFERENCE_INSECURE_ANONYMOUS"
app:summary="@string/pref_insecure_anonymous_summary"
app:title="@string/pref_insecure_anonymous_title" />
+
+
\ No newline at end of file
From 511e9ce58b299bb541b5a709abe562a91c55e055 Mon Sep 17 00:00:00 2001
From: vladrevers <56305121+vladrevers@users.noreply.github.com>
Date: Mon, 27 Nov 2023 15:51:29 +0200
Subject: [PATCH 2/2] Apply suggestions and corrections from code review
---
.../view/ui/preferences/NetworkPreference.kt | 5 +----
.../store/viewmodel/auth/AuthViewModel.kt | 21 ++++++++++++-------
app/src/main/res/values-ru/strings.xml | 2 --
app/src/main/res/values-uk/strings.xml | 2 --
app/src/main/res/xml/preferences_network.xml | 2 +-
5 files changed, 15 insertions(+), 17 deletions(-)
diff --git a/app/src/main/java/com/aurora/store/view/ui/preferences/NetworkPreference.kt b/app/src/main/java/com/aurora/store/view/ui/preferences/NetworkPreference.kt
index 991aa0be8..49d000c81 100644
--- a/app/src/main/java/com/aurora/store/view/ui/preferences/NetworkPreference.kt
+++ b/app/src/main/java/com/aurora/store/view/ui/preferences/NetworkPreference.kt
@@ -114,10 +114,7 @@ class NetworkPreference : PreferenceFragmentCompat() {
}
}
- val vendingVersion: Preference? =
- findPreference(Preferences.PREFERENCE_VENDING_VERSION)
-
- vendingVersion?.let {
+ findPreference(Preferences.PREFERENCE_VENDING_VERSION)?.let {
it.setOnPreferenceChangeListener { _, newValue ->
save(Preferences.PREFERENCE_VENDING_VERSION, Integer.parseInt(newValue.toString()))
runOnUiThread {
diff --git a/app/src/main/java/com/aurora/store/viewmodel/auth/AuthViewModel.kt b/app/src/main/java/com/aurora/store/viewmodel/auth/AuthViewModel.kt
index 807287972..30ead8e3f 100644
--- a/app/src/main/java/com/aurora/store/viewmodel/auth/AuthViewModel.kt
+++ b/app/src/main/java/com/aurora/store/viewmodel/auth/AuthViewModel.kt
@@ -291,17 +291,22 @@ class AuthViewModel(application: Application) : BaseAndroidViewModel(application
authData.locale = Locale.getDefault()
}
- val versionId = Preferences.getInteger(getApplication(), Preferences.PREFERENCE_VENDING_VERSION)
- if(versionId > 0) {
+ val versionId =
+ Preferences.getInteger(getApplication(), Preferences.PREFERENCE_VENDING_VERSION)
+ if (versionId != 0) {
val resources = (getApplication() as Context).resources
- authData.deviceInfoProvider?.properties?.setProperty(
- "Vending.version",
- resources.getStringArray(R.array.pref_vending_version_codes)[versionId])
+ authData.deviceInfoProvider?.properties?.let {
+ it.setProperty(
+ "Vending.version",
+ resources.getStringArray(R.array.pref_vending_version_codes)[versionId]
+ )
- authData.deviceInfoProvider?.properties?.setProperty(
- "Vending.versionString",
- resources.getStringArray(R.array.pref_vending_version)[versionId])
+ it.setProperty(
+ "Vending.versionString",
+ resources.getStringArray(R.array.pref_vending_version)[versionId]
+ )
+ }
}
if (authData.authToken.isNotEmpty() && authData.deviceConfigToken.isNotEmpty()) {
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index fd0142bd3..a1a408170 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -274,8 +274,6 @@
Анонимный (небезопасно)
Установите Менеджер Приложений или смените установщик.
Установщик МП.
- Версия Google Play
- По умолчанию (с конфигурации устройства)
Синий
Пурпурный
Красный
diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml
index 66540040a..7f188f4f1 100644
--- a/app/src/main/res/values-uk/strings.xml
+++ b/app/src/main/res/values-uk/strings.xml
@@ -274,8 +274,6 @@
Інсталятор менеджера застосунків.
Анонімно (незахищено)
Встановити Менеджер застосунків або змінити встановлювач.
- Версія Google Play
- За замовчуванням (з конфігурації пристрою)
Синій
Золотий
Пурпуровий
diff --git a/app/src/main/res/xml/preferences_network.xml b/app/src/main/res/xml/preferences_network.xml
index 0eae5f86c..7ff1c92dc 100644
--- a/app/src/main/res/xml/preferences_network.xml
+++ b/app/src/main/res/xml/preferences_network.xml
@@ -56,4 +56,4 @@
app:key="PREFERENCE_VENDING_VERSION"
app:title="@string/pref_vending_version_title"
app:useSimpleSummaryProvider="true" />
-
\ No newline at end of file
+