Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8cd40be2 authored by Jordan Liu's avatar Jordan Liu Committed by android-build-merger
Browse files

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

am: 234ede44

Change-Id: I34ba46cf94b3eb9e1d1523c790fdd1008aece70e
parents 43b61165 234ede44
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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";
  }
+11 −5
Original line number Diff line number Diff line
@@ -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);
        }
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -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);
}
+16 −3
Original line number Diff line number Diff line
@@ -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}
     */
+6 −6
Original line number Diff line number Diff line
@@ -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