Make CellBroadcast APIs public

Also includes permission checks for enable/disable range, which
Require RECEIVE_EMERGENCY_BROADCAST.

Bug: 135956699
Test: Manually verify that CellBroadcastRecevier is able to call, verify
with CTS that without permissions a SecurityException is thrown
Change-Id: I3ee6c81b353f707caff13f5906b8dc6a66487267
diff --git a/src/java/com/android/internal/telephony/IccSmsInterfaceManager.java b/src/java/com/android/internal/telephony/IccSmsInterfaceManager.java
index ba99657..3558d4e 100644
--- a/src/java/com/android/internal/telephony/IccSmsInterfaceManager.java
+++ b/src/java/com/android/internal/telephony/IccSmsInterfaceManager.java
@@ -806,6 +806,9 @@
     }
 
     public boolean enableCellBroadcastRange(int startMessageId, int endMessageId, int ranType) {
+        mContext.enforceCallingPermission("android.permission.RECEIVE_EMERGENCY_BROADCAST",
+                "enabling cell broadcast range [" + startMessageId + "-" + endMessageId + "]. "
+                        + "ranType=" + ranType);
         if (ranType == SmsManager.CELL_BROADCAST_RAN_TYPE_GSM) {
             return enableGsmBroadcastRange(startMessageId, endMessageId);
         } else if (ranType == SmsManager.CELL_BROADCAST_RAN_TYPE_CDMA) {
@@ -816,6 +819,9 @@
     }
 
     public boolean disableCellBroadcastRange(int startMessageId, int endMessageId, int ranType) {
+        mContext.enforceCallingPermission("android.permission.RECEIVE_EMERGENCY_BROADCAST",
+                "disabling cell broadcast range [" + startMessageId + "-" + endMessageId
+                        + "]. ranType=" + ranType);
         if (ranType == SmsManager.CELL_BROADCAST_RAN_TYPE_GSM ) {
             return disableGsmBroadcastRange(startMessageId, endMessageId);
         } else if (ranType == SmsManager.CELL_BROADCAST_RAN_TYPE_CDMA)  {
diff --git a/src/java/com/android/internal/telephony/gsm/GsmCellBroadcastHandler.java b/src/java/com/android/internal/telephony/gsm/GsmCellBroadcastHandler.java
index bf406cc..9c02f33 100644
--- a/src/java/com/android/internal/telephony/gsm/GsmCellBroadcastHandler.java
+++ b/src/java/com/android/internal/telephony/gsm/GsmCellBroadcastHandler.java
@@ -232,7 +232,7 @@
 
             SmsCbLocation location;
             switch (header.getGeographicalScope()) {
-                case SmsCbMessage.GEOGRAPHICAL_SCOPE_LA_WIDE:
+                case SmsCbMessage.GEOGRAPHICAL_SCOPE_LOCATION_AREA_WIDE:
                     location = new SmsCbLocation(plmn, lac, -1);
                     break;
 
diff --git a/tests/telephonytests/src/com/android/internal/telephony/gsm/GsmSmsCbTest.java b/tests/telephonytests/src/com/android/internal/telephony/gsm/GsmSmsCbTest.java
index a4b7ae7..689392e 100644
--- a/tests/telephonytests/src/com/android/internal/telephony/gsm/GsmSmsCbTest.java
+++ b/tests/telephonytests/src/com/android/internal/telephony/gsm/GsmSmsCbTest.java
@@ -92,7 +92,8 @@
         doTestGeographicalScopeValue(pdu, (byte)0x00,
                 SmsCbMessage.GEOGRAPHICAL_SCOPE_CELL_WIDE_IMMEDIATE);
         doTestGeographicalScopeValue(pdu, (byte)0x40, SmsCbMessage.GEOGRAPHICAL_SCOPE_PLMN_WIDE);
-        doTestGeographicalScopeValue(pdu, (byte)0x80, SmsCbMessage.GEOGRAPHICAL_SCOPE_LA_WIDE);
+        doTestGeographicalScopeValue(pdu, (byte)0x80,
+                SmsCbMessage.GEOGRAPHICAL_SCOPE_LOCATION_AREA_WIDE);
         doTestGeographicalScopeValue(pdu, (byte)0xC0, SmsCbMessage.GEOGRAPHICAL_SCOPE_CELL_WIDE);
     }