summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/com/android/cellbroadcastreceiver/CellBroadcastConfigService.java40
1 files changed, 16 insertions, 24 deletions
diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastConfigService.java b/src/com/android/cellbroadcastreceiver/CellBroadcastConfigService.java
index 6119c6a2..3569456e 100644
--- a/src/com/android/cellbroadcastreceiver/CellBroadcastConfigService.java
+++ b/src/com/android/cellbroadcastreceiver/CellBroadcastConfigService.java
@@ -192,9 +192,20 @@ public class CellBroadcastConfigService extends IntentService {
int cmasPresident = SmsCbConstants.MESSAGE_ID_CMAS_ALERT_PRESIDENTIAL_LEVEL;
int cmasTaiwanPWS = SmsCbConstants.MESSAGE_ID_CMAS_ALERT_PRESIDENTIAL_LEVEL_LANGUAGE;
- SmsManager manager = SmsManager.getDefault();
+ // set to CDMA broadcast ID rage if phone is in CDMA mode.
boolean isCdma = CellBroadcastReceiver.phoneIsCdma();
+ if (isCdma) {
+ cmasExtremeStart = SmsEnvelope.SERVICE_CATEGORY_CMAS_EXTREME_THREAT;
+ cmasExtremeEnd = cmasExtremeStart;
+ cmasSevereStart = SmsEnvelope.SERVICE_CATEGORY_CMAS_SEVERE_THREAT;
+ cmasSevereEnd = cmasSevereStart;
+ cmasAmber = SmsEnvelope.SERVICE_CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY;
+ cmasTestStart = SmsEnvelope.SERVICE_CATEGORY_CMAS_TEST_MESSAGE;
+ cmasTestEnd = cmasTestStart;
+ cmasPresident = SmsEnvelope.SERVICE_CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT;
+ }
+ SmsManager manager = SmsManager.getDefault();
// Check for system property defining the emergency channel ranges to enable
String emergencyIdRange = isCdma ?
"" : SystemProperties.get(EMERGENCY_BROADCAST_RANGE_GSM);
@@ -216,26 +227,17 @@ public class CellBroadcastConfigService extends IntentService {
manager.enableCellBroadcast(
SmsCbConstants.MESSAGE_ID_ETWS_OTHER_EMERGENCY_TYPE);
}
- //LTE support - Always enable CMAS SMS-B and CB channels irrespective of NW
if (enableCmasExtremeAlerts) {
manager.enableCellBroadcastRange(cmasExtremeStart, cmasExtremeEnd);
- manager.enableCellBroadcast(
- SmsEnvelope.SERVICE_CATEGORY_CMAS_EXTREME_THREAT);
}
if (enableCmasSevereAlerts) {
manager.enableCellBroadcastRange(cmasSevereStart, cmasSevereEnd);
- manager.enableCellBroadcast(
- SmsEnvelope.SERVICE_CATEGORY_CMAS_SEVERE_THREAT);
}
if (enableCmasAmberAlerts) {
manager.enableCellBroadcast(cmasAmber);
- manager.enableCellBroadcast(
- SmsEnvelope.SERVICE_CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY);
}
if (enableCmasTestAlerts) {
manager.enableCellBroadcastRange(cmasTestStart, cmasTestEnd);
- manager.enableCellBroadcast(
- SmsEnvelope.SERVICE_CATEGORY_CMAS_TEST_MESSAGE);
}
// CMAS Presidential must be on (See 3GPP TS 22.268 Section 6.2).
manager.enableCellBroadcast(cmasPresident);
@@ -243,8 +245,6 @@ public class CellBroadcastConfigService extends IntentService {
// register Taiwan PWS 4383 also, by default
manager.enableCellBroadcast(cmasTaiwanPWS);
}
- manager.enableCellBroadcast(
- SmsEnvelope.SERVICE_CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT);
}
if (DBG) log("enabled emergency cell broadcast channels");
} else {
@@ -264,11 +264,10 @@ public class CellBroadcastConfigService extends IntentService {
manager.disableCellBroadcast(
SmsCbConstants.MESSAGE_ID_ETWS_OTHER_EMERGENCY_TYPE);
}
- //LTE support - Always disable CMAS SMS-B and CB channels irrespective of NW
- manager.disableCellBroadcastRange(cmasExtremeStart, cmasTestEnd);
- manager.disableCellBroadcastRange(
- SmsEnvelope.SERVICE_CATEGORY_CMAS_EXTREME_THREAT,
- SmsEnvelope.SERVICE_CATEGORY_CMAS_TEST_MESSAGE);
+ manager.disableCellBroadcastRange(cmasExtremeStart, cmasExtremeEnd);
+ manager.disableCellBroadcastRange(cmasSevereStart, cmasSevereEnd);
+ manager.disableCellBroadcast(cmasAmber);
+ manager.disableCellBroadcastRange(cmasTestStart, cmasTestEnd);
// CMAS Presidential must be on (See 3GPP TS 22.268 Section 6.2).
manager.enableCellBroadcast(cmasPresident);
@@ -276,8 +275,6 @@ public class CellBroadcastConfigService extends IntentService {
// register Taiwan PWS 4383 also, by default
manager.enableCellBroadcast(cmasTaiwanPWS);
}
- manager.enableCellBroadcast(
- SmsEnvelope.SERVICE_CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT);
}
if (DBG) log("disabled emergency cell broadcast channels");
}
@@ -311,23 +308,18 @@ public class CellBroadcastConfigService extends IntentService {
if (!enableCmasExtremeAlerts) {
if (DBG) Log.d(TAG, "disabling cell broadcast CMAS extreme");
manager.disableCellBroadcastRange(cmasExtremeStart, cmasExtremeEnd);
- manager.disableCellBroadcast(SmsEnvelope.SERVICE_CATEGORY_CMAS_EXTREME_THREAT);
}
if (!enableCmasSevereAlerts) {
if (DBG) Log.d(TAG, "disabling cell broadcast CMAS severe");
manager.disableCellBroadcastRange(cmasSevereStart, cmasSevereEnd);
- manager.disableCellBroadcast(SmsEnvelope.SERVICE_CATEGORY_CMAS_SEVERE_THREAT);
}
if (!enableCmasAmberAlerts) {
if (DBG) Log.d(TAG, "disabling cell broadcast CMAS amber");
manager.disableCellBroadcast(cmasAmber);
- manager.disableCellBroadcast(
- SmsEnvelope.SERVICE_CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY);
}
if (!enableCmasTestAlerts) {
if (DBG) Log.d(TAG, "disabling cell broadcast CMAS test messages");
manager.disableCellBroadcastRange(cmasTestStart, cmasTestEnd);
- manager.disableCellBroadcast(SmsEnvelope.SERVICE_CATEGORY_CMAS_TEST_MESSAGE);
}
} catch (Exception ex) {
Log.e(TAG, "exception enabling cell broadcast channels", ex);