Merge "Pass bearerData and serviceCategory to CB module for CDMA"

am: 234ede4445

Change-Id: I34ba46cf94b3eb9e1d1523c790fdd1008aece70e
This commit is contained in:
Jordan Liu
2019-11-04 13:31:01 -08:00
committed by android-build-merger
5 changed files with 35 additions and 16 deletions

View File

@@ -7256,7 +7256,7 @@ package android.telephony {
public abstract class CellBroadcastService extends android.app.Service {
ctor public CellBroadcastService();
method @CallSuper @NonNull public android.os.IBinder onBind(@Nullable android.content.Intent);
method public abstract void onCdmaCellBroadcastSms(int, @NonNull byte[]);
method public abstract void onCdmaCellBroadcastSms(int, @NonNull byte[], int);
method public abstract void onGsmCellBroadcastSms(int, @NonNull byte[]);
field public static final String CELL_BROADCAST_SERVICE_INTERFACE = "android.telephony.CellBroadcastService";
}

View File

@@ -23,6 +23,7 @@ import android.annotation.SystemApi;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.telephony.cdma.CdmaSmsCbProgramData;
/**
* A service which exposes the cell broadcast handling module to the system.
@@ -71,9 +72,11 @@ public abstract class CellBroadcastService extends Service {
/**
* Handle a CDMA cell broadcast SMS message forwarded from the system.
* @param slotIndex the index of the slot which received the message
* @param message the SMS PDU
* @param bearerData the CDMA SMS bearer data
* @param serviceCategory the CDMA SCPT service category
*/
public abstract void onCdmaCellBroadcastSms(int slotIndex, @NonNull byte[] message);
public abstract void onCdmaCellBroadcastSms(int slotIndex, @NonNull byte[] bearerData,
@CdmaSmsCbProgramData.Category int serviceCategory);
/**
* If overriding this method, call through to the super method for any unknown actions.
@@ -105,11 +108,14 @@ public abstract class CellBroadcastService extends Service {
/**
* Handle a CDMA cell broadcast SMS.
* @param slotIndex the index of the slot which received the broadcast
* @param message the SMS message PDU
* @param bearerData the CDMA SMS bearer data
* @param serviceCategory the CDMA SCPT service category
*/
@Override
public void handleCdmaCellBroadcastSms(int slotIndex, byte[] message) {
CellBroadcastService.this.onCdmaCellBroadcastSms(slotIndex, message);
public void handleCdmaCellBroadcastSms(int slotIndex, byte[] bearerData,
int serviceCategory) {
CellBroadcastService.this.onCdmaCellBroadcastSms(slotIndex, bearerData,
serviceCategory);
}
}
}

View File

@@ -28,5 +28,5 @@ interface ICellBroadcastService {
oneway void handleGsmCellBroadcastSms(int slotId, in byte[] message);
/** @see android.telephony.CellBroadcastService#onCdmaCellBroadcastSms */
oneway void handleCdmaCellBroadcastSms(int slotId, in byte[] message);
oneway void handleCdmaCellBroadcastSms(int slotId, in byte[] bearerData, int serviceCategory);
}

View File

@@ -19,17 +19,17 @@ package com.android.internal.telephony.cdma;
import static com.android.internal.telephony.TelephonyProperties.PROPERTY_OPERATOR_IDP_STRING;
import android.content.res.Resources;
import android.os.Parcel;
import android.os.SystemProperties;
import android.telephony.PhoneNumberUtils;
import android.telephony.Rlog;
import android.telephony.SmsCbLocation;
import android.telephony.SmsCbMessage;
import android.telephony.cdma.CdmaSmsCbProgramData;
import android.telephony.Rlog;
import android.text.TextUtils;
import android.util.Log;
import com.android.internal.telephony.GsmAlphabet.TextEncodingDetails;
import com.android.internal.telephony.Sms7BitEncodingTranslator;
import com.android.internal.telephony.SmsAddress;
import com.android.internal.telephony.SmsConstants;
import com.android.internal.telephony.SmsHeader;
@@ -43,7 +43,6 @@ import com.android.internal.telephony.cdma.sms.UserData;
import com.android.internal.telephony.uicc.IccUtils;
import com.android.internal.util.BitwiseInputStream;
import com.android.internal.util.HexDump;
import com.android.internal.telephony.Sms7BitEncodingTranslator;
import java.io.BufferedOutputStream;
import java.io.ByteArrayInputStream;
@@ -880,6 +879,20 @@ public class SmsMessage extends SmsMessageBase {
bData.priority, null, bData.cmasWarningInfo, subId);
}
/**
* @return the bearer data byte array
*/
public byte[] getEnvelopeBearerData() {
return mEnvelope.bearerData;
}
/**
* @return the 16-bit CDMA SCPT service category
*/
public @CdmaSmsCbProgramData.Category int getEnvelopeServiceCategory() {
return mEnvelope.serviceCategory;
}
/**
* {@inheritDoc}
*/

View File

@@ -58,17 +58,17 @@ public final class SmsEnvelope {
// CMAS alert service category assignments, see 3GPP2 C.R1001 table 9.3.3-1
public static final int SERVICE_CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT =
CdmaSmsCbProgramData.CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT;
CdmaSmsCbProgramData.CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT; // = 4096
public static final int SERVICE_CATEGORY_CMAS_EXTREME_THREAT =
CdmaSmsCbProgramData.CATEGORY_CMAS_EXTREME_THREAT;
CdmaSmsCbProgramData.CATEGORY_CMAS_EXTREME_THREAT; // = 4097
public static final int SERVICE_CATEGORY_CMAS_SEVERE_THREAT =
CdmaSmsCbProgramData.CATEGORY_CMAS_SEVERE_THREAT;
CdmaSmsCbProgramData.CATEGORY_CMAS_SEVERE_THREAT; // = 4098
public static final int SERVICE_CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY =
CdmaSmsCbProgramData.CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY;
CdmaSmsCbProgramData.CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY; // = 4099
public static final int SERVICE_CATEGORY_CMAS_TEST_MESSAGE =
CdmaSmsCbProgramData.CATEGORY_CMAS_TEST_MESSAGE;
CdmaSmsCbProgramData.CATEGORY_CMAS_TEST_MESSAGE; // = 4100
public static final int SERVICE_CATEGORY_CMAS_LAST_RESERVED_VALUE =
CdmaSmsCbProgramData.CATEGORY_CMAS_LAST_RESERVED_VALUE;
CdmaSmsCbProgramData.CATEGORY_CMAS_LAST_RESERVED_VALUE; // = 4351
/**
* Provides the type of a SMS message like point to point, broadcast or acknowledge