Many fixes to get bluejay booting & working proper

- Enable APEX for Pixel 6/7, necessary for camera and pKVM
  - Also drop hack removing pKVM for Pixel 6/7
  - patch from GrapheneOS

- Extend hmalloc workaround to /apex

- Deblobber:
  - actually handle wildcard f/w/b overlays
  - move some stuff around
  - remove some more Pixel blobs
  - flag and disable removal of camera extensions, being able to use the second camera is nice

- Adjust what hardenDefconfig disables, caused boot issues
  minimal impact as most of these are already default-disabled
  can be narrowed down in future

- Disable some of the bionic hardening patches, causing more boot issues
  annoying to lose, but having a phone that boots is more important

- Add LTE only mode to 17.1, 18.1, 19.1, and 20.0, credit GrapheneOS

- Remove Pixel 2 ramdisk compression reverts, fixed upstream

And yes, I know I should've split up this commit...

Signed-off-by: Tad <tad@spotco.us>
This commit is contained in:
Tad 2022-12-23 22:00:31 -05:00
parent 751d1e8d72
commit 06254708be
No known key found for this signature in database
GPG key ID: B286E9F57A07424B
19 changed files with 884 additions and 100 deletions

View file

@ -0,0 +1,171 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: inthewaves <inthewaves@pm.me>
Date: Thu, 27 Feb 2020 19:34:56 -0800
Subject: [PATCH] add LTE-only option
This mostly follows the work done in
https://github.com/AndroidHardeningArchive/platform_packages_services_Telephony/commit/7f1b1088ade90096d874e8e554f0d47b9040ed14
Closes https://github.com/GrapheneOS/os_issue_tracker/issues/107
---
res/values/arrays.xml | 14 +++++++++++++-
res/values/strings.xml | 6 ++++++
.../EnabledNetworkModePreferenceController.java | 7 ++++++-
.../PreferredNetworkModePreferenceController.java | 2 +-
4 files changed, 26 insertions(+), 3 deletions(-)
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 6d95bcc58b..072004e447 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -1301,16 +1301,19 @@
</string-array>
<string-array name="enabled_networks_choices" translatable="false">
+ <item>@string/network_lte_only</item>
<item>@string/network_lte</item>
<item>@string/network_3G</item>
<item>@string/network_2G</item>
</string-array>
<string-array name="enabled_networks_4g_choices" translatable="false">
+ <item>@string/network_4G_only</item>
<item>@string/network_4G</item>
<item>@string/network_3G</item>
<item>@string/network_2G</item>
</string-array>
<string-array name="enabled_networks_values" translatable="false">
+ <item>"11"</item>
<item>"9"</item>
<item>"0"</item>
<item>"1"</item>
@@ -1346,7 +1349,7 @@
<item>CDMA + LTE/EvDo</item>
<item>GSM/WCDMA/LTE</item>
<item>LTE/CDMA/EvDo/GSM/WCDMA</item>
- <item>LTE</item>
+ <item>LTE only</item>
<item>LTE / WCDMA</item>
<item>TDSCDMA only</item>
<item>TDSCDMA/WCDMA</item>
@@ -1421,14 +1424,17 @@
</string-array>
<string-array name="enabled_networks_except_gsm_choices" translatable="false">
+ <item>@string/network_lte_only</item>
<item>@string/network_lte</item>
<item>@string/network_3G</item>
</string-array>
<string-array name="enabled_networks_except_gsm_4g_choices" translatable="false">
+ <item>@string/network_4G_only</item>
<item>@string/network_4G</item>
<item>@string/network_3G</item>
</string-array>
<string-array name="enabled_networks_except_gsm_values" translatable="false">
+ <item>"11"</item>
<item>"9"</item>
<item>"0"</item>
</string-array>
@@ -1450,12 +1456,14 @@
</string-array>
<string-array name="enabled_networks_cdma_choices" translatable="false">
+ <item>@string/network_lte_only</item>
<item>@string/network_lte</item>
<item>@string/network_3G</item>
<item>@string/network_1x</item>
<item>@string/network_global</item>
</string-array>
<string-array name="enabled_networks_cdma_values" translatable="false">
+ <item>"11"</item>
<item>"8"</item>
<item>"4"</item>
<item>"5"</item>
@@ -1472,20 +1480,24 @@
</string-array>
<string-array name="enabled_networks_cdma_only_lte_choices" translatable="false">
+ <item>@string/network_lte_only</item>
<item>@string/network_lte</item>
<item>@string/network_global</item>
</string-array>
<string-array name="enabled_networks_cdma_only_lte_values" translatable="false">
+ <item>"11"</item>
<item>"8"</item>
<item>"10"</item>
</string-array>
<string-array name="enabled_networks_tdscdma_choices" translatable="false">
+ <item>@string/network_lte_only</item>
<item>@string/network_lte</item>
<item>@string/network_3G</item>
<item>@string/network_2G</item>
</string-array>
<string-array name="enabled_networks_tdscdma_values" translatable="false">
+ <item>"11"</item>
<item>"22"</item>
<item>"18"</item>
<item>"1"</item>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 197882d66e..88bd100122 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -10942,6 +10942,8 @@
<string name="preferred_network_mode_cdma_evdo_gsm_wcdma_summary">Preferred network mode: CDMA/EvDo/GSM/WCDMA</string>
<!-- LTE [CHAR LIMIT=NONE] -->
<string name="preferred_network_mode_lte_summary">Preferred network mode: LTE </string>
+ <!-- LTE only [CHAR LIMIT=100] -->
+ <string name="preferred_network_mode_lte_only_summary">Preferred network mode: LTE only</string>
<!-- GSM/WCDMA/LTE [CHAR LIMIT=NONE] -->
<string name="preferred_network_mode_lte_gsm_wcdma_summary">Preferred network mode: GSM/WCDMA/LTE</string>
<!-- CDMA+LTE/EVDO [CHAR LIMIT=NONE] -->
@@ -11009,8 +11011,12 @@
<string name="network_4G_pure" translatable="false">4G</string>
<!-- Text for Network lte [CHAR LIMIT=NONE] -->
<string name="network_lte">LTE (recommended)</string>
+ <!-- Text for Network lte only [CHAR LIMIT=NONE] -->
+ <string name="network_lte_only">LTE only</string>
<!-- Text for Network 4g [CHAR LIMIT=NONE] -->
<string name="network_4G">4G (recommended)</string>
+ <!-- Text for Network 4g only [CHAR LIMIT=NONE] -->
+ <string name="network_4G_only">4G only</string>
<!-- Text for Network 3g [CHAR LIMIT=NONE] -->
<string name="network_3G" translatable="false">3G</string>
<!-- Text for Network 2g [CHAR LIMIT=NONE] -->
diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
index b9be4c2f10..d577f9ac55 100644
--- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
@@ -438,7 +438,6 @@ public class EnabledNetworkModePreferenceController extends
R.string.preferred_network_mode_lte_gsm_umts_summary);
break;
}
- case TelephonyManager.NETWORK_MODE_LTE_ONLY:
case TelephonyManager.NETWORK_MODE_LTE_WCDMA:
if (!mIsGlobalCdma) {
preference.setValue(
@@ -452,6 +451,12 @@ public class EnabledNetworkModePreferenceController extends
preference.setSummary(R.string.network_global);
}
break;
+ case TelephonyManager.NETWORK_MODE_LTE_ONLY:
+ preference.setValue(
+ Integer.toString(TelephonyManager.NETWORK_MODE_LTE_ONLY));
+ preference.setSummary(
+ mShow4GForLTE ? R.string.network_4G_only : R.string.network_lte_only);
+ break;
case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO:
if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
preference.setSummary(
diff --git a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
index 965fc729d3..3a7261b5b8 100644
--- a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
@@ -143,7 +143,7 @@ public class PreferredNetworkModePreferenceController extends TelephonyBasePrefe
case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA:
return R.string.preferred_network_mode_lte_tdscdma_summary;
case TelephonyManager.NETWORK_MODE_LTE_ONLY:
- return R.string.preferred_network_mode_lte_summary;
+ return R.string.preferred_network_mode_lte_only_summary;
case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM:
return R.string.preferred_network_mode_lte_tdscdma_gsm_summary;
case TelephonyManager.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:

View file

@ -0,0 +1,177 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: inthewaves <inthewaves@pm.me>
Date: Thu, 27 Feb 2020 19:34:56 -0800
Subject: [PATCH 1/3] add LTE only setting
---
res/values/arrays.xml | 5 +++-
res/values/strings.xml | 6 ++++
...nabledNetworkModePreferenceController.java | 29 ++++++++++++++++++-
...ferredNetworkModePreferenceController.java | 2 +-
4 files changed, 39 insertions(+), 3 deletions(-)
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index e93794e955..af140191ee 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -1393,6 +1393,9 @@
<item>4</item> <!-- AutofillManager.FLAG_ADD_CLIENT_VERBOSE -->
</string-array>
+ <!-- Note: The LTE only option is added in code, not here. Also, these enabled_networks_choices
+ and enabled_networks_4g_choices string arrays are just placeholders for
+ mobile_network_settings.xml -->
<string-array name="enabled_networks_choices" translatable="false">
<item>@string/network_lte</item>
<item>@string/network_3G</item>
@@ -1482,7 +1485,7 @@
<item>CDMA + LTE/EvDo</item>
<item>GSM/WCDMA/LTE</item>
<item>LTE/CDMA/EvDo/GSM/WCDMA</item>
- <item>LTE</item>
+ <item>LTE only</item>
<item>LTE / WCDMA</item>
<item>TDSCDMA only</item>
<item>TDSCDMA/WCDMA</item>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index b04499511b..53834ef17a 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -11593,6 +11593,8 @@
<string name="preferred_network_mode_cdma_evdo_gsm_wcdma_summary">Preferred network mode: CDMA/EvDo/GSM/WCDMA</string>
<!-- LTE [CHAR LIMIT=NONE] -->
<string name="preferred_network_mode_lte_summary">Preferred network mode: LTE </string>
+ <!-- LTE only [CHAR LIMIT=100] -->
+ <string name="preferred_network_mode_lte_only_summary">Preferred network mode: LTE only</string>
<!-- GSM/WCDMA/LTE [CHAR LIMIT=NONE] -->
<string name="preferred_network_mode_lte_gsm_wcdma_summary">Preferred network mode: GSM/WCDMA/LTE</string>
<!-- CDMA+LTE/EVDO [CHAR LIMIT=NONE] -->
@@ -11660,8 +11662,12 @@
<string name="network_4G_pure" translatable="false">4G</string>
<!-- Text for Network lte [CHAR LIMIT=NONE] -->
<string name="network_lte">LTE (recommended)</string>
+ <!-- Text for Network lte only [CHAR LIMIT=NONE] -->
+ <string name="network_lte_only">LTE only</string>
<!-- Text for Network 4g [CHAR LIMIT=NONE] -->
<string name="network_4G">4G (recommended)</string>
+ <!-- Text for Network 4g only [CHAR LIMIT=NONE] -->
+ <string name="network_4G_only">4G only</string>
<!-- Text for Network 3g [CHAR LIMIT=NONE] -->
<string name="network_3G" translatable="false">3G</string>
<!-- Text for Network 2g [CHAR LIMIT=NONE] -->
diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
index fd585a151d..29111b89ec 100644
--- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
@@ -235,6 +235,7 @@ public class EnabledNetworkModePreferenceController extends
}
add5gEntry(addNrToLteNetworkType(entryValuesInt[0]));
addLteEntry(entryValuesInt[0]);
+ addLteOnlyEntry();
add3gEntry(entryValuesInt[1]);
add1xEntry(entryValuesInt[2]);
addGlobalEntry(entryValuesInt[3]);
@@ -259,6 +260,7 @@ public class EnabledNetworkModePreferenceController extends
"ENABLED_NETWORKS_CDMA_ONLY_LTE_CHOICES index error.");
}
addLteEntry(entryValuesInt[0]);
+ addLteOnlyEntry();
addGlobalEntry(entryValuesInt[1]);
break;
case ENABLED_NETWORKS_TDSCDMA_CHOICES:
@@ -271,6 +273,7 @@ public class EnabledNetworkModePreferenceController extends
}
add5gEntry(addNrToLteNetworkType(entryValuesInt[0]));
addLteEntry(entryValuesInt[0]);
+ addLteOnlyEntry();
add3gEntry(entryValuesInt[1]);
add2gEntry(entryValuesInt[2]);
break;
@@ -294,6 +297,7 @@ public class EnabledNetworkModePreferenceController extends
}
add5gEntry(addNrToLteNetworkType(entryValuesInt[0]));
add4gEntry(entryValuesInt[0]);
+ add4gOnlyEntry();
add3gEntry(entryValuesInt[1]);
break;
case ENABLED_NETWORKS_EXCEPT_GSM_CHOICES:
@@ -306,6 +310,7 @@ public class EnabledNetworkModePreferenceController extends
}
add5gEntry(addNrToLteNetworkType(entryValuesInt[0]));
addLteEntry(entryValuesInt[0]);
+ addLteOnlyEntry();
add3gEntry(entryValuesInt[1]);
break;
case ENABLED_NETWORKS_EXCEPT_LTE_CHOICES:
@@ -330,6 +335,7 @@ public class EnabledNetworkModePreferenceController extends
add5gEntry(addNrToLteNetworkType(
entryValuesInt[0]));
add4gEntry(entryValuesInt[0]);
+ add4gOnlyEntry();
add3gEntry(entryValuesInt[1]);
add2gEntry(entryValuesInt[2]);
break;
@@ -342,6 +348,7 @@ public class EnabledNetworkModePreferenceController extends
}
add5gEntry(addNrToLteNetworkType(entryValuesInt[0]));
addLteEntry(entryValuesInt[0]);
+ addLteOnlyEntry();
add3gEntry(entryValuesInt[1]);
add2gEntry(entryValuesInt[2]);
break;
@@ -487,7 +494,6 @@ public class EnabledNetworkModePreferenceController extends
R.string.preferred_network_mode_lte_gsm_umts_summary);
break;
}
- case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA:
if (!mIsGlobalCdma) {
setSelectedEntry(
@@ -505,6 +511,11 @@ public class EnabledNetworkModePreferenceController extends
setSummary(R.string.network_global);
}
break;
+ case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
+ setSelectedEntry(TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY);
+ setSummary(mShow4gForLTE
+ ? R.string.network_4G_only : R.string.network_lte_only);
+ break;
case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO:
if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
setSummary(
@@ -717,6 +728,22 @@ public class EnabledNetworkModePreferenceController extends
return mSupported5gRadioAccessFamily && mAllowed5gNetworkType;
}
+ /**
+ * Add LTE only entry.
+ */
+ private void addLteOnlyEntry() {
+ mEntries.add(mContext.getString(R.string.network_lte_only));
+ mEntriesValue.add(TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY);
+ }
+
+ /**
+ * Add 4G only entry
+ */
+ private void add4gOnlyEntry() {
+ mEntries.add(mContext.getString(R.string.network_4G_only));
+ mEntriesValue.add(TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY);
+ }
+
/**
* Add LTE entry. If device supported 5G, show "LTE" instead of "LTE (recommended)".
*/
diff --git a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
index ff6ff596fe..2b9bc3e485 100644
--- a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
@@ -136,7 +136,7 @@ public class PreferredNetworkModePreferenceController extends TelephonyBasePrefe
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA:
return R.string.preferred_network_mode_lte_tdscdma_summary;
case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
- return R.string.preferred_network_mode_lte_summary;
+ return R.string.preferred_network_mode_lte_only_summary;
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM:
return R.string.preferred_network_mode_lte_tdscdma_gsm_summary;
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:

View file

@ -0,0 +1,26 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: flawedworld <flawedworld@flawed.world>
Date: Fri, 6 Aug 2021 21:23:33 +0000
Subject: [PATCH 2/3] Show preferred network options no matter the carrier
configuration
This ignores:
https://developer.android.com/reference/android/telephony/CarrierConfigManager#KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL
https://developer.android.com/reference/android/telephony/CarrierConfigManager#KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL
---
.../telephony/EnabledNetworkModePreferenceController.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
index 29111b89ec..8cc81b84b0 100644
--- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
@@ -76,7 +76,7 @@ public class EnabledNetworkModePreferenceController extends
CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL)
|| carrierConfig.getBoolean(
CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL)) {
- visible = false;
+ visible = true;
} else if (carrierConfig.getBoolean(CarrierConfigManager.KEY_WORLD_PHONE_BOOL)) {
visible = false;
} else {

View file

@ -0,0 +1,21 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: flawedworld <flawedworld@flawed.world>
Date: Tue, 17 Aug 2021 22:41:26 +0000
Subject: [PATCH 3/3] Add LTE only entry when carrier enables world mode.
---
.../telephony/EnabledNetworkModePreferenceController.java | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
index 8cc81b84b0..8bad6daf2b 100644
--- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
@@ -360,6 +360,7 @@ public class EnabledNetworkModePreferenceController extends
throw new IllegalArgumentException(
"PREFERRED_NETWORK_MODE_CHOICES_WORLD_MODE index error.");
}
+ addLteOnlyEntry();
addGlobalEntry(entryValuesInt[0]);
addCustomEntry(mContext.getString(R.string.network_world_mode_cdma_lte),
entryValuesInt[1]);

