diff options
author | Jack Yu <jackyu@google.com> | 2015-09-25 18:05:59 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-09-25 18:05:59 +0000 |
commit | e390ea9b5e455ad88917218a4998d6f8f0ebc72f (patch) | |
tree | 6c311561858845517602ff516faf5a0597e4d612 | |
parent | f89d6650ba984d02506fa2160216c056e1086233 (diff) | |
parent | 86483adb0e377a342ecad84fec74134cef6058b8 (diff) | |
download | android_packages_apps_CellBroadcastReceiver-e390ea9b5e455ad88917218a4998d6f8f0ebc72f.tar.gz android_packages_apps_CellBroadcastReceiver-e390ea9b5e455ad88917218a4998d6f8f0ebc72f.tar.bz2 android_packages_apps_CellBroadcastReceiver-e390ea9b5e455ad88917218a4998d6f8f0ebc72f.zip |
am 86483adb: am 0564f700: Merge "Fixed that "Turn on notification" does not work." into mnc-dr-dev
* commit '86483adb0e377a342ecad84fec74134cef6058b8':
Fixed that "Turn on notification" does not work.
-rw-r--r-- | src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java | 16 | ||||
-rw-r--r-- | src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java | 16 | ||||
-rw-r--r-- | tests/AndroidManifest.xml | 3 |
3 files changed, 23 insertions, 12 deletions
diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java b/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java index 535a1836..ef4ead8c 100644 --- a/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java +++ b/src/com/android/cellbroadcastreceiver/CellBroadcastAlertService.java @@ -270,15 +270,24 @@ public class CellBroadcastAlertService extends Service { message.getSubId(), SubscriptionManager.CB_ETWS_TEST_ALERT, false, this); } + if (message.isEtwsMessage()) { + // ETWS messages. + // Turn on/off emergency notifications is the only way to turn on/off ETWS messages. + return SubscriptionManager.getBooleanSubscriptionProperty(message.getSubId(), + SubscriptionManager.CB_EMERGENCY_ALERT, true, this); + } + if (message.isCmasMessage()) { switch (message.getCmasMessageClass()) { case SmsCbCmasInfo.CMAS_CLASS_EXTREME_THREAT: return SubscriptionManager.getBooleanSubscriptionProperty( - message.getSubId(), SubscriptionManager.CB_EXTREME_THREAT_ALERT, true, this); + message.getSubId(), + SubscriptionManager.CB_EXTREME_THREAT_ALERT, true, this); case SmsCbCmasInfo.CMAS_CLASS_SEVERE_THREAT: return SubscriptionManager.getBooleanSubscriptionProperty( - message.getSubId(), SubscriptionManager.CB_SEVERE_THREAT_ALERT, true, this); + message.getSubId(), + SubscriptionManager.CB_SEVERE_THREAT_ALERT, true, this); case SmsCbCmasInfo.CMAS_CLASS_CHILD_ABDUCTION_EMERGENCY: return SubscriptionManager.getBooleanSubscriptionProperty( @@ -289,7 +298,8 @@ public class CellBroadcastAlertService extends Service { case SmsCbCmasInfo.CMAS_CLASS_OPERATOR_DEFINED_USE: return !forceDisableEtwsCmasTest && SubscriptionManager.getBooleanSubscriptionProperty( - message.getSubId(), SubscriptionManager.CB_CMAS_TEST_ALERT, false, this); + message.getSubId(), + SubscriptionManager.CB_CMAS_TEST_ALERT, false, this); default: return true; // presidential-level CMAS alerts are always enabled } diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java b/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java index 54dce748..2e83dbcc 100644 --- a/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java +++ b/src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java @@ -327,9 +327,8 @@ public class CellBroadcastSettings extends PreferenceActivity { 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 + if (enableDevSettings || showEtwsSettings || emergencyAlertOnOffOptionEnabled) { + // enable/disable all alerts except CMAS presidential alerts. if (mEmergencyCheckBox != null) { if (SubscriptionManager.getBooleanSubscriptionProperty(mSir.getSubscriptionId(), SubscriptionManager.CB_EMERGENCY_ALERT, true, this)) { @@ -339,6 +338,12 @@ public class CellBroadcastSettings extends PreferenceActivity { } mEmergencyCheckBox.setOnPreferenceChangeListener(startConfigServiceListener); } + } else { + mAlertCategory.removePreference(findPreference(KEY_ENABLE_EMERGENCY_ALERTS)); + } + + // Show alert settings and ETWS categories for ETWS builds and developer mode. + if (enableDevSettings || showEtwsSettings) { // alert sound duration queryReturnVal = SubscriptionManager.getIntegerSubscriptionProperty( @@ -377,11 +382,6 @@ public class CellBroadcastSettings extends PreferenceActivity { } else { // Remove general emergency alert preference items (not shown for CMAS builds). - // 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. diff --git a/tests/AndroidManifest.xml b/tests/AndroidManifest.xml index f3bfd869..41a41607 100644 --- a/tests/AndroidManifest.xml +++ b/tests/AndroidManifest.xml @@ -16,7 +16,8 @@ <!-- package name must be unique so suffix with "tests" so package loader doesn't ignore us --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" - package="com.android.cellbroadcastreceiver.tests"> + package="com.android.cellbroadcastreceiver.tests" + android:sharedUserId="android.uid.phone"> <!-- Test Apk is signed with platform key in order to use this permission. --> <uses-permission android:name="android.permission.BROADCAST_SMS"/> |