Merge changes from topic "fcc_2019"

* changes:
  Added new cell broadcast channels
  Use locale language instead of harcoded langauge
This commit is contained in:
Jack Yu
2018-10-03 04:02:24 +00:00
committed by Gerrit Code Review
2 changed files with 81 additions and 30 deletions

View File

@@ -33,6 +33,7 @@ import com.android.internal.telephony.GsmAlphabet;
import com.android.internal.telephony.SmsConstants;
import java.io.UnsupportedEncodingException;
import java.util.Locale;
/**
* Parses a GSM or UMTS format SMS-CB message into an {@link SmsCbMessage} object. The class is
@@ -44,16 +45,34 @@ public class GsmSmsCbMessage {
* Languages in the 0000xxxx DCS group as defined in 3GPP TS 23.038, section 5.
*/
private static final String[] LANGUAGE_CODES_GROUP_0 = {
"de", "en", "it", "fr", "es", "nl", "sv", "da", "pt", "fi", "no", "el", "tr", "hu",
"pl", null
Locale.GERMAN.getLanguage(), // German
Locale.ENGLISH.getLanguage(), // English
Locale.ITALIAN.getLanguage(), // Italian
Locale.FRENCH.getLanguage(), // French
new Locale("es").getLanguage(), // Spanish
new Locale("nl").getLanguage(), // Dutch
new Locale("sv").getLanguage(), // Swedish
new Locale("da").getLanguage(), // Danish
new Locale("pt").getLanguage(), // Portuguese
new Locale("fi").getLanguage(), // Finnish
new Locale("nb").getLanguage(), // Norwegian
new Locale("el").getLanguage(), // Greek
new Locale("tr").getLanguage(), // Turkish
new Locale("hu").getLanguage(), // Hungarian
new Locale("pl").getLanguage(), // Polish
null
};
/**
* Languages in the 0010xxxx DCS group as defined in 3GPP TS 23.038, section 5.
*/
private static final String[] LANGUAGE_CODES_GROUP_2 = {
"cs", "he", "ar", "ru", "is", null, null, null, null, null, null, null, null, null,
null, null
new Locale("cs").getLanguage(), // Czech
new Locale("he").getLanguage(), // Hebrew
new Locale("ar").getLanguage(), // Arabic
new Locale("ru").getLanguage(), // Russian
new Locale("is").getLanguage(), // Icelandic
null, null, null, null, null, null, null, null, null, null, null
};
private static final char CARRIAGE_RETURN = 0x0d;

View File

