Loading core/java/android/provider/Telephony.java +42 −2 Original line number Diff line number Diff line Loading @@ -542,7 +542,7 @@ public final class Telephony { * values:</p> * * <ul> * <li><em>pdus</em> - An Object[] od byte[]s containing the PDUs * <li><em>pdus</em> - An Object[] of byte[]s containing the PDUs * that make up the message.</li> * </ul> * Loading Loading @@ -585,6 +585,46 @@ public final class Telephony { public static final String WAP_PUSH_RECEIVED_ACTION = "android.provider.Telephony.WAP_PUSH_RECEIVED"; /** * Broadcast Action: A new Cell Broadcast message has been received * by the device. The intent will have the following extra * values:</p> * * <ul> * <li><em>pdus</em> - An Object[] of byte[]s containing the PDUs * that make up the message.</li> * </ul> * * <p>The extra values can be extracted using * {@link #getMessagesFromIntent(Intent)}.</p> * * <p>If a BroadcastReceiver encounters an error while processing * this intent it should set the result code appropriately.</p> */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String SMS_CB_RECEIVED_ACTION = "android.provider.Telephony.SMS_CB_RECEIVED"; /** * Broadcast Action: A new Emergency Broadcast message has been received * by the device. The intent will have the following extra * values:</p> * * <ul> * <li><em>pdus</em> - An Object[] of byte[]s containing the PDUs * that make up the message.</li> * </ul> * * <p>The extra values can be extracted using * {@link #getMessagesFromIntent(Intent)}.</p> * * <p>If a BroadcastReceiver encounters an error while processing * this intent it should set the result code appropriately.</p> */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String SMS_EMERGENCY_CB_RECEIVED_ACTION = "android.provider.Telephony.SMS_EMERGENCY_CB_RECEIVED"; /** * Broadcast Action: The SIM storage for SMS messages is full. If * space is not freed, messages targeted for the SIM (class 2) may Loading Loading @@ -618,7 +658,7 @@ public final class Telephony { * @param intent the intent to read from * @return an array of SmsMessages for the PDUs */ public static final SmsMessage[] getMessagesFromIntent( public static SmsMessage[] getMessagesFromIntent( Intent intent) { Object[] messages = (Object[]) intent.getSerializableExtra("pdus"); byte[][] pduObjs = new byte[messages.length][]; Loading core/res/AndroidManifest.xml +9 −0 Original line number Diff line number Diff line Loading @@ -150,6 +150,15 @@ android:label="@string/permlab_receiveMms" android:description="@string/permdesc_receiveMms" /> <!-- Allows an application to receive emergency cell broadcast messages, to record or display them to the user. Reserved for system apps. @hide Pending API council approval --> <permission android:name="android.permission.RECEIVE_EMERGENCY_BROADCAST" android:permissionGroup="android.permission-group.MESSAGES" android:protectionLevel="signatureOrSystem" android:label="@string/permlab_receiveEmergencyBroadcast" android:description="@string/permdesc_receiveEmergencyBroadcast" /> <!-- Allows an application to read SMS messages. --> <permission android:name="android.permission.READ_SMS" android:permissionGroup="android.permission-group.MESSAGES" Loading core/res/res/values/strings.xml +7 −0 Original line number Diff line number Diff line Loading @@ -427,6 +427,13 @@ your messages or delete them without showing them to you.</string> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <string name="permlab_receiveEmergencyBroadcast">receive emergency broadcasts</string> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <string name="permdesc_receiveEmergencyBroadcast">Allows application to receive and process emergency broadcast messages. This permission is only available to system applications.</string> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <string name="permlab_sendSms">send SMS messages</string> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <string name="permdesc_sendSms">Allows application to send SMS Loading telephony/java/android/telephony/SmsCbConstants.java 0 → 100644 +114 −0 Original line number Diff line number Diff line /* * Copyright (C) 2011 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.telephony; /** * Constants used in SMS Cell Broadcast messages. * * {@hide} */ public interface SmsCbConstants { /** Cell wide immediate geographical scope */ public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE_IMMEDIATE = 0; /** PLMN wide geographical scope */ public static final int GEOGRAPHICAL_SCOPE_PLMN_WIDE = 1; /** Location / service area wide geographical scope */ public static final int GEOGRAPHICAL_SCOPE_LA_WIDE = 2; /** Cell wide geographical scope */ public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE = 3; /** Start of PWS Message Identifier range (includes ETWS and CMAS). */ public static final int MESSAGE_ID_PWS_FIRST_IDENTIFIER = 0x1100; /** Bitmask for messages of ETWS type (including future extensions). */ public static final int MESSAGE_ID_ETWS_TYPE_MASK = 0xFFF8; /** Value for messages of ETWS type after applying {@link #MESSAGE_ID_ETWS_TYPE_MASK}. */ public static final int MESSAGE_ID_ETWS_TYPE = 0x1100; /** ETWS Message Identifier for earthquake warning message. */ public static final int MESSAGE_ID_ETWS_EARTHQUAKE_WARNING = 0x1100; /** ETWS Message Identifier for tsunami warning message. */ public static final int MESSAGE_ID_ETWS_TSUNAMI_WARNING = 0x1101; /** ETWS Message Identifier for earthquake and tsunami combined warning message. */ public static final int MESSAGE_ID_ETWS_EARTHQUAKE_AND_TSUNAMI_WARNING = 0x1102; /** ETWS Message Identifier for test message. */ public static final int MESSAGE_ID_ETWS_TEST_MESSAGE = 0x1103; /** ETWS Message Identifier for messages related to other emergency types. */ public static final int MESSAGE_ID_ETWS_OTHER_EMERGENCY_TYPE = 0x1104; /** Start of CMAS Message Identifier range. */ public static final int MESSAGE_ID_CMAS_FIRST_IDENTIFIER = 0x1112; /** CMAS Message Identifier for Presidential Level alerts. */ public static final int MESSAGE_ID_CMAS_ALERT_PRESIDENTIAL_LEVEL = 0x1112; /** CMAS Message Identifier for Extreme alerts, Urgency=Immediate, Certainty=Observed. */ public static final int MESSAGE_ID_CMAS_ALERT_EXTREME_IMMEDIATE_OBSERVED = 0x1113; /** CMAS Message Identifier for Extreme alerts, Urgency=Immediate, Certainty=Likely. */ public static final int MESSAGE_ID_CMAS_ALERT_EXTREME_IMMEDIATE_LIKELY = 0x1114; /** CMAS Message Identifier for Extreme alerts, Urgency=Expected, Certainty=Observed. */ public static final int MESSAGE_ID_CMAS_ALERT_EXTREME_EXPECTED_OBSERVED = 0x1115; /** CMAS Message Identifier for Extreme alerts, Urgency=Expected, Certainty=Likely. */ public static final int MESSAGE_ID_CMAS_ALERT_EXTREME_EXPECTED_LIKELY = 0x1116; /** CMAS Message Identifier for Severe alerts, Urgency=Immediate, Certainty=Observed. */ public static final int MESSAGE_ID_CMAS_ALERT_SEVERE_IMMEDIATE_OBSERVED = 0x1117; /** CMAS Message Identifier for Severe alerts, Urgency=Immediate, Certainty=Likely. */ public static final int MESSAGE_ID_CMAS_ALERT_SEVERE_IMMEDIATE_LIKELY = 0x1118; /** CMAS Message Identifier for Severe alerts, Urgency=Expected, Certainty=Observed. */ public static final int MESSAGE_ID_CMAS_ALERT_SEVERE_EXPECTED_OBSERVED = 0x1119; /** CMAS Message Identifier for Severe alerts, Urgency=Expected, Certainty=Likely. */ public static final int MESSAGE_ID_CMAS_ALERT_SEVERE_EXPECTED_LIKELY = 0x111A; /** CMAS Message Identifier for Child Abduction Emergency (Amber Alert). */ public static final int MESSAGE_ID_CMAS_ALERT_CHILD_ABDUCTION_EMERGENCY = 0x111B; /** CMAS Message Identifier for the Required Monthly Test. */ public static final int MESSAGE_ID_CMAS_ALERT_REQUIRED_MONTHLY_TEST = 0x111C; /** CMAS Message Identifier for CMAS Exercise. */ public static final int MESSAGE_ID_CMAS_ALERT_EXERCISE = 0x111D; /** CMAS Message Identifier for operator defined use. */ public static final int MESSAGE_ID_CMAS_ALERT_OPERATOR_DEFINED_USE = 0x111E; /** End of CMAS Message Identifier range (including future extensions). */ public static final int MESSAGE_ID_CMAS_LAST_IDENTIFIER = 0x112F; /** End of PWS Message Identifier range (includes ETWS, CMAS, and future extensions). */ public static final int MESSAGE_ID_PWS_LAST_IDENTIFIER = 0x18FF; /** ETWS message code flag to activate the popup display. */ public static final int MESSAGE_CODE_ETWS_ACTIVATE_POPUP = 0x100; /** ETWS message code flag to activate the emergency user alert. */ public static final int MESSAGE_CODE_ETWS_EMERGENCY_USER_ALERT = 0x200; } telephony/java/android/telephony/SmsCbMessage.java +6 −0 Original line number Diff line number Diff line Loading @@ -333,4 +333,10 @@ public class SmsCbMessage { return body; } @Override public String toString() { return "SmsCbMessage{" + mHeader.toString() + ", language=" + mLanguage + ", body=\"" + mBody + "\"}"; } } Loading
core/java/android/provider/Telephony.java +42 −2 Original line number Diff line number Diff line Loading @@ -542,7 +542,7 @@ public final class Telephony { * values:</p> * * <ul> * <li><em>pdus</em> - An Object[] od byte[]s containing the PDUs * <li><em>pdus</em> - An Object[] of byte[]s containing the PDUs * that make up the message.</li> * </ul> * Loading Loading @@ -585,6 +585,46 @@ public final class Telephony { public static final String WAP_PUSH_RECEIVED_ACTION = "android.provider.Telephony.WAP_PUSH_RECEIVED"; /** * Broadcast Action: A new Cell Broadcast message has been received * by the device. The intent will have the following extra * values:</p> * * <ul> * <li><em>pdus</em> - An Object[] of byte[]s containing the PDUs * that make up the message.</li> * </ul> * * <p>The extra values can be extracted using * {@link #getMessagesFromIntent(Intent)}.</p> * * <p>If a BroadcastReceiver encounters an error while processing * this intent it should set the result code appropriately.</p> */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String SMS_CB_RECEIVED_ACTION = "android.provider.Telephony.SMS_CB_RECEIVED"; /** * Broadcast Action: A new Emergency Broadcast message has been received * by the device. The intent will have the following extra * values:</p> * * <ul> * <li><em>pdus</em> - An Object[] of byte[]s containing the PDUs * that make up the message.</li> * </ul> * * <p>The extra values can be extracted using * {@link #getMessagesFromIntent(Intent)}.</p> * * <p>If a BroadcastReceiver encounters an error while processing * this intent it should set the result code appropriately.</p> */ @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION) public static final String SMS_EMERGENCY_CB_RECEIVED_ACTION = "android.provider.Telephony.SMS_EMERGENCY_CB_RECEIVED"; /** * Broadcast Action: The SIM storage for SMS messages is full. If * space is not freed, messages targeted for the SIM (class 2) may Loading Loading @@ -618,7 +658,7 @@ public final class Telephony { * @param intent the intent to read from * @return an array of SmsMessages for the PDUs */ public static final SmsMessage[] getMessagesFromIntent( public static SmsMessage[] getMessagesFromIntent( Intent intent) { Object[] messages = (Object[]) intent.getSerializableExtra("pdus"); byte[][] pduObjs = new byte[messages.length][]; Loading
core/res/AndroidManifest.xml +9 −0 Original line number Diff line number Diff line Loading @@ -150,6 +150,15 @@ android:label="@string/permlab_receiveMms" android:description="@string/permdesc_receiveMms" /> <!-- Allows an application to receive emergency cell broadcast messages, to record or display them to the user. Reserved for system apps. @hide Pending API council approval --> <permission android:name="android.permission.RECEIVE_EMERGENCY_BROADCAST" android:permissionGroup="android.permission-group.MESSAGES" android:protectionLevel="signatureOrSystem" android:label="@string/permlab_receiveEmergencyBroadcast" android:description="@string/permdesc_receiveEmergencyBroadcast" /> <!-- Allows an application to read SMS messages. --> <permission android:name="android.permission.READ_SMS" android:permissionGroup="android.permission-group.MESSAGES" Loading
core/res/res/values/strings.xml +7 −0 Original line number Diff line number Diff line Loading @@ -427,6 +427,13 @@ your messages or delete them without showing them to you.</string> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <string name="permlab_receiveEmergencyBroadcast">receive emergency broadcasts</string> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <string name="permdesc_receiveEmergencyBroadcast">Allows application to receive and process emergency broadcast messages. This permission is only available to system applications.</string> <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <string name="permlab_sendSms">send SMS messages</string> <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. --> <string name="permdesc_sendSms">Allows application to send SMS Loading
telephony/java/android/telephony/SmsCbConstants.java 0 → 100644 +114 −0 Original line number Diff line number Diff line /* * Copyright (C) 2011 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package android.telephony; /** * Constants used in SMS Cell Broadcast messages. * * {@hide} */ public interface SmsCbConstants { /** Cell wide immediate geographical scope */ public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE_IMMEDIATE = 0; /** PLMN wide geographical scope */ public static final int GEOGRAPHICAL_SCOPE_PLMN_WIDE = 1; /** Location / service area wide geographical scope */ public static final int GEOGRAPHICAL_SCOPE_LA_WIDE = 2; /** Cell wide geographical scope */ public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE = 3; /** Start of PWS Message Identifier range (includes ETWS and CMAS). */ public static final int MESSAGE_ID_PWS_FIRST_IDENTIFIER = 0x1100; /** Bitmask for messages of ETWS type (including future extensions). */ public static final int MESSAGE_ID_ETWS_TYPE_MASK = 0xFFF8; /** Value for messages of ETWS type after applying {@link #MESSAGE_ID_ETWS_TYPE_MASK}. */ public static final int MESSAGE_ID_ETWS_TYPE = 0x1100; /** ETWS Message Identifier for earthquake warning message. */ public static final int MESSAGE_ID_ETWS_EARTHQUAKE_WARNING = 0x1100; /** ETWS Message Identifier for tsunami warning message. */ public static final int MESSAGE_ID_ETWS_TSUNAMI_WARNING = 0x1101; /** ETWS Message Identifier for earthquake and tsunami combined warning message. */ public static final int MESSAGE_ID_ETWS_EARTHQUAKE_AND_TSUNAMI_WARNING = 0x1102; /** ETWS Message Identifier for test message. */ public static final int MESSAGE_ID_ETWS_TEST_MESSAGE = 0x1103; /** ETWS Message Identifier for messages related to other emergency types. */ public static final int MESSAGE_ID_ETWS_OTHER_EMERGENCY_TYPE = 0x1104; /** Start of CMAS Message Identifier range. */ public static final int MESSAGE_ID_CMAS_FIRST_IDENTIFIER = 0x1112; /** CMAS Message Identifier for Presidential Level alerts. */ public static final int MESSAGE_ID_CMAS_ALERT_PRESIDENTIAL_LEVEL = 0x1112; /** CMAS Message Identifier for Extreme alerts, Urgency=Immediate, Certainty=Observed. */ public static final int MESSAGE_ID_CMAS_ALERT_EXTREME_IMMEDIATE_OBSERVED = 0x1113; /** CMAS Message Identifier for Extreme alerts, Urgency=Immediate, Certainty=Likely. */ public static final int MESSAGE_ID_CMAS_ALERT_EXTREME_IMMEDIATE_LIKELY = 0x1114; /** CMAS Message Identifier for Extreme alerts, Urgency=Expected, Certainty=Observed. */ public static final int MESSAGE_ID_CMAS_ALERT_EXTREME_EXPECTED_OBSERVED = 0x1115; /** CMAS Message Identifier for Extreme alerts, Urgency=Expected, Certainty=Likely. */ public static final int MESSAGE_ID_CMAS_ALERT_EXTREME_EXPECTED_LIKELY = 0x1116; /** CMAS Message Identifier for Severe alerts, Urgency=Immediate, Certainty=Observed. */ public static final int MESSAGE_ID_CMAS_ALERT_SEVERE_IMMEDIATE_OBSERVED = 0x1117; /** CMAS Message Identifier for Severe alerts, Urgency=Immediate, Certainty=Likely. */ public static final int MESSAGE_ID_CMAS_ALERT_SEVERE_IMMEDIATE_LIKELY = 0x1118; /** CMAS Message Identifier for Severe alerts, Urgency=Expected, Certainty=Observed. */ public static final int MESSAGE_ID_CMAS_ALERT_SEVERE_EXPECTED_OBSERVED = 0x1119; /** CMAS Message Identifier for Severe alerts, Urgency=Expected, Certainty=Likely. */ public static final int MESSAGE_ID_CMAS_ALERT_SEVERE_EXPECTED_LIKELY = 0x111A; /** CMAS Message Identifier for Child Abduction Emergency (Amber Alert). */ public static final int MESSAGE_ID_CMAS_ALERT_CHILD_ABDUCTION_EMERGENCY = 0x111B; /** CMAS Message Identifier for the Required Monthly Test. */ public static final int MESSAGE_ID_CMAS_ALERT_REQUIRED_MONTHLY_TEST = 0x111C; /** CMAS Message Identifier for CMAS Exercise. */ public static final int MESSAGE_ID_CMAS_ALERT_EXERCISE = 0x111D; /** CMAS Message Identifier for operator defined use. */ public static final int MESSAGE_ID_CMAS_ALERT_OPERATOR_DEFINED_USE = 0x111E; /** End of CMAS Message Identifier range (including future extensions). */ public static final int MESSAGE_ID_CMAS_LAST_IDENTIFIER = 0x112F; /** End of PWS Message Identifier range (includes ETWS, CMAS, and future extensions). */ public static final int MESSAGE_ID_PWS_LAST_IDENTIFIER = 0x18FF; /** ETWS message code flag to activate the popup display. */ public static final int MESSAGE_CODE_ETWS_ACTIVATE_POPUP = 0x100; /** ETWS message code flag to activate the emergency user alert. */ public static final int MESSAGE_CODE_ETWS_EMERGENCY_USER_ALERT = 0x200; }
telephony/java/android/telephony/SmsCbMessage.java +6 −0 Original line number Diff line number Diff line Loading @@ -333,4 +333,10 @@ public class SmsCbMessage { return body; } @Override public String toString() { return "SmsCbMessage{" + mHeader.toString() + ", language=" + mLanguage + ", body=\"" + mBody + "\"}"; } }