summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJack Yu <jackyu@google.com>2015-09-25 18:05:59 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2015-09-25 18:05:59 +0000
commite390ea9b5e455ad88917218a4998d6f8f0ebc72f (patch)
tree6c311561858845517602ff516faf5a0597e4d612
parentf89d6650ba984d02506fa2160216c056e1086233 (diff)
parent86483adb0e377a342ecad84fec74134cef6058b8 (diff)
downloadandroid_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.java16
-rw-r--r--src/com/android/cellbroadcastreceiver/CellBroadcastSettings.java16
-rw-r--r--tests/AndroidManifest.xml3
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"/>