summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Yu <jackyu@google.com>2015-09-16 21:02:41 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-09-16 21:02:41 +0000
commite3b632343d520382b89273b570d9c58d2c22ba76 (patch)
tree9d0272d2059ef9e71268f39cbbd723150796ae36
parent55fd5684dbfa298eef3986a362b025c8d0ee9af7 (diff)
parent325f3be30df819355b77d32cdf15bb535c219484 (diff)
downloadandroid_packages_apps_CellBroadcastReceiver-e3b632343d520382b89273b570d9c58d2c22ba76.tar.gz
android_packages_apps_CellBroadcastReceiver-e3b632343d520382b89273b570d9c58d2c22ba76.tar.bz2
android_packages_apps_CellBroadcastReceiver-e3b632343d520382b89273b570d9c58d2c22ba76.zip
am 325f3be3: Merge "Always show "Turn on Notification" for some carriers." into mnc-dr-dev
* commit '325f3be30df819355b77d32cdf15bb535c219484': Always show "Turn on Notification" for some carriers.
-rw-r--r--src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java34
1 files changed, 33 insertions, 1 deletions
diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java b/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java
index 8723aa30..54dce748 100644
--- a/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java
+++ b/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java
@@ -324,6 +324,9 @@ public class CellBroadcastSettings extends PreferenceActivity {
boolean forceDisableEtwsCmasTest =
isEtwsCmasTestMessageForcedDisabled(this, mSir.getSubscriptionId());
+ boolean emergencyAlertOnOffOptionEnabled =
+ isEmergencyAlertOnOffOptionEnabled(this, mSir.getSubscriptionId());
+
// Show alert settings and ETWS categories for ETWS builds and developer mode.
if (enableDevSettings || showEtwsSettings) {
// enable/disable all alerts
@@ -373,7 +376,12 @@ public class CellBroadcastSettings extends PreferenceActivity {
}
} else {
// Remove general emergency alert preference items (not shown for CMAS builds).
- mAlertCategory.removePreference(findPreference(KEY_ENABLE_EMERGENCY_ALERTS));
+
+ // Some carriers would like to have "Turn on Notifications" option always show up
+ // regardless of developer options turned on or not.
+ if (!emergencyAlertOnOffOptionEnabled)
+ mAlertCategory.removePreference(findPreference(KEY_ENABLE_EMERGENCY_ALERTS));
+
mAlertCategory.removePreference(findPreference(KEY_ALERT_SOUND_DURATION));
mAlertCategory.removePreference(findPreference(KEY_ENABLE_ALERT_SPEECH));
// Remove ETWS test preference category.
@@ -554,6 +562,30 @@ public class CellBroadcastSettings extends PreferenceActivity {
return false;
}
+ // Check if "Turn on Notifications" option should be always displayed regardless of developer
+ // options turned on or not.
+ public static boolean isEmergencyAlertOnOffOptionEnabled(Context context, int subId) {
+
+ if (context == null) {
+ return false;
+ }
+
+ CarrierConfigManager configManager =
+ (CarrierConfigManager) context.getSystemService(Context.CARRIER_CONFIG_SERVICE);
+
+ if (configManager != null) {
+ PersistableBundle carrierConfig =
+ configManager.getConfigForSubId(subId);
+
+ if (carrierConfig != null) {
+ return carrierConfig.getBoolean(
+ CarrierConfigManager.KEY_ALWAYS_SHOW_EMERGENCY_ALERT_ONOFF_BOOL);
+ }
+ }
+
+ return false;
+ }
+
private OnTabChangeListener mTabListener = new OnTabChangeListener() {
@Override
public void onTabChanged(String tabId) {