diff options
author | Jack Yu <jackyu@google.com> | 2015-09-16 21:02:41 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-09-16 21:02:41 +0000 |
commit | e3b632343d520382b89273b570d9c58d2c22ba76 (patch) | |
tree | 9d0272d2059ef9e71268f39cbbd723150796ae36 | |
parent | 55fd5684dbfa298eef3986a362b025c8d0ee9af7 (diff) | |
parent | 325f3be30df819355b77d32cdf15bb535c219484 (diff) | |
download | android_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.java | 34 |
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) { |