Changes for January 2023

This commit is contained in:
Andy CrossGate Yan
2023-01-10 14:41:29 +00:00
parent b271de008b
commit 291d57d10a
36 changed files with 694 additions and 71 deletions

View File

@@ -1,7 +1,7 @@
From 3da78002775540f9ede8460de48a492d2e72cf21 Mon Sep 17 00:00:00 2001
From 16a004393cddb96e473b86dd891c2e1561813c5d Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Thu, 22 Sep 2022 12:37:50 +0000
Subject: [PATCH 1/5] TrebleSettings: Screen resolution & refresh rate
Subject: [PATCH 1/8] TrebleSettings: Screen resolution & refresh rate
Change-Id: I4a4679cdb6d4ede55479e9ab2f014342025b0fec
---

View File

@@ -1,7 +1,7 @@
From 9fc56ce7a1aaeac5571d0e2001f0d6ed79230882 Mon Sep 17 00:00:00 2001
From 78583743e42884cf7f94477f08718b6dce63a36a Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 24 Sep 2022 03:38:41 +0000
Subject: [PATCH 2/5] TrebleSettings: Basic audio and display fixes
Subject: [PATCH 2/8] TrebleSettings: Basic audio and display fixes
- Alternative audio policy
- Disable soundvolume effect

View File

@@ -1,17 +1,17 @@
From fbcfc21db732fb0214bd4bb5c3f4f766c5f93156 Mon Sep 17 00:00:00 2001
From 1ae67d0fba3acd594a161c37a6fbb8dfe9939f0f Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Tue, 11 Oct 2022 10:29:36 +0000
Subject: [PATCH 3/5] TrebleSettings: IMS
Subject: [PATCH 3/8] TrebleSettings: IMS
Change-Id: Id7a12e150d4a3dc988f8ce1a888ad88443fa0ea4
---
Android.bp | 1 +
res/values/strings.xml | 9 +
res/xml/treble_settings.xml | 13 ++
.../InstallImsApkPreferenceController.java | 198 ++++++++++++++++++
...VolteAvailabilityPreferenceController.java | 59 ++++++
res/xml/treble_settings.xml | 13 +
.../InstallImsApkPreferenceController.java | 225 ++++++++++++++++++
...VolteAvailabilityPreferenceController.java | 59 +++++
.../settings/treble/TrebleSettings.java | 2 +
6 files changed, 282 insertions(+)
6 files changed, 309 insertions(+)
create mode 100644 src/com/android/settings/treble/InstallImsApkPreferenceController.java
create mode 100644 src/com/android/settings/treble/OverrideVolteAvailabilityPreferenceController.java
@@ -78,10 +78,10 @@ index 336137c95f..09e6bc5d00 100644
</PreferenceScreen>
diff --git a/src/com/android/settings/treble/InstallImsApkPreferenceController.java b/src/com/android/settings/treble/InstallImsApkPreferenceController.java
new file mode 100644
index 0000000000..f59e5d7d9a
index 0000000000..e5ec05a820
--- /dev/null
+++ b/src/com/android/settings/treble/InstallImsApkPreferenceController.java
@@ -0,0 +1,198 @@
@@ -0,0 +1,225 @@
+package com.android.settings.treble;
+
+import android.app.DownloadManager;
@@ -156,6 +156,33 @@ index 0000000000..f59e5d7d9a
+ mPreference.setEnabled(false);
+ } else {
+ mPreference.setOnPreferenceClickListener(this);
+ String summary = "IMS type: ";
+ switch (mImsType) {
+ case "qcom_hidl_moto":
+ summary += "Qualcomm pre-S (Motorola)";
+ break;
+ case "qcom_hidl":
+ summary += "Qualcomm pre-S";
+ break;
+ case "qcom_aidl":
+ summary += "Qualcomm S+";
+ break;
+ case "mtk_p":
+ summary += "MediaTek P";
+ break;
+ case "mtk_q":
+ summary += "MediaTek Q";
+ break;
+ case "mtk_r":
+ summary += "MediaTek R";
+ break;
+ case "mtk_s":
+ summary += "MediaTek S";
+ break;
+ default:
+ break;
+ }
+ mPreference.setSummary(summary);
+ }
+
+ super.displayPreference(screen);

