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

Commit a190c897 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Added area info support in cell broadcast service"

parents 5f76f8bc afaa71d4
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -11178,10 +11178,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 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>);
+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}
@@ -162,5 +174,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);
        }
    }
}
+3 −0
Original line number Diff line number Diff line
@@ -36,4 +36,7 @@ interface ICellBroadcastService {
    /** @see android.telephony.CellBroadcastService#onCdmaScpMessage */
    oneway void handleCdmaScpMessage(int slotId, in List<CdmaSmsCbProgramData> programData,
            String originatingAddress, in RemoteCallback callback);

    /** @see android.telephony.CellBroadcastService#getCellBroadcastAreaInfo */
    CharSequence getCellBroadcastAreaInfo(int slotIndex);
}