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

Commit 361cae36 authored by Jack Yu's avatar Jack Yu Committed by Gerrit Code Review
Browse files

Merge changes from topics "cbs_area_info", "subscription_id"

* changes:
  Added area info support in cell broadcast service
  Renamed SUB_ID to SUBSCRIPTION_ID
parents 739c45ea d588c33c
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -7221,7 +7221,7 @@ package android.provider {
    field public static final String SERIAL_NUMBER = "serial_number";
    field public static final String SERVICE_CATEGORY = "service_category";
    field public static final String SLOT_INDEX = "slot_index";
    field public static final String SUB_ID = "sub_id";
    field public static final String SUBSCRIPTION_ID = "sub_id";
  }
  public static final class Telephony.CellBroadcasts.Preference {
@@ -8555,10 +8555,12 @@ package android.telephony {
  public class CellBroadcastIntents {
    method public static void sendSmsCbReceivedBroadcast(@NonNull android.content.Context, @Nullable android.os.UserHandle, @NonNull android.telephony.SmsCbMessage, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, int);
    field public static final String ACTION_AREA_INFO_UPDATED = "android.telephony.action.AREA_INFO_UPDATED";
  }
  public abstract class CellBroadcastService extends android.app.Service {
    ctor public CellBroadcastService();
    method @NonNull @WorkerThread public abstract CharSequence getCellBroadcastAreaInfo(int);
    method @CallSuper @NonNull public android.os.IBinder onBind(@Nullable android.content.Intent);
    method public abstract void onCdmaCellBroadcastSms(int, @NonNull byte[], int);
    method public abstract void onCdmaScpMessage(int, @NonNull java.util.List<android.telephony.cdma.CdmaSmsCbProgramData>, @NonNull String, @NonNull java.util.function.Consumer<android.os.Bundle>);
+1 −1
Original line number Diff line number Diff line
@@ -2580,7 +2580,7 @@ package android.provider {
    field public static final String SERIAL_NUMBER = "serial_number";
    field public static final String SERVICE_CATEGORY = "service_category";
    field public static final String SLOT_INDEX = "slot_index";
    field public static final String SUB_ID = "sub_id";
    field public static final String SUBSCRIPTION_ID = "sub_id";
  }

  public static final class Telephony.Sms.Intents {
+2 −2
Original line number Diff line number Diff line
@@ -4166,7 +4166,7 @@ public final class Telephony {
         * The subscription which received this cell broadcast message.
         * <P>Type: INTEGER</P>
         */
        public static final String SUB_ID = "sub_id";
        public static final String SUBSCRIPTION_ID = "sub_id";

        /**
         * The slot which received this cell broadcast message.
@@ -4447,7 +4447,7 @@ public final class Telephony {
        public static final String[] QUERY_COLUMNS_FWK = {
                _ID,
                SLOT_INDEX,
                SUB_ID,
                SUBSCRIPTION_ID,
                GEOGRAPHICAL_SCOPE,
                PLMN,
                LAC,
+10 −0
Original line number Diff line number Diff line
@@ -19,6 +19,8 @@ package android.telephony;
import android.Manifest;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SdkConstant;
import android.annotation.SdkConstant.SdkConstantType;
import android.annotation.SystemApi;
import android.app.AppOpsManager;
import android.content.BroadcastReceiver;
@@ -42,6 +44,14 @@ public class CellBroadcastIntents {

    private static final String EXTRA_MESSAGE = "message";

    /**
     * Broadcast intent action for notifying area information has been updated. The information
     * can be retrieved by {@link CellBroadcastService#getCellBroadcastAreaInfo(int)}
     */
    @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
    public static final String ACTION_AREA_INFO_UPDATED =
            "android.telephony.action.AREA_INFO_UPDATED";

    /**
     * @hide
     */
+24 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import android.annotation.CallSuper;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.SystemApi;
import android.annotation.WorkerThread;
import android.app.Service;
import android.content.Intent;
import android.os.Bundle;
@@ -101,6 +102,17 @@ public abstract class CellBroadcastService extends Service {
            @NonNull List<CdmaSmsCbProgramData> smsCbProgramData,
            @NonNull String originatingAddress, @NonNull Consumer<Bundle> callback);

    /**
     * Get broadcasted area information.
     *
     * @param slotIndex the index of the slot which received the area information.
     *
     * @return The area information string sent from the network. This is usually the human readable
     * string shown in Setting app's SIM status page.
     */
    @WorkerThread
    public abstract @NonNull CharSequence getCellBroadcastAreaInfo(int slotIndex);

    /**
     * If overriding this method, call through to the super method for any unknown actions.
     * {@inheritDoc}
@@ -163,5 +175,17 @@ public abstract class CellBroadcastService extends Service {
            CellBroadcastService.this.onCdmaScpMessage(slotIndex, smsCbProgramData,
                    originatingAddress, consumer);
        }

        /**
         * Get broadcasted area information
         *
         * @param slotIndex         the index of the slot which received the message
         *
         * @return The area information
         */
        @Override
        public @NonNull CharSequence getCellBroadcastAreaInfo(int slotIndex) {
            return CellBroadcastService.this.getCellBroadcastAreaInfo(slotIndex);
        }
    }
}
Loading