View File

@@ -1,7 +1,7 @@
From f147f139435a488a35a37e4c3f8663ddcc4bf48f Mon Sep 17 00:00:00 2001
From 0786b6b9b2bda23a4a775ce1afdcc6ae58b20a88 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 10 Dec 2022 12:04:37 +0000
Subject: [PATCH 4/5] TrebleSettings: Disable A2DP offload
Subject: [PATCH 4/8] TrebleSettings: Disable A2DP offload
Change-Id: I737f49d146f83d96793f4436850529e3c528acbe
---

View File

@@ -1,7 +1,7 @@
From 6f190a399dbc171dd6e32882901877f87f881cbe Mon Sep 17 00:00:00 2001
From 2576ff07b08ba1395e8d46c2ff34b3660991d330 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 10 Dec 2022 14:16:50 +0000
Subject: [PATCH 5/5] TrebleSettings: Alternative audio jack detection
Subject: [PATCH 5/8] TrebleSettings: Alternative audio jack detection
Change-Id: I5d6d48f26a4a2134fd6edf996eca89a1fc42e6de
---

View File

@@ -0,0 +1,116 @@
From c37241c9ac2caa23576f9f40ebbe73d9db3467b8 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 17 Dec 2022 10:29:05 +0000
Subject: [PATCH 6/8] TrebleSettings: Override minimum brightness
Change-Id: I6d621f7dd04b675b6e2e851a5e474dc9a9841eb0
---
res/values/strings.xml | 2 +
res/xml/treble_settings.xml | 4 ++
...MinimumBrightnessPreferenceController.java | 53 +++++++++++++++++++
.../settings/treble/TrebleSettings.java | 1 +
4 files changed, 60 insertions(+)
create mode 100644 src/com/android/settings/treble/OverrideMinimumBrightnessPreferenceController.java
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 4f8eb839f3..649182030e 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -8481,6 +8481,8 @@
<string name="screen_resolution_refresh_rate_title">Screen resolution &amp; refresh rate</string>
<!-- Treble settings screen, use alternative backlight scale title -->
<string name="use_alternative_backlight_scale_title">Use alternative backlight scale</string>
+ <!-- Treble settings screen, override minimum brightness title -->
+ <string name="override_minimum_brightness_title">Override minimum brightness</string>
<!-- Treble settings screen, install IMS APK title -->
<string name="install_ims_apk_title">Install IMS APK</string>
<!-- Treble settings screen, install IMS APK toasts -->
diff --git a/res/xml/treble_settings.xml b/res/xml/treble_settings.xml
index 47097a14c7..5c18461b69 100644
--- a/res/xml/treble_settings.xml
+++ b/res/xml/treble_settings.xml
@@ -38,6 +38,10 @@
android:key="use_alternative_backlight_scale"
android:title="@string/use_alternative_backlight_scale_title" />
+ <SwitchPreference
+ android:key="override_minimum_brightness"
+ android:title="@string/override_minimum_brightness_title" />
+
</PreferenceCategory>
<PreferenceCategory
diff --git a/src/com/android/settings/treble/OverrideMinimumBrightnessPreferenceController.java b/src/com/android/settings/treble/OverrideMinimumBrightnessPreferenceController.java
new file mode 100644
index 0000000000..95200fbeaa
--- /dev/null
+++ b/src/com/android/settings/treble/OverrideMinimumBrightnessPreferenceController.java
@@ -0,0 +1,53 @@
+package com.android.settings.treble;
+
+import android.content.Context;
+import android.os.SystemProperties;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.core.BasePreferenceController;
+
+public class OverrideMinimumBrightnessPreferenceController extends BasePreferenceController
+ implements Preference.OnPreferenceChangeListener {
+
+ private static final String OVERRIDE_MINIMUM_BRIGHTNESS_KEY = "override_minimum_brightness";
+ private static final String MINIMAL_BRIGHTNESS_PROPERTY = "persist.sys.overlay.minimal_brightness";
+
+ private SwitchPreference mSwitchPreference;
+
+ public OverrideMinimumBrightnessPreferenceController(Context context) {
+ super(context, OVERRIDE_MINIMUM_BRIGHTNESS_KEY);
+ }
+
+ @Override
+ public int getAvailabilityStatus() {
+ return AVAILABLE;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return OVERRIDE_MINIMUM_BRIGHTNESS_KEY;
+ }
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ mSwitchPreference = screen.findPreference(getPreferenceKey());
+ super.displayPreference(screen);
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ boolean checked = SystemProperties.getBoolean(MINIMAL_BRIGHTNESS_PROPERTY, false);
+ mSwitchPreference.setChecked(checked);
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ SystemProperties.set(MINIMAL_BRIGHTNESS_PROPERTY, String.valueOf((boolean) newValue));
+ mSwitchPreference.setChecked((boolean) newValue);
+ return true;
+ }
+
+}
diff --git a/src/com/android/settings/treble/TrebleSettings.java b/src/com/android/settings/treble/TrebleSettings.java
index 09aa001e82..39a0e19972 100644
--- a/src/com/android/settings/treble/TrebleSettings.java
+++ b/src/com/android/settings/treble/TrebleSettings.java
@@ -38,6 +38,7 @@ public class TrebleSettings extends DashboardFragment {
controllers.add(new UseAlternativeAudioJackDetectionPreferenceController(context));
controllers.add(new ScreenResolutionRefreshRatePreferenceController(context));
controllers.add(new UseAlternativeBacklightScalePreferenceController(context));
+ controllers.add(new OverrideMinimumBrightnessPreferenceController(context));
controllers.add(new InstallImsApkPreferenceController(context));
controllers.add(new OverrideVolteAvailabilityPreferenceController(context));
return controllers;
--
2.25.1

View File

@@ -0,0 +1,128 @@
From ce30fb743f306ecacc3515f382b41999591aa3df Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 17 Dec 2022 11:00:38 +0000
Subject: [PATCH 7/8] TrebleSettings: Override navbar availability
Change-Id: I7c771caf6274543fed23a8cc47411bf8c369ac2c
---
res/values/strings.xml | 4 ++
res/xml/treble_settings.xml | 9 ++++
...avbarAvailabilityPreferenceController.java | 53 +++++++++++++++++++
.../settings/treble/TrebleSettings.java | 1 +
4 files changed, 67 insertions(+)
create mode 100644 src/com/android/settings/treble/OverrideNavbarAvailabilityPreferenceController.java
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 649182030e..bad4ed1ca7 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -8468,6 +8468,8 @@
<string name="treble_settings_category_name_display">Display</string>
<!-- IMS category name [CHAR LIMIT=none] -->
<string name="treble_settings_category_name_ims">IMS</string>
+ <!-- UI category name [CHAR LIMIT=none] -->
+ <string name="treble_settings_category_name_ui">UI</string>
<!-- Treble settings screen, use alternative audio policy title -->
<string name="use_alternative_audio_policy_title">Use alternative audio policy</string>
@@ -8490,6 +8492,8 @@
<string name="install_ims_apk_toast_completed">IMS APK installed. Reboot required.</string>
<!-- Treble settings screen, override VoLTE availability title -->
<string name="override_volte_availability_title">Override VoLTE availability</string>
+ <!-- Treble settings screen, override navbar availability title -->
+ <string name="override_navbar_availability_title">Override navigation bar availability</string>
<!-- Title for setting tile leading to network and Internet settings [CHAR LIMIT=40]-->
<string name="network_dashboard_title">Network &amp; internet</string>
diff --git a/res/xml/treble_settings.xml b/res/xml/treble_settings.xml
index 5c18461b69..250a8ee75a 100644
--- a/res/xml/treble_settings.xml
+++ b/res/xml/treble_settings.xml
@@ -57,4 +57,13 @@
</PreferenceCategory>
+ <PreferenceCategory
+ android:title="@string/treble_settings_category_name_ui">
+
+ <SwitchPreference
+ android:key="override_navbar_availability"
+ android:title="@string/override_navbar_availability_title" />
+
+ </PreferenceCategory>
+
</PreferenceScreen>
diff --git a/src/com/android/settings/treble/OverrideNavbarAvailabilityPreferenceController.java b/src/com/android/settings/treble/OverrideNavbarAvailabilityPreferenceController.java
new file mode 100644
index 0000000000..d6baa33739
--- /dev/null
+++ b/src/com/android/settings/treble/OverrideNavbarAvailabilityPreferenceController.java
@@ -0,0 +1,53 @@
+package com.android.settings.treble;
+
+import android.content.Context;
+import android.os.SystemProperties;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.core.BasePreferenceController;
+
+public class OverrideNavbarAvailabilityPreferenceController extends BasePreferenceController
+ implements Preference.OnPreferenceChangeListener {
+
+ private static final String OVERRIDE_NAVBAR_AVAILABILITY_KEY = "override_navbar_availability";
+ private static final String TREBLE_MAINKEYS_PROPERTY = "persist.sys.treble.mainkeys";
+
+ private SwitchPreference mSwitchPreference;
+
+ public OverrideNavbarAvailabilityPreferenceController(Context context) {
+ super(context, OVERRIDE_NAVBAR_AVAILABILITY_KEY);
+ }
+
+ @Override
+ public int getAvailabilityStatus() {
+ return AVAILABLE;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return OVERRIDE_NAVBAR_AVAILABILITY_KEY;
+ }
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ mSwitchPreference = screen.findPreference(getPreferenceKey());
+ super.displayPreference(screen);
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ boolean checked = (SystemProperties.getInt(TREBLE_MAINKEYS_PROPERTY, 0) == 0);
+ mSwitchPreference.setChecked(checked);
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ SystemProperties.set(TREBLE_MAINKEYS_PROPERTY, ((boolean) newValue) ? "0" : "1");
+ mSwitchPreference.setChecked((boolean) newValue);
+ return true;
+ }
+
+}
diff --git a/src/com/android/settings/treble/TrebleSettings.java b/src/com/android/settings/treble/TrebleSettings.java
index 39a0e19972..634b7ce3ce 100644
--- a/src/com/android/settings/treble/TrebleSettings.java
+++ b/src/com/android/settings/treble/TrebleSettings.java
@@ -41,6 +41,7 @@ public class TrebleSettings extends DashboardFragment {
controllers.add(new OverrideMinimumBrightnessPreferenceController(context));
controllers.add(new InstallImsApkPreferenceController(context));
controllers.add(new OverrideVolteAvailabilityPreferenceController(context));
+ controllers.add(new OverrideNavbarAvailabilityPreferenceController(context));
return controllers;
}
--
2.25.1