@@ -118,71 +118,103 @@ public class SmsCbConstants {
public static final int MESSAGE_ID_CMAS_ALERT_OPERATOR_DEFINED_USE
= 0x111E; // 4382
/** CMAS Message Identifier for Presidential Level alerts for additional languages
* for additional languages. */
/**
* CMAS Message Identifier for Presidential Level alerts for additional languages.
*/
public static final int MESSAGE_ID_CMAS_ALERT_PRESIDENTIAL_LEVEL_LANGUAGE
= 0x111F; // 4383
/** CMAS Message Identifier for Extreme alerts, Urgency=Immediate, Certainty=Observed
* for additional languages. */
/**
* CMAS Message Identifier for Extreme alerts, Urgency=Immediate, Certainty=Observed
* for additional languages.
*/
public static final int MESSAGE_ID_CMAS_ALERT_EXTREME_IMMEDIATE_OBSERVED_LANGUAGE
= 0x1120; // 4384
/** CMAS Message Identifier for Extreme alerts, Urgency=Immediate, Certainty=Likely
* for additional languages. */
/**
* CMAS Message Identifier for Extreme alerts, Urgency=Immediate, Certainty=Likely
* for additional languages.
*/
public static final int MESSAGE_ID_CMAS_ALERT_EXTREME_IMMEDIATE_LIKELY_LANGUAGE
= 0x1121; // 4385
/** CMAS Message Identifier for Extreme alerts, Urgency=Expected, Certainty=Observed
* for additional languages. */
/**
* CMAS Message Identifier for Extreme alerts, Urgency=Expected, Certainty=Observed
* for additional languages.
*/
public static final int MESSAGE_ID_CMAS_ALERT_EXTREME_EXPECTED_OBSERVED_LANGUAGE
= 0x1122; // 4386
/** CMAS Message Identifier for Extreme alerts, Urgency=Expected, Certainty=Likely
* for additional languages. */
/**
* CMAS Message Identifier for Extreme alerts, Urgency=Expected, Certainty=Likely
* for additional languages.
*/
public static final int MESSAGE_ID_CMAS_ALERT_EXTREME_EXPECTED_LIKELY_LANGUAGE
= 0x1123; // 4387
/** CMAS Message Identifier for Severe alerts, Urgency=Immediate, Certainty=Observed
* for additional languages. */
/**
* CMAS Message Identifier for Severe alerts, Urgency=Immediate, Certainty=Observed
* for additional languages.
*/
public static final int MESSAGE_ID_CMAS_ALERT_SEVERE_IMMEDIATE_OBSERVED_LANGUAGE
= 0x1124; // 4388
/** CMAS Message Identifier for Severe alerts, Urgency=Immediate, Certainty=Likely
* for additional languages.*/
/**
* CMAS Message Identifier for Severe alerts, Urgency=Immediate, Certainty=Likely
* for additional languages.
*/
public static final int MESSAGE_ID_CMAS_ALERT_SEVERE_IMMEDIATE_LIKELY_LANGUAGE
= 0x1125; // 4389
/** CMAS Message Identifier for Severe alerts, Urgency=Expected, Certainty=Observed
* for additional languages. */
/**
* CMAS Message Identifier for Severe alerts, Urgency=Expected, Certainty=Observed
* for additional languages.
*/
public static final int MESSAGE_ID_CMAS_ALERT_SEVERE_EXPECTED_OBSERVED_LANGUAGE
= 0x1126; // 4390
/** CMAS Message Identifier for Severe alerts, Urgency=Expected, Certainty=Likely
* for additional languages.*/
/**
* CMAS Message Identifier for Severe alerts, Urgency=Expected, Certainty=Likely
* for additional languages.
*/
public static final int MESSAGE_ID_CMAS_ALERT_SEVERE_EXPECTED_LIKELY_LANGUAGE
= 0x1127; // 4391
/** CMAS Message Identifier for Child Abduction Emergency (Amber Alert)
* for additional languages. */
/**
* CMAS Message Identifier for Child Abduction Emergency (Amber Alert)
* for additional languages.
*/
public static final int MESSAGE_ID_CMAS_ALERT_CHILD_ABDUCTION_EMERGENCY_LANGUAGE
= 0x1128; // 4392
/** CMAS Message Identifier for the Required Monthly Test
* for additional languages. */
/** CMAS Message Identifier for the Required Monthly Test for additional languages. */
public static final int MESSAGE_ID_CMAS_ALERT_REQUIRED_MONTHLY_TEST_LANGUAGE
= 0x1129; // 4393
/** CMAS Message Identifier for CMAS Exercise
* for additional languages. */
/** CMAS Message Identifier for CMAS Exercise for additional languages. */
public static final int MESSAGE_ID_CMAS_ALERT_EXERCISE_LANGUAGE
= 0x112A; // 4394
/** CMAS Message Identifier for operator defined use
* for additional languages. */
/** CMAS Message Identifier for operator defined use for additional languages. */
public static final int MESSAGE_ID_CMAS_ALERT_OPERATOR_DEFINED_USE_LANGUAGE
= 0x112B; // 4395
/** CMAS Message Identifier for CMAS Public Safety Alerts. */
public static final int MESSAGE_ID_CMAS_ALERT_PUBLIC_SAFETY
= 0x112C; // 4396
/** CMAS Message Identifier for CMAS Public Safety Alerts for additional languages. */
public static final int MESSAGE_ID_CMAS_ALERT_PUBLIC_SAFETY_LANGUAGE
= 0x112D; // 4397
/** CMAS Message Identifier for CMAS State/Local Test. */
public static final int MESSAGE_ID_CMAS_ALERT_STATE_LOCAL_TEST
= 0x112E; // 4398
/** CMAS Message Identifier for CMAS State/Local Test for additional languages. */
public static final int MESSAGE_ID_CMAS_ALERT_STATE_LOCAL_TEST_LANGUAGE
= 0x112F; // 4399
/** End of CMAS Message Identifier range (including future extensions). */
public static final int MESSAGE_ID_CMAS_LAST_IDENTIFIER
= 0x112F; // 4399