merge in lmp-mr1-release history after reset to lmp-mr1-dev
diff --git a/src/com/android/cellbroadcastreceiver/CellBroadcastConfigService.java b/src/com/android/cellbroadcastreceiver/CellBroadcastConfigService.java
index 560eb9f..09b57f1 100644
--- a/src/com/android/cellbroadcastreceiver/CellBroadcastConfigService.java
+++ b/src/com/android/cellbroadcastreceiver/CellBroadcastConfigService.java
@@ -68,19 +68,19 @@
                     int endId = Integer.decode(channelRange.substring(dashIndex + 1).trim());
                     if (enable) {
                         if (DBG) log("enabling emergency IDs " + startId + '-' + endId);
-                        manager.enableCellBroadcastRange(startId, endId);
+                        manager.enableCellBroadcastRange(startId, endId, SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
                     } else {
                         if (DBG) log("disabling emergency IDs " + startId + '-' + endId);
-                        manager.disableCellBroadcastRange(startId, endId);
+                        manager.disableCellBroadcastRange(startId, endId, SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
                     }
                 } else {
                     int messageId = Integer.decode(channelRange.trim());
                     if (enable) {
                         if (DBG) log("enabling emergency message ID " + messageId);
-                        manager.enableCellBroadcast(messageId);
+                        manager.enableCellBroadcast(messageId, SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
                     } else {
                         if (DBG) log("disabling emergency message ID " + messageId);
-                        manager.disableCellBroadcast(messageId);
+                        manager.disableCellBroadcast(messageId, SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
                     }
                 }
             }
@@ -90,13 +90,14 @@
 
         // Make sure CMAS Presidential is enabled (See 3GPP TS 22.268 Section 6.2).
         if (DBG) log("setChannelRange: enabling CMAS Presidential");
-        if (CellBroadcastReceiver.phoneIsCdma()) {
-            manager.enableCellBroadcast(SmsEnvelope.SERVICE_CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT);
-        } else {
-            manager.enableCellBroadcast(SmsCbConstants.MESSAGE_ID_CMAS_ALERT_PRESIDENTIAL_LEVEL);
-            // register Taiwan PWS 4383 also, by default
-            manager.enableCellBroadcast(SmsCbConstants.MESSAGE_ID_CMAS_ALERT_PRESIDENTIAL_LEVEL_LANGUAGE);
-        }
+        manager.enableCellBroadcast(SmsCbConstants.MESSAGE_ID_CMAS_ALERT_PRESIDENTIAL_LEVEL,
+                SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
+        // register Taiwan PWS 4383 also, by default
+        manager.enableCellBroadcast(
+                SmsCbConstants.MESSAGE_ID_CMAS_ALERT_PRESIDENTIAL_LEVEL_LANGUAGE,
+                SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
+        manager.enableCellBroadcast(SmsEnvelope.SERVICE_CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT,
+                SmsManager.CELL_BROADCAST_RAN_TYPE_CDMA);
     }
 
     /**
@@ -194,16 +195,6 @@
 
                 // 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
@@ -216,35 +207,58 @@
                     } else {
                         // No emergency channel system property, enable all emergency channels
                         // that have checkbox checked
-                        if (!isCdma) {
-                            manager.enableCellBroadcastRange(
-                                    SmsCbConstants.MESSAGE_ID_ETWS_EARTHQUAKE_WARNING,
-                                    SmsCbConstants.MESSAGE_ID_ETWS_EARTHQUAKE_AND_TSUNAMI_WARNING);
-                            if (enableEtwsTestAlerts) {
-                                manager.enableCellBroadcast(
-                                        SmsCbConstants.MESSAGE_ID_ETWS_TEST_MESSAGE);
-                            }
+                       manager.enableCellBroadcastRange(
+                               SmsCbConstants.MESSAGE_ID_ETWS_EARTHQUAKE_WARNING,
+                               SmsCbConstants.MESSAGE_ID_ETWS_EARTHQUAKE_AND_TSUNAMI_WARNING,
+                               SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
+
+                       if (enableEtwsTestAlerts) {
                             manager.enableCellBroadcast(
-                                    SmsCbConstants.MESSAGE_ID_ETWS_OTHER_EMERGENCY_TYPE);
-                        }
+                                    SmsCbConstants.MESSAGE_ID_ETWS_TEST_MESSAGE,
+                                    SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
+                       }
+
+                       manager.enableCellBroadcast(
+                                    SmsCbConstants.MESSAGE_ID_ETWS_OTHER_EMERGENCY_TYPE,
+                                    SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
+
                         if (enableCmasExtremeAlerts) {
-                            manager.enableCellBroadcastRange(cmasExtremeStart, cmasExtremeEnd);
+                            manager.enableCellBroadcastRange(cmasExtremeStart, cmasExtremeEnd,
+                                    SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
+                            manager.enableCellBroadcast(
+                                    SmsEnvelope.SERVICE_CATEGORY_CMAS_EXTREME_THREAT,
+                                    SmsManager.CELL_BROADCAST_RAN_TYPE_CDMA);
                         }
                         if (enableCmasSevereAlerts) {
-                            manager.enableCellBroadcastRange(cmasSevereStart, cmasSevereEnd);
+                            manager.enableCellBroadcastRange(cmasSevereStart, cmasSevereEnd,
+                                    SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
+                            manager.enableCellBroadcast(
+                                    SmsEnvelope.SERVICE_CATEGORY_CMAS_SEVERE_THREAT,
+                                    SmsManager.CELL_BROADCAST_RAN_TYPE_CDMA);
                         }
                         if (enableCmasAmberAlerts) {
-                            manager.enableCellBroadcast(cmasAmber);
+                            manager.enableCellBroadcast(cmasAmber,
+                                    SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
+                            manager.enableCellBroadcast(
+                                    SmsEnvelope.SERVICE_CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY,
+                                    SmsManager.CELL_BROADCAST_RAN_TYPE_CDMA);
                         }
                         if (enableCmasTestAlerts) {
-                            manager.enableCellBroadcastRange(cmasTestStart, cmasTestEnd);
+                            manager.enableCellBroadcastRange(cmasTestStart, cmasTestEnd,
+                                    SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
+                            manager.enableCellBroadcast(
+                                    SmsEnvelope.SERVICE_CATEGORY_CMAS_TEST_MESSAGE,
+                                    SmsManager.CELL_BROADCAST_RAN_TYPE_CDMA);
                         }
                         // CMAS Presidential must be on (See 3GPP TS 22.268 Section 6.2).
-                        manager.enableCellBroadcast(cmasPresident);
-                        if (!isCdma) {
-                            // register Taiwan PWS 4383 also, by default
-                            manager.enableCellBroadcast(cmasTaiwanPWS);
-                        }
+                        manager.enableCellBroadcast(cmasPresident,
+                                SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
+                        manager.enableCellBroadcast(
+                                SmsEnvelope.SERVICE_CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT,
+                                SmsManager.CELL_BROADCAST_RAN_TYPE_CDMA);
+                        // register Taiwan PWS 4383 also, by default
+                        manager.enableCellBroadcast(cmasTaiwanPWS,
+                                SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
                     }
                     if (DBG) log("enabled emergency cell broadcast channels");
                 } else {
@@ -255,72 +269,108 @@
                     } else {
                         // No emergency channel system property, disable all emergency channels
                         // except for CMAS Presidential (See 3GPP TS 22.268 Section 6.2)
-                        if (!isCdma) {
-                            manager.disableCellBroadcastRange(
-                                    SmsCbConstants.MESSAGE_ID_ETWS_EARTHQUAKE_WARNING,
-                                    SmsCbConstants.MESSAGE_ID_ETWS_EARTHQUAKE_AND_TSUNAMI_WARNING);
-                            manager.disableCellBroadcast(
-                                    SmsCbConstants.MESSAGE_ID_ETWS_TEST_MESSAGE);
-                            manager.disableCellBroadcast(
-                                    SmsCbConstants.MESSAGE_ID_ETWS_OTHER_EMERGENCY_TYPE);
-                        }
-                        manager.disableCellBroadcastRange(cmasExtremeStart, cmasExtremeEnd);
-                        manager.disableCellBroadcastRange(cmasSevereStart, cmasSevereEnd);
-                        manager.disableCellBroadcast(cmasAmber);
-                        manager.disableCellBroadcastRange(cmasTestStart, cmasTestEnd);
+                        manager.disableCellBroadcastRange(
+                                SmsCbConstants.MESSAGE_ID_ETWS_EARTHQUAKE_WARNING,
+                                SmsCbConstants.MESSAGE_ID_ETWS_EARTHQUAKE_AND_TSUNAMI_WARNING,
+                                SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
+                        manager.disableCellBroadcast(
+                                SmsCbConstants.MESSAGE_ID_ETWS_TEST_MESSAGE,
+                                SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
+                        manager.disableCellBroadcast(
+                                SmsCbConstants.MESSAGE_ID_ETWS_OTHER_EMERGENCY_TYPE,
+                                SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
 
+                        manager.disableCellBroadcastRange(cmasExtremeStart, cmasExtremeEnd,
+                                SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
+                        manager.disableCellBroadcastRange(cmasSevereStart, cmasSevereEnd,
+                                SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
+                        manager.disableCellBroadcast(cmasAmber,
+                                SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
+                        manager.disableCellBroadcastRange(cmasTestStart, cmasTestEnd,
+                                SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
+
+                        manager.disableCellBroadcast(
+                                SmsEnvelope.SERVICE_CATEGORY_CMAS_EXTREME_THREAT,
+                                SmsManager.CELL_BROADCAST_RAN_TYPE_CDMA);
+                        manager.disableCellBroadcast(
+                                SmsEnvelope.SERVICE_CATEGORY_CMAS_SEVERE_THREAT,
+                                SmsManager.CELL_BROADCAST_RAN_TYPE_CDMA);
+                        manager.disableCellBroadcast(
+                                SmsEnvelope.SERVICE_CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY,
+                                SmsManager.CELL_BROADCAST_RAN_TYPE_CDMA);
+                        manager.disableCellBroadcast(
+                                SmsEnvelope.SERVICE_CATEGORY_CMAS_TEST_MESSAGE ,
+                                SmsManager.CELL_BROADCAST_RAN_TYPE_CDMA);
                         // CMAS Presidential must be on (See 3GPP TS 22.268 Section 6.2).
-                        manager.enableCellBroadcast(cmasPresident);
-                        if (!isCdma) {
-                            // register Taiwan PWS 4383 also, by default
-                            manager.enableCellBroadcast(cmasTaiwanPWS);
-                        }
+                        manager.enableCellBroadcast(cmasPresident,
+                                SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
+                        manager.enableCellBroadcast(
+                                SmsEnvelope.SERVICE_CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT,
+                                SmsManager.CELL_BROADCAST_RAN_TYPE_CDMA);
+                        // register Taiwan PWS 4383 also, by default
+                        manager.enableCellBroadcast(cmasTaiwanPWS,
+                                SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
                     }
                     if (DBG) log("disabled emergency cell broadcast channels");
                 }
 
-                if (isCdma) {
-                    if (DBG) log("channel 50 is not applicable for cdma");
-                } else if (enableChannel50Alerts) {
+                if (enableChannel50Alerts) {
                     if (DBG) log("enabling cell broadcast channel 50");
-                    manager.enableCellBroadcast(50);
+                    manager.enableCellBroadcast(50, SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
                 } else {
                     if (DBG) log("disabling cell broadcast channel 50");
-                    manager.disableCellBroadcast(50);
+                    manager.disableCellBroadcast(50, SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
                 }
 
                 if ("il".equals(tm.getSimCountryIso()) || "il".equals(tm.getNetworkCountryIso())) {
                     if (DBG) log("enabling channels 919-928 for Israel");
-                    manager.enableCellBroadcastRange(919, 928);
+                    manager.enableCellBroadcastRange(919, 928,
+                            SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
                 } else {
                     if (DBG) log("disabling channels 919-928");
-                    manager.disableCellBroadcastRange(919, 928);
+                    manager.disableCellBroadcastRange(919, 928,
+                            SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
                 }
 
                 // Disable per user preference/checkbox.
                 // This takes care of the case where enableEmergencyAlerts is true,
                 // but check box is unchecked to receive such as cmas severe alerts.
-                if (!enableEtwsTestAlerts  && !isCdma) {
+                if (!enableEtwsTestAlerts) {
                     if (DBG) Log.d(TAG, "disabling cell broadcast ETWS test messages");
                     manager.disableCellBroadcast(
-                            SmsCbConstants.MESSAGE_ID_ETWS_TEST_MESSAGE);
+                            SmsCbConstants.MESSAGE_ID_ETWS_TEST_MESSAGE,
+                            SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
                 }
                 if (!enableCmasExtremeAlerts) {
                     // Unregister Severe alerts also, if Extreme alerts are disabled
                     if (DBG) Log.d(TAG, "disabling cell broadcast CMAS extreme and severe");
-                    manager.disableCellBroadcastRange(cmasExtremeStart, cmasSevereEnd);
+                    manager.disableCellBroadcastRange(cmasExtremeStart, cmasExtremeEnd,
+                            SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
+                    manager.disableCellBroadcast(
+                            SmsEnvelope.SERVICE_CATEGORY_CMAS_EXTREME_THREAT,
+                            SmsManager.CELL_BROADCAST_RAN_TYPE_CDMA);
                 }
+
                 if (!enableCmasSevereAlerts) {
                     if (DBG) Log.d(TAG, "disabling cell broadcast CMAS severe");
-                    manager.disableCellBroadcastRange(cmasSevereStart, cmasSevereEnd);
+                    manager.disableCellBroadcastRange(cmasSevereStart, cmasSevereEnd,
+                            SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
+                    manager.disableCellBroadcast(SmsEnvelope.SERVICE_CATEGORY_CMAS_SEVERE_THREAT,
+                            SmsManager.CELL_BROADCAST_RAN_TYPE_CDMA);
                 }
                 if (!enableCmasAmberAlerts) {
                     if (DBG) Log.d(TAG, "disabling cell broadcast CMAS amber");
-                    manager.disableCellBroadcast(cmasAmber);
+                    manager.disableCellBroadcast(cmasAmber, SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
+                    manager.disableCellBroadcast(
+                            SmsEnvelope.SERVICE_CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY,
+                            SmsManager.CELL_BROADCAST_RAN_TYPE_CDMA);
                 }
                 if (!enableCmasTestAlerts) {
                     if (DBG) Log.d(TAG, "disabling cell broadcast CMAS test messages");
-                    manager.disableCellBroadcastRange(cmasTestStart, cmasTestEnd);
+                    manager.disableCellBroadcastRange(cmasTestStart, cmasTestEnd,
+                            SmsManager.CELL_BROADCAST_RAN_TYPE_GSM);
+                    manager.disableCellBroadcast(SmsEnvelope.SERVICE_CATEGORY_CMAS_TEST_MESSAGE,
+                            SmsManager.CELL_BROADCAST_RAN_TYPE_CDMA);
                 }
             } catch (Exception ex) {
                 Log.e(TAG, "exception enabling cell broadcast channels", ex);