diff --git a/Misc/Features/GrapheneOS.txt b/Misc/Features/GrapheneOS.txt index 471d04c9..30f15a81 100644 --- a/Misc/Features/GrapheneOS.txt +++ b/Misc/Features/GrapheneOS.txt @@ -75,6 +75,10 @@ https://github.com/GrapheneOS/platform_packages_apps_Settings/commit/993f35ba0d4 https://github.com/GrapheneOS/platform_packages_apps_Settings/commit/9312b4b33dc4e3bfbb2869321cdd9e965df6409a https://github.com/GrapheneOS/platform_packages_apps_Settings/commit/10a3b946b97fe73daa342952f56ed7217ffd22cc +[implemented] presidential alert toggle +14 https://github.com/GrapheneOS/platform_packages_apps_CellBroadcastReceiver/commit/1ecefab7fdf23f687446ff1e2d72064385721b7e +13 https://github.com/GrapheneOS/platform_packages_apps_CellBroadcastReceiver/commit/0ac1c1e654abcb39effc862b49ded02fcdf859e6 + [implemented] tile restrictions 13 https://github.com/GrapheneOS/platform_frameworks_base/commit/6c3be72e795b4b2de830dd981787f197cc1aa7ee 12 https://github.com/GrapheneOS/platform_frameworks_base/commit/6f7cde6351b1ba2fb0513d713ad20d42e7f18745 diff --git a/Patches/LineageOS-20.0/android_packages_apps_CellBroadcastReceiver/0001-presidential_alert_toggle.patch b/Patches/LineageOS-20.0/android_packages_apps_CellBroadcastReceiver/0001-presidential_alert_toggle.patch new file mode 100644 index 00000000..7e8d3428 --- /dev/null +++ b/Patches/LineageOS-20.0/android_packages_apps_CellBroadcastReceiver/0001-presidential_alert_toggle.patch @@ -0,0 +1,154 @@ +From 0ac1c1e654abcb39effc862b49ded02fcdf859e6 Mon Sep 17 00:00:00 2001 +From: Daniel Micay +Date: Sun, 13 Feb 2022 00:55:33 -0500 +Subject: [PATCH] allow toggling presidential alerts + +Squashed with +commit 9cf7c4504af4cf2fbe30557d488a0121939d0d4c +Author: r3g_5z +Date: Sun Mar 19 13:19:18 2023 -0400 + + use separate string to define presidential alerts +--- + res/values/config.xml | 2 +- + res/values/strings.xml | 2 ++ + res/xml/preferences.xml | 3 +-- + .../CellBroadcastAlertService.java | 4 ++-- + .../CellBroadcastChannelManager.java | 6 +++--- + .../cellbroadcastreceiver/CellBroadcastReceiver.java | 8 ++++++++ + .../cellbroadcastreceiver/CellBroadcastSettings.java | 11 ++++++++++- + 7 files changed, 27 insertions(+), 9 deletions(-) + +diff --git a/res/values/config.xml b/res/values/config.xml +index c4fd6000f..09ef04845 100644 +--- a/res/values/config.xml ++++ b/res/values/config.xml +@@ -22,7 +22,7 @@ + + true + +- false ++ true + + true + +diff --git a/res/values/strings.xml b/res/values/strings.xml +index 66a8a306c..10d43df0a 100644 +--- a/res/values/strings.xml ++++ b/res/values/strings.xml +@@ -392,4 +392,6 @@ + + Settings changed by carrier + Tap to see wireless emergency alert settings ++ ++ National warning messages. + +diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml +index fc0649e24..08c1ccf30 100644 +--- a/res/xml/preferences.xml ++++ b/res/xml/preferences.xml +@@ -45,9 +45,8 @@ + + + + + +diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java b/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java +index d8633bb20..70125a08d 100644 +--- a/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java ++++ b/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java +@@ -522,8 +522,8 @@ && checkAlertConfigEnabled(subId, + } + // CMAS warning types + if (resourcesKey == R.array.cmas_presidential_alerts_channels_range_strings) { +- // always enabled +- return true; ++ return emergencyAlertEnabled && checkAlertConfigEnabled( ++ subId, CellBroadcastSettings.KEY_ENABLE_CMAS_PRESIDENTIAL_ALERTS, true); + } + if (resourcesKey == R.array.cmas_alert_extreme_channels_range_strings) { + return emergencyAlertEnabled && checkAlertConfigEnabled( +diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastChannelManager.java b/src/com/android/cellbroadcastreceiver/CellBroadcastChannelManager.java +index 973fab896..949cab2af 100644 +--- a/src/com/android/cellbroadcastreceiver/CellBroadcastChannelManager.java ++++ b/src/com/android/cellbroadcastreceiver/CellBroadcastChannelManager.java +@@ -271,9 +271,9 @@ public CellBroadcastChannelRange(Context context, int subId, + } + break; + case KEY_ALWAYS_ON: +- if (value.equalsIgnoreCase("true")) { +- mAlwaysOn = true; +- } ++ //if (value.equalsIgnoreCase("true")) { ++ //mAlwaysOn = true; ++ //} + break; + case KEY_SCREEN_ON_DURATION: + mScreenOnDuration = Integer.parseInt(value); +diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastReceiver.java b/src/com/android/cellbroadcastreceiver/CellBroadcastReceiver.java +index 55f19f308..2c141d18d 100644 +--- a/src/com/android/cellbroadcastreceiver/CellBroadcastReceiver.java ++++ b/src/com/android/cellbroadcastreceiver/CellBroadcastReceiver.java +@@ -579,6 +579,8 @@ public void handleCdmaSmsCbProgramData(ArrayList programDa + break; + + case CdmaSmsCbProgramData.OPERATION_CLEAR_CATEGORIES: ++ tryCdmaSetCategory(mContext, ++ CdmaSmsCbProgramData.CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT, false); + tryCdmaSetCategory(mContext, + CdmaSmsCbProgramData.CATEGORY_CMAS_EXTREME_THREAT, false); + tryCdmaSetCategory(mContext, +@@ -606,6 +608,12 @@ public void tryCdmaSetCategory(Context context, int category, boolean enable) { + SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context); + + switch (category) { ++ case CdmaSmsCbProgramData.CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT: ++ sharedPrefs.edit().putBoolean( ++ CellBroadcastSettings.KEY_ENABLE_CMAS_PRESIDENTIAL_ALERTS, enable) ++ .apply(); ++ break; ++ + case CdmaSmsCbProgramData.CATEGORY_CMAS_EXTREME_THREAT: + sharedPrefs.edit().putBoolean( + CellBroadcastSettings.KEY_ENABLE_CMAS_EXTREME_THREAT_ALERTS, enable) +diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java b/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java +index f8cdbb7e5..05e8af865 100644 +--- a/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java ++++ b/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java +@@ -456,6 +456,9 @@ public boolean onPreferenceChange(Preference pref, Object newValue) { + if (mAreaUpdateInfoCheckBox != null) { + mAreaUpdateInfoCheckBox.setOnPreferenceChangeListener(startConfigServiceListener); + } ++ if (mPresidentialCheckBox != null) { ++ mPresidentialCheckBox.setOnPreferenceChangeListener(startConfigServiceListener); ++ } + if (mExtremeCheckBox != null) { + mExtremeCheckBox.setOnPreferenceChangeListener(startConfigServiceListener); + } +@@ -561,7 +564,9 @@ private void updatePreferenceVisibility() { + + if (mPresidentialCheckBox != null) { + mPresidentialCheckBox.setVisible( +- res.getBoolean(R.bool.show_presidential_alerts_settings)); ++ res.getBoolean(R.bool.show_presidential_alerts_settings) ++ && !channelManager.getCellBroadcastChannelRanges( ++ R.array.cmas_presidential_alerts_channels_range_strings).isEmpty()); + } + + if (mExtremeCheckBox != null) { +@@ -723,6 +728,10 @@ public boolean onPreferenceChange(Preference pref, Object newValue) { + + + private void setAlertsEnabled(boolean alertsEnabled) { ++ if (mPresidentialCheckBox != null) { ++ mPresidentialCheckBox.setEnabled(alertsEnabled); ++ mPresidentialCheckBox.setChecked(alertsEnabled); ++ } + if (mSevereCheckBox != null) { + mSevereCheckBox.setEnabled(alertsEnabled); + mSevereCheckBox.setChecked(alertsEnabled); diff --git a/Patches/Linux b/Patches/Linux index 570ed4a1..b1813c51 160000 --- a/Patches/Linux +++ b/Patches/Linux @@ -1 +1 @@ -Subproject commit 570ed4a10c151700210dd6b52f4f2ed62c59807c +Subproject commit b1813c51bbef0836e60871fea5e1a1880135ead3 diff --git a/Scripts/LineageOS-20.0/Patch.sh b/Scripts/LineageOS-20.0/Patch.sh index df19ab91..81db7517 100644 --- a/Scripts/LineageOS-20.0/Patch.sh +++ b/Scripts/LineageOS-20.0/Patch.sh @@ -275,6 +275,9 @@ fi; #cp $DOS_PATCHES_COMMON/android_packages_apps_CarrierConfig/*.xml assets/; #fi; +if enterAndClear "packages/apps/CellBroadcastReceiver"; then +applyPatch "$DOS_PATCHES/android_packages_apps_CellBroadcastReceiver/0001-presidential_alert_toggle.patch"; #Allow toggling presidential alertss (GrapheneOS) + if enterAndClear "packages/apps/Contacts"; then applyPatch "$DOS_PATCHES_COMMON/android_packages_apps_Contacts/0001-No_Google_Links.patch"; #Remove Privacy Policy and Terms of Service links (GrapheneOS) applyPatch "$DOS_PATCHES_COMMON/android_packages_apps_Contacts/0002-No_Google_Backup.patch"; #Backups are not sent to Google (GrapheneOS)