Store ETWS primary information in the database
ETWS primary/secondary flag needs to be saved in the database in order to perform duplicate check later. Used the hardcoded database column name because Android R API freezes. Will remove the hardcode in the next Android release. Fix: 157699377 Test: CtsTelephonyTestCases & CellBroadcastServiceTests Change-Id: Iedec92a1f435f60ceb9f36637a1718adbbd7e2ae
This commit is contained in:
@@ -4324,6 +4324,15 @@ public final class Telephony {
|
||||
*/
|
||||
public static final String ETWS_WARNING_TYPE = "etws_warning_type";
|
||||
|
||||
/**
|
||||
* ETWS (Earthquake and Tsunami Warning System) primary message or not (ETWS alerts only).
|
||||
* <p>See {@link android.telephony.SmsCbEtwsInfo}</p>
|
||||
* <P>Type: BOOLEAN</P>
|
||||
*
|
||||
* @hide // TODO: Unhide this for S.
|
||||
*/
|
||||
public static final String ETWS_IS_PRIMARY = "etws_is_primary";
|
||||
|
||||
/**
|
||||
* CMAS (Commercial Mobile Alert System) message class (CMAS alerts only).
|
||||
* <p>See {@link android.telephony.SmsCbCmasInfo}</p>
|
||||
@@ -4464,37 +4473,6 @@ public final class Telephony {
|
||||
CMAS_URGENCY,
|
||||
CMAS_CERTAINTY
|
||||
};
|
||||
|
||||
/**
|
||||
* Query columns for instantiating {@link android.telephony.SmsCbMessage} objects.
|
||||
* @hide
|
||||
*/
|
||||
public static final String[] QUERY_COLUMNS_FWK = {
|
||||
_ID,
|
||||
SLOT_INDEX,
|
||||
SUBSCRIPTION_ID,
|
||||
GEOGRAPHICAL_SCOPE,
|
||||
PLMN,
|
||||
LAC,
|
||||
CID,
|
||||
SERIAL_NUMBER,
|
||||
SERVICE_CATEGORY,
|
||||
LANGUAGE_CODE,
|
||||
MESSAGE_BODY,
|
||||
MESSAGE_FORMAT,
|
||||
MESSAGE_PRIORITY,
|
||||
ETWS_WARNING_TYPE,
|
||||
CMAS_MESSAGE_CLASS,
|
||||
CMAS_CATEGORY,
|
||||
CMAS_RESPONSE_TYPE,
|
||||
CMAS_SEVERITY,
|
||||
CMAS_URGENCY,
|
||||
CMAS_CERTAINTY,
|
||||
RECEIVED_TIME,
|
||||
MESSAGE_BROADCASTED,
|
||||
GEOMETRIES,
|
||||
MAXIMUM_WAIT_TIME
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -594,6 +594,7 @@ public final class SmsCbMessage implements Parcelable {
|
||||
SmsCbEtwsInfo etwsInfo = getEtwsWarningInfo();
|
||||
if (etwsInfo != null) {
|
||||
cv.put(CellBroadcasts.ETWS_WARNING_TYPE, etwsInfo.getWarningType());
|
||||
cv.put(CellBroadcasts.ETWS_IS_PRIMARY, etwsInfo.isPrimary());
|
||||
}
|
||||
|
||||
SmsCbCmasInfo cmasInfo = getCmasWarningInfo();
|
||||
@@ -667,9 +668,12 @@ public final class SmsCbMessage implements Parcelable {
|
||||
|
||||
SmsCbEtwsInfo etwsInfo;
|
||||
int etwsWarningTypeColumn = cursor.getColumnIndex(CellBroadcasts.ETWS_WARNING_TYPE);
|
||||
if (etwsWarningTypeColumn != -1 && !cursor.isNull(etwsWarningTypeColumn)) {
|
||||
int etwsIsPrimaryColumn = cursor.getColumnIndex(CellBroadcasts.ETWS_IS_PRIMARY);
|
||||
if (etwsWarningTypeColumn != -1 && !cursor.isNull(etwsWarningTypeColumn)
|
||||
&& etwsIsPrimaryColumn != -1 && !cursor.isNull(etwsIsPrimaryColumn)) {
|
||||
int warningType = cursor.getInt(etwsWarningTypeColumn);
|
||||
etwsInfo = new SmsCbEtwsInfo(warningType, false, false, false, null);
|
||||
boolean isPrimary = cursor.getInt(etwsIsPrimaryColumn) != 0;
|
||||
etwsInfo = new SmsCbEtwsInfo(warningType, false, false, isPrimary, null);
|
||||
} else {
|
||||
etwsInfo = null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user