View File

@@ -0,0 +1,133 @@
From 9b1a3e0cc42698946fd9453fdadfe0bcf2be3c15 Mon Sep 17 00:00:00 2001
From: Andy CrossGate Yan <GeForce8800Ultra@gmail.com>
Date: Sat, 17 Dec 2022 14:30:52 +0000
Subject: [PATCH 8/8] TrebleSettings: Securize on-demand
Change-Id: I76f54620277ccdc41636d74d1afa6330c382ce6a
---
res/values/strings.xml | 6 +++
res/xml/treble_settings.xml | 10 ++++
.../treble/SecurizePreferenceController.java | 53 +++++++++++++++++++
.../settings/treble/TrebleSettings.java | 1 +
4 files changed, 70 insertions(+)
create mode 100644 src/com/android/settings/treble/SecurizePreferenceController.java
diff --git a/res/values/strings.xml b/res/values/strings.xml
index bad4ed1ca7..a6860abcea 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -8468,6 +8468,8 @@
<string name="treble_settings_category_name_display">Display</string>
<!-- IMS category name [CHAR LIMIT=none] -->
<string name="treble_settings_category_name_ims">IMS</string>
+ <!-- System category name [CHAR LIMIT=none] -->
+ <string name="treble_settings_category_name_system">System</string>
<!-- UI category name [CHAR LIMIT=none] -->
<string name="treble_settings_category_name_ui">UI</string>
@@ -8492,6 +8494,10 @@
<string name="install_ims_apk_toast_completed">IMS APK installed. Reboot required.</string>
<!-- Treble settings screen, override VoLTE availability title -->
<string name="override_volte_availability_title">Override VoLTE availability</string>
+ <!-- Treble settings screen, securize title -->
+ <string name="securize_title">Spoof system properties</string>
+ <!-- Treble settings screen, securize summary -->
+ <string name="securize_summary">For better chances of passing SafetyNet\nMight cause bootloop on some devices</string>
<!-- Treble settings screen, override navbar availability title -->
<string name="override_navbar_availability_title">Override navigation bar availability</string>
diff --git a/res/xml/treble_settings.xml b/res/xml/treble_settings.xml
index 250a8ee75a..1f24352421 100644
--- a/res/xml/treble_settings.xml
+++ b/res/xml/treble_settings.xml
@@ -57,6 +57,16 @@
</PreferenceCategory>
+ <PreferenceCategory
+ android:title="@string/treble_settings_category_name_system">
+
+ <SwitchPreference
+ android:key="securize"
+ android:title="@string/securize_title"
+ android:summary="@string/securize_summary" />
+
+ </PreferenceCategory>
+
<PreferenceCategory
android:title="@string/treble_settings_category_name_ui">
diff --git a/src/com/android/settings/treble/SecurizePreferenceController.java b/src/com/android/settings/treble/SecurizePreferenceController.java
new file mode 100644
index 0000000000..0b59bbad81
--- /dev/null
+++ b/src/com/android/settings/treble/SecurizePreferenceController.java
@@ -0,0 +1,53 @@
+package com.android.settings.treble;
+
+import android.content.Context;
+import android.os.SystemProperties;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.core.BasePreferenceController;
+
+public class SecurizePreferenceController extends BasePreferenceController
+ implements Preference.OnPreferenceChangeListener {
+
+ private static final String SECURIZE_KEY = "securize";
+ private static final String SECURIZE_PROPERTY = "persist.sys.treble.securize";
+
+ private SwitchPreference mSwitchPreference;
+
+ public SecurizePreferenceController(Context context) {
+ super(context, SECURIZE_KEY);
+ }
+
+ @Override
+ public int getAvailabilityStatus() {
+ return AVAILABLE;
+ }
+
+ @Override
+ public String getPreferenceKey() {
+ return SECURIZE_KEY;
+ }
+
+ @Override
+ public void displayPreference(PreferenceScreen screen) {
+ mSwitchPreference = screen.findPreference(getPreferenceKey());
+ super.displayPreference(screen);
+ }
+
+ @Override
+ public void updateState(Preference preference) {
+ boolean checked = SystemProperties.getBoolean(SECURIZE_PROPERTY, false);
+ mSwitchPreference.setChecked(checked);
+ }
+
+ @Override
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ SystemProperties.set(SECURIZE_PROPERTY, String.valueOf((boolean) newValue));
+ mSwitchPreference.setChecked((boolean) newValue);
+ return true;
+ }
+
+}
diff --git a/src/com/android/settings/treble/TrebleSettings.java b/src/com/android/settings/treble/TrebleSettings.java
index 634b7ce3ce..149c18f231 100644
--- a/src/com/android/settings/treble/TrebleSettings.java
+++ b/src/com/android/settings/treble/TrebleSettings.java
@@ -41,6 +41,7 @@ public class TrebleSettings extends DashboardFragment {
controllers.add(new OverrideMinimumBrightnessPreferenceController(context));
controllers.add(new InstallImsApkPreferenceController(context));
controllers.add(new OverrideVolteAvailabilityPreferenceController(context));
+ controllers.add(new SecurizePreferenceController(context));
controllers.add(new OverrideNavbarAvailabilityPreferenceController(context));
return controllers;
}
--
2.25.1