diff options
author | Jack Yu <jackyu@google.com> | 2018-05-03 15:45:34 -0700 |
---|---|---|
committer | Jack Yu <jackyu@google.com> | 2018-05-03 16:00:57 -0700 |
commit | 562d16373bcc056097aff93c5c056d1f82f1e8f3 (patch) | |
tree | 4292079cfe2b312a5268d2f22852a55a64004c78 | |
parent | ce607236d2591975bb8ef41f2a35f8b02c79547e (diff) | |
download | CellBroadcastReceiver-562d16373bcc056097aff93c5c056d1f82f1e8f3.tar.gz |
Allowed developers enabling test channels through adb
By removing the 'force disabling test alert' flag check, this
will allow devleopers to enable test channels through
adb. Note this has no effect to the end user because when the
'force disabling test alert' flag is set, the toggle is hidden
in the settings and it's off by default.
The following command can enable test alerts through adb.
adb root
adb shell sed -i 's/enable_test_alerts\" value=\"false/enable_test_alerts\" value=\"true/' /data/user_de/0/com.android.cellbroadcastreceiver/shared_prefs/com.android.cellbroadcastreceiver_preferences.xml
Test: Manual
Bug: 77937838
Change-Id: I4070561240c8a8f4a94838beb387e78e07a85191
3 files changed, 6 insertions, 21 deletions
diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java b/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java index 6323ad5e0..38750030b 100644 --- a/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java +++ b/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java @@ -364,11 +364,6 @@ public class CellBroadcastAlertService extends Service { boolean emergencyAlertEnabled = prefs.getBoolean(CellBroadcastSettings.KEY_ENABLE_ALERTS_MASTER_TOGGLE, true); - // Check if ETWS/CMAS test message is forced to disabled on the device. - boolean forceDisableEtwsCmasTest = - CellBroadcastSettings.isFeatureEnabled(this, - CarrierConfigManager.KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL, false); - boolean enableAreaUpdateInfoAlerts = Resources.getSystem().getBoolean( com.android.internal.R.bool.config_showAreaUpdateInfoSettings) && prefs.getBoolean(CellBroadcastSettings.KEY_ENABLE_AREA_UPDATE_INFO_ALERTS, @@ -376,7 +371,6 @@ public class CellBroadcastAlertService extends Service { if (message.isEtwsTestMessage()) { return emergencyAlertEnabled && - !forceDisableEtwsCmasTest && PreferenceManager.getDefaultSharedPreferences(this) .getBoolean(CellBroadcastSettings.KEY_ENABLE_TEST_ALERTS, false); } @@ -429,7 +423,6 @@ public class CellBroadcastAlertService extends Service { return false; } else if (range.mAlertType == AlertType.TEST) { return emergencyAlertEnabled - && !forceDisableEtwsCmasTest && PreferenceManager.getDefaultSharedPreferences(this) .getBoolean(CellBroadcastSettings.KEY_ENABLE_TEST_ALERTS, false); @@ -478,7 +471,6 @@ public class CellBroadcastAlertService extends Service { || CellBroadcastChannelManager.checkCellBroadcastChannelRange(subId, channel, R.array.operator_defined_alert_range_strings, this)) { return emergencyAlertEnabled - && !forceDisableEtwsCmasTest && PreferenceManager.getDefaultSharedPreferences(this) .getBoolean(CellBroadcastSettings.KEY_ENABLE_TEST_ALERTS, false); diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastConfigService.java b/src/com/android/cellbroadcastreceiver/CellBroadcastConfigService.java index 35f290530..95d715451 100644 --- a/src/com/android/cellbroadcastreceiver/CellBroadcastConfigService.java +++ b/src/com/android/cellbroadcastreceiver/CellBroadcastConfigService.java @@ -23,7 +23,6 @@ import android.content.Intent; import android.content.SharedPreferences; import android.content.res.Resources; import android.preference.PreferenceManager; -import android.telephony.CarrierConfigManager; import android.telephony.SmsManager; import android.telephony.SubscriptionManager; import android.util.Log; @@ -147,12 +146,7 @@ public class CellBroadcastConfigService extends IntentService { boolean enableCmasAmberAlerts = enableAlertsMasterToggle && prefs.getBoolean( CellBroadcastSettings.KEY_ENABLE_CMAS_AMBER_ALERTS, true); - // Check if ETWS/CMAS test message is forced disabled on the device. - boolean forceDisableEtwsCmasTest = - CellBroadcastSettings.isFeatureEnabled(this, - CarrierConfigManager.KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL, false); - - boolean enableTestAlerts = !forceDisableEtwsCmasTest && enableAlertsMasterToggle + boolean enableTestAlerts = enableAlertsMasterToggle && prefs.getBoolean(CellBroadcastSettings.KEY_ENABLE_TEST_ALERTS, false); boolean enableAreaUpdateInfoAlerts = Resources.getSystem().getBoolean( @@ -175,7 +169,6 @@ public class CellBroadcastConfigService extends IntentService { log("enableCmasExtremeAlerts = " + enableCmasExtremeAlerts); log("enableCmasSevereAlerts = " + enableCmasExtremeAlerts); log("enableCmasAmberAlerts = " + enableCmasAmberAlerts); - log("forceDisableEtwsCmasTest = " + forceDisableEtwsCmasTest); log("enableTestAlerts = " + enableTestAlerts); log("enableAreaUpdateInfoAlerts = " + enableAreaUpdateInfoAlerts); log("enablePublicSafetyMessagesChannelAlerts = " diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java b/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java index 25503cb97..803a4363b 100644 --- a/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java +++ b/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java @@ -273,9 +273,6 @@ public class CellBroadcastSettings extends Activity { initReminderIntervalList(); - boolean forceDisableEtwsCmasTest = CellBroadcastSettings.isFeatureEnabled(getContext(), - CarrierConfigManager.KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL, false); - boolean emergencyAlertOnOffOptionEnabled = isFeatureEnabled(getContext(), CarrierConfigManager.KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL, false); @@ -293,8 +290,11 @@ public class CellBroadcastSettings extends Activity { if (mMasterToggle != null) preferenceScreen.removePreference(mMasterToggle); } - // Show alert settings and ETWS categories for ETWS builds and developer mode. - if (forceDisableEtwsCmasTest || !enableDevSettings || !isTestAlertsAvailable()) { + boolean hideTestAlertMenu = CellBroadcastSettings.isFeatureEnabled(getContext(), + CarrierConfigManager.KEY_CARRIER_FORCE_DISABLE_ETWS_CMAS_TEST_BOOL, false); + + // Check if we want to hide the test alert toggle. + if (hideTestAlertMenu || !enableDevSettings || !isTestAlertsAvailable()) { if (mTestCheckBox != null) { mAlertCategory.removePreference(mTestCheckBox); } |