View file

@ -0,0 +1,195 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: inthewaves <inthewaves@pm.me>
Date: Sun, 17 Oct 2021 00:29:28 +0100
Subject: [PATCH] add LTE only setting
Unlike 11, enable LTE only when World mode is enabled also and ignore CarrierConfig options which essentially break the feature by hiding the preferred networks option.
---
res/values/arrays.xml | 5 ++-
res/values/strings.xml | 6 ++++
...nabledNetworkModePreferenceController.java | 32 +++++++++++++++++--
...ferredNetworkModePreferenceController.java | 2 +-
4 files changed, 41 insertions(+), 4 deletions(-)
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index bb95662047..7610a6d4cc 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -1474,6 +1474,9 @@
<item>4</item> <!-- AutofillManager.FLAG_ADD_CLIENT_VERBOSE -->
</string-array>
+ <!-- Note: The LTE only option is added in code, not here. Also, these enabled_networks_choices
+ and enabled_networks_4g_choices string arrays are just placeholders for
+ mobile_network_settings.xml -->
<string-array name="enabled_networks_choices" translatable="false">
<item>@string/network_lte</item>
<item>@string/network_3G</item>
@@ -1563,7 +1566,7 @@
<item>CDMA + LTE/EvDo</item>
<item>GSM/WCDMA/LTE</item>
<item>LTE/CDMA/EvDo/GSM/WCDMA</item>
- <item>LTE</item>
+ <item>LTE Only</item>
<item>LTE / WCDMA</item>
<item>TDSCDMA only</item>
<item>TDSCDMA/WCDMA</item>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 58b17eeccf..98f4d1f6f4 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -12631,6 +12631,8 @@
<string name="preferred_network_mode_cdma_evdo_gsm_wcdma_summary">Preferred network mode: CDMA/EvDo/GSM/WCDMA</string>
<!-- LTE [CHAR LIMIT=NONE] -->
<string name="preferred_network_mode_lte_summary">Preferred network mode: LTE </string>
+ <!-- LTE only [CHAR LIMIT=100] -->
+ <string name="preferred_network_mode_lte_only_summary">Preferred network mode: LTE only</string>
<!-- GSM/WCDMA/LTE [CHAR LIMIT=NONE] -->
<string name="preferred_network_mode_lte_gsm_wcdma_summary">Preferred network mode: GSM/WCDMA/LTE</string>
<!-- CDMA+LTE/EVDO [CHAR LIMIT=NONE] -->
@@ -12696,8 +12698,12 @@
<string name="network_4G_pure" translatable="false">4G</string>
<!-- Text for Network lte [CHAR LIMIT=NONE] -->
<string name="network_lte">LTE (recommended)</string>
+ <!-- Text for Network lte only [CHAR LIMIT=NONE] -->
+ <string name="network_lte_only">LTE only</string>
<!-- Text for Network 4g [CHAR LIMIT=NONE] -->
<string name="network_4G">4G (recommended)</string>
+ <!-- Text for Network 4g only [CHAR LIMIT=NONE] -->
+ <string name="network_4G_only">4G only</string>
<!-- Text for Network 3g [CHAR LIMIT=NONE] -->
<string name="network_3G" translatable="false">3G</string>
<!-- Text for Network 2g [CHAR LIMIT=NONE] -->
diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
index 25e0ae0765..e3967dd292 100644
--- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
@@ -78,7 +78,7 @@ public class EnabledNetworkModePreferenceController extends
CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL)
|| carrierConfig.getBoolean(
CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL)) {
- visible = false;
+ visible = true;
} else if (carrierConfig.getBoolean(CarrierConfigManager.KEY_WORLD_PHONE_BOOL)) {
visible = false;
} else {
@@ -248,6 +248,7 @@ public class EnabledNetworkModePreferenceController extends
}
add5gEntry(addNrToLteNetworkType(entryValuesInt[0]));
addLteEntry(entryValuesInt[0]);
+ addLteOnlyEntry();
add3gEntry(entryValuesInt[1]);
add1xEntry(entryValuesInt[2]);
addGlobalEntry(entryValuesInt[3]);
@@ -272,6 +273,7 @@ public class EnabledNetworkModePreferenceController extends
"ENABLED_NETWORKS_CDMA_ONLY_LTE_CHOICES index error.");
}
addLteEntry(entryValuesInt[0]);
+ addLteOnlyEntry();
addGlobalEntry(entryValuesInt[1]);
break;
case ENABLED_NETWORKS_TDSCDMA_CHOICES:
@@ -284,6 +286,7 @@ public class EnabledNetworkModePreferenceController extends
}
add5gEntry(addNrToLteNetworkType(entryValuesInt[0]));
addLteEntry(entryValuesInt[0]);
+ addLteOnlyEntry();
add3gEntry(entryValuesInt[1]);
add2gEntry(entryValuesInt[2]);
break;
@@ -307,6 +310,7 @@ public class EnabledNetworkModePreferenceController extends
}
add5gEntry(addNrToLteNetworkType(entryValuesInt[0]));
add4gEntry(entryValuesInt[0]);
+ add4gOnlyEntry();
add3gEntry(entryValuesInt[1]);
break;
case ENABLED_NETWORKS_EXCEPT_GSM_CHOICES:
@@ -319,6 +323,7 @@ public class EnabledNetworkModePreferenceController extends
}
add5gEntry(addNrToLteNetworkType(entryValuesInt[0]));
addLteEntry(entryValuesInt[0]);
+ addLteOnlyEntry();
add3gEntry(entryValuesInt[1]);
break;
case ENABLED_NETWORKS_EXCEPT_LTE_CHOICES:
@@ -343,6 +348,7 @@ public class EnabledNetworkModePreferenceController extends
add5gEntry(addNrToLteNetworkType(
entryValuesInt[0]));
add4gEntry(entryValuesInt[0]);
+ add4gOnlyEntry();
add3gEntry(entryValuesInt[1]);
add2gEntry(entryValuesInt[2]);
break;
@@ -355,6 +361,7 @@ public class EnabledNetworkModePreferenceController extends
}
add5gEntry(addNrToLteNetworkType(entryValuesInt[0]));
addLteEntry(entryValuesInt[0]);
+ addLteOnlyEntry();
add3gEntry(entryValuesInt[1]);
add2gEntry(entryValuesInt[2]);
break;
@@ -366,6 +373,7 @@ public class EnabledNetworkModePreferenceController extends
throw new IllegalArgumentException(
"PREFERRED_NETWORK_MODE_CHOICES_WORLD_MODE index error.");
}
+ addLteOnlyEntry();
addGlobalEntry(entryValuesInt[0]);
addCustomEntry(
@@ -505,7 +513,6 @@ public class EnabledNetworkModePreferenceController extends
R.string.preferred_network_mode_lte_gsm_umts_summary);
break;
}
- case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA:
if (!mIsGlobalCdma) {
setSelectedEntry(
@@ -523,6 +530,11 @@ public class EnabledNetworkModePreferenceController extends
setSummary(R.string.network_global);
}
break;
+ case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
+ setSelectedEntry(TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY);
+ setSummary(mShow4gForLTE
+ ? R.string.network_4G_only : R.string.network_lte_only);
+ break;
case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO:
if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
setSummary(
@@ -732,6 +744,22 @@ public class EnabledNetworkModePreferenceController extends
return mSupported5gRadioAccessFamily && mAllowed5gNetworkType;
}
+ /**
+ * Add LTE only entry.
+ */
+ private void addLteOnlyEntry() {
+ mEntries.add(mContext.getString(R.string.network_lte_only));
+ mEntriesValue.add(TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY);
+ }
+
+ /**
+ * Add 4G only entry
+ */
+ private void add4gOnlyEntry() {
+ mEntries.add(mContext.getString(R.string.network_4G_only));
+ mEntriesValue.add(TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY);
+ }
+
/**
* Add LTE entry. If device supported 5G, show "LTE" instead of "LTE (recommended)".
*/
diff --git a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
index 24197795fa..0202163bba 100644
--- a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
@@ -131,7 +131,7 @@ public class PreferredNetworkModePreferenceController extends TelephonyBasePrefe
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA:
return R.string.preferred_network_mode_lte_tdscdma_summary;
case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
- return R.string.preferred_network_mode_lte_summary;
+ return R.string.preferred_network_mode_lte_only_summary;
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM:
return R.string.preferred_network_mode_lte_tdscdma_gsm_summary;
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:

View file

@ -0,0 +1,28 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: flawedworld <flawedworld@flawed.world>
Date: Mon, 7 Mar 2022 01:38:23 +0000
Subject: [PATCH] only enable APEX on 6th/7th gen Pixel devices
Change-Id: Icffb72d8c3ed0e33e76538bb3427377c33c55ff9
[tad@spotco.us]: adjusted for Lineage
---
target/product/generic_system.mk | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/target/product/generic_system.mk b/target/product/generic_system.mk
index 7f5f74f4b..93e689444 100644
--- a/target/product/generic_system.mk
+++ b/target/product/generic_system.mk
@@ -21,8 +21,10 @@ $(call inherit-product, $(SRC_TARGET_DIR)/product/languages_default.mk)
# Add adb keys to debuggable AOSP builds (if they exist)
$(call inherit-product-if-exists, vendor/google/security/adb/vendor_key.mk)
-# Enable updating of APEXes
-$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
+# Enable updating of APEXes on 6th and 7th generation Pixel devices only
+ifneq (,$(filter lineage_cheetah lineage_panther lineage_oriole lineage_raven lineage_bluejay, $(TARGET_PRODUCT)))
+ $(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk)
+endif
# Shared java libs
PRODUCT_PACKAGES += \

View file

@ -10,7 +10,7 @@ Change-Id: I23513ec0379bbb10829f989690334e9704fd20e2
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/h_malloc.c b/h_malloc.c
index 32fb863..b8a858a 100644
index 32fb863..3382623 100644
--- a/h_malloc.c
+++ b/h_malloc.c
@@ -1082,7 +1082,8 @@ COLD static void handle_bugs(void) {
@ -19,7 +19,7 @@ index 32fb863..b8a858a 100644
const char camera_provider[] = "/vendor/bin/hw/android.hardware.camera.provider@2.4-service_64";
- if (strcmp(camera_provider, path) == 0) {
+ // Any camera executable on system partition
+ if (strcmp(camera_provider, path) == 0 || (strstr(path, "camera") != NULL && (strncmp("/system", path, 7) == 0 || strncmp("/vendor", path, 7) == 0))) {
+ if (strcmp(camera_provider, path) == 0 || (strstr(path, "camera") != NULL && (strncmp("/system", path, 7) == 0 || strncmp("/vendor", path, 7) == 0 || strncmp("/apex", path, 5) == 0))) {
ro.zero_on_free = false;
ro.purge_slabs = false;
ro.region_quarantine_protect = false;

View file

@ -10,7 +10,7 @@ Signed-off-by: Tad <tad@spotco.us>
1 file changed, 9 insertions(+)
diff --git a/h_malloc.c b/h_malloc.c
index b8a858a..7bb1396 100644
index 3382623..3b2856e 100644
--- a/h_malloc.c
+++ b/h_malloc.c
@@ -1088,6 +1088,15 @@ COLD static void handle_bugs(void) {

View file

@ -0,0 +1,143 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Pratyush <codelab@pratyush.dev>
Date: Fri, 19 Aug 2022 11:05:36 +0530
Subject: [PATCH] LTE Only Mode
Co-authored-by: inthewaves <inthewaves@pm.me>
---
res/values/strings.xml | 6 +++++
...nabledNetworkModePreferenceController.java | 25 ++++++++++++++++++-
...ferredNetworkModePreferenceController.java | 2 +-
3 files changed, 31 insertions(+), 2 deletions(-)
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 858d5a6588..3ca2c3f273 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -13032,6 +13032,8 @@
<string name="preferred_network_mode_cdma_evdo_gsm_wcdma_summary">Preferred network mode: CDMA/EvDo/GSM/WCDMA</string>
<!-- LTE [CHAR LIMIT=NONE] -->
<string name="preferred_network_mode_lte_summary">Preferred network mode: LTE </string>
+ <!-- LTE only [CHAR LIMIT=100] -->
+ <string name="preferred_network_mode_lte_only_summary">Preferred network mode: LTE only</string>
<!-- GSM/WCDMA/LTE [CHAR LIMIT=NONE] -->
<string name="preferred_network_mode_lte_gsm_wcdma_summary">Preferred network mode: GSM/WCDMA/LTE</string>
<!-- CDMA+LTE/EVDO [CHAR LIMIT=NONE] -->
@@ -13097,8 +13099,12 @@
<string name="network_4G_pure" translatable="false">4G</string>
<!-- Text for Network lte [CHAR LIMIT=NONE] -->
<string name="network_lte">LTE (recommended)</string>
+ <!-- Text for Network lte only [CHAR LIMIT=NONE] -->
+ <string name="network_lte_only">LTE only</string>
<!-- Text for Network 4g [CHAR LIMIT=NONE] -->
<string name="network_4G">4G (recommended)</string>
+ <!-- Text for Network 4g only [CHAR LIMIT=NONE] -->
+ <string name="network_4G_only">4G only</string>
<!-- Text for Network 3g [CHAR LIMIT=NONE] -->
<string name="network_3G" translatable="false">3G</string>
<!-- Text for Network 2g [CHAR LIMIT=NONE] -->
diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
index 43b3cc0e4c..bb0fc8d307 100644
--- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
@@ -90,7 +90,7 @@ public class EnabledNetworkModePreferenceController extends
CarrierConfigManager.KEY_HIDE_CARRIER_NETWORK_SETTINGS_BOOL)
|| carrierConfig.getBoolean(
CarrierConfigManager.KEY_HIDE_PREFERRED_NETWORK_TYPE_BOOL)) {
- visible = false;
+ visible = true;
} else if (carrierConfig.getBoolean(CarrierConfigManager.KEY_WORLD_PHONE_BOOL)) {
visible = false;
} else if (!isCallStateIdle()) {
@@ -237,6 +237,7 @@ public class EnabledNetworkModePreferenceController extends
}
void setPreferenceEntries() {
+ boolean lteOnlyUnsupported = false;
mTelephonyManager = mTelephonyManager.createForSubscriptionId(mSubId);
final PersistableBundle carrierConfig = mCarrierConfigCache.getConfigForSubId(mSubId);
final boolean display2gOptions = carrierConfig
@@ -254,6 +255,7 @@ public class EnabledNetworkModePreferenceController extends
.addFormat(UiOptions.PresentFormat.addGlobalEntry);
break;
case ENABLED_NETWORKS_CDMA_NO_LTE_CHOICES:
+ lteOnlyUnsupported = true;
uiOptions = uiOptions
.setChoices(R.array.enabled_networks_cdma_no_lte_values)
.addFormat(UiOptions.PresentFormat.add3gEntry)
@@ -273,6 +275,7 @@ public class EnabledNetworkModePreferenceController extends
.addFormat(UiOptions.PresentFormat.add2gEntry);
break;
case ENABLED_NETWORKS_EXCEPT_GSM_LTE_CHOICES:
+ lteOnlyUnsupported = true;
uiOptions = uiOptions
.setChoices(R.array.enabled_networks_except_gsm_lte_values)
.addFormat(UiOptions.PresentFormat.add3gEntry);
@@ -290,6 +293,7 @@ public class EnabledNetworkModePreferenceController extends
.addFormat(UiOptions.PresentFormat.add3gEntry);
break;
case ENABLED_NETWORKS_EXCEPT_LTE_CHOICES:
+ lteOnlyUnsupported = true;
uiOptions = uiOptions
.setChoices(R.array.enabled_networks_except_lte_values)
.addFormat(UiOptions.PresentFormat.add3gEntry)
@@ -310,6 +314,7 @@ public class EnabledNetworkModePreferenceController extends
.addFormat(UiOptions.PresentFormat.add2gEntry);
break;
case PREFERRED_NETWORK_MODE_CHOICES_WORLD_MODE:
+ lteOnlyUnsupported = true;
uiOptions = uiOptions
.setChoices(R.array.preferred_network_mode_values_world_mode)
.addFormat(UiOptions.PresentFormat.addGlobalEntry)
@@ -328,6 +333,11 @@ public class EnabledNetworkModePreferenceController extends
throw new IllegalArgumentException(
uiOptions.getType().name() + " index error.");
}
+
+ if (!lteOnlyUnsupported){
+ addLteOnlyEntry();
+ }
+
// Compose options based on given values and formats.
IntStream.range(0, formatList.size()).forEach(entryIndex -> {
switch (formatList.get(entryIndex)) {
@@ -506,6 +516,9 @@ public class EnabledNetworkModePreferenceController extends
break;
}
case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
+ setSummary(mShow4gForLTE
+ ? R.string.network_4G_only : R.string.network_lte_only);
+ break;
case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA:
if (!mIsGlobalCdma) {
setSelectedEntry(
@@ -771,6 +784,16 @@ public class EnabledNetworkModePreferenceController extends
mEntriesValue.add(value);
}
+ private void addLteOnlyEntry() {
+ if (mShow4gForLTE) {
+ mEntries.add(mContext.getString(R.string.network_4G_only));
+ mEntriesValue.add(TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY);
+ } else {
+ mEntries.add(mContext.getString(R.string.network_lte_only));
+ mEntriesValue.add(TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY);
+ }
+ }
+
private void addCustomEntry(String name, int value) {
mEntries.add(name);
mEntriesValue.add(value);
diff --git a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
index feeed91910..2746bbe92e 100644
--- a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
@@ -131,7 +131,7 @@ public class PreferredNetworkModePreferenceController extends TelephonyBasePrefe
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA:
return R.string.preferred_network_mode_lte_tdscdma_summary;
case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
- return R.string.preferred_network_mode_lte_summary;
+ return R.string.preferred_network_mode_lte_only_summary;
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM:
return R.string.preferred_network_mode_lte_tdscdma_gsm_summary;
case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:

View file

@ -0,0 +1,21 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: flawedworld <flawedworld@flawed.world>
Date: Tue, 23 Aug 2022 01:08:45 +0100
Subject: [PATCH] Fix LTE Only mode on World Mode
---
.../telephony/EnabledNetworkModePreferenceController.java | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
index bb0fc8d307..1be4e6f495 100644
--- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
@@ -314,7 +314,6 @@ public class EnabledNetworkModePreferenceController extends
.addFormat(UiOptions.PresentFormat.add2gEntry);
break;
case PREFERRED_NETWORK_MODE_CHOICES_WORLD_MODE:
- lteOnlyUnsupported = true;
uiOptions = uiOptions
.setChoices(R.array.preferred_network_mode_values_world_mode)
.addFormat(UiOptions.PresentFormat.addGlobalEntry)