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

Commit aceba5cc authored by Rambo Wang's avatar Rambo Wang Committed by Automerger Merge Worker
Browse files

Merge "Introduce CarrierPrivilegesCallback to replace CarrierPrivilegesListener" am: a77a04e3

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2028807

Change-Id: Iffda212e55fa39086ec2c3242cfb1a0a8e04af7c
parents d79eecc8 a77a04e3
Loading
Loading
Loading
Loading
+11 −4
Original line number Original line Diff line number Diff line
@@ -11594,7 +11594,7 @@ package android.telephony {
  }
  }
  public class TelephonyManager {
  public class TelephonyManager {
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void addCarrierPrivilegesListener(int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CarrierPrivilegesListener);
    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void addCarrierPrivilegesListener(int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CarrierPrivilegesListener);
    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION}) @WorkerThread public void bootstrapAuthenticationRequest(int, @NonNull android.net.Uri, @NonNull android.telephony.gba.UaSecurityProtocolIdentifier, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.BootstrapAuthenticationCallback);
    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION}) @WorkerThread public void bootstrapAuthenticationRequest(int, @NonNull android.net.Uri, @NonNull android.telephony.gba.UaSecurityProtocolIdentifier, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.BootstrapAuthenticationCallback);
    method @Deprecated @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void call(String, String);
    method @Deprecated @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void call(String, String);
    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult changeIccLockPin(@NonNull String, @NonNull String);
    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult changeIccLockPin(@NonNull String, @NonNull String);
@@ -11690,7 +11690,8 @@ package android.telephony {
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyOtaEmergencyNumberDbInstalled();
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyOtaEmergencyNumberDbInstalled();
    method @RequiresPermission(android.Manifest.permission.REBOOT) public int prepareForUnattendedReboot();
    method @RequiresPermission(android.Manifest.permission.REBOOT) public int prepareForUnattendedReboot();
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean rebootRadio();
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean rebootRadio();
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void removeCarrierPrivilegesListener(@NonNull android.telephony.TelephonyManager.CarrierPrivilegesListener);
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerCarrierPrivilegesCallback(int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CarrierPrivilegesCallback);
    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void removeCarrierPrivilegesListener(@NonNull android.telephony.TelephonyManager.CarrierPrivilegesListener);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void reportDefaultNetworkStatus(boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void reportDefaultNetworkStatus(boolean);
    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.MODIFY_PHONE_STATE}) public void requestCellInfoUpdate(@NonNull android.os.WorkSource, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CellInfoCallback);
    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.MODIFY_PHONE_STATE}) public void requestCellInfoUpdate(@NonNull android.os.WorkSource, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CellInfoCallback);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void requestModemActivityInfo(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.telephony.ModemActivityInfo,android.telephony.TelephonyManager.ModemActivityInfoException>);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void requestModemActivityInfo(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.telephony.ModemActivityInfo,android.telephony.TelephonyManager.ModemActivityInfoException>);
@@ -11740,6 +11741,7 @@ package android.telephony {
    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int[] supplyPukReportResult(String, String);
    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int[] supplyPukReportResult(String, String);
    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean switchSlots(int[]);
    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean switchSlots(int[]);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void toggleRadioOnOff();
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void toggleRadioOnOff();
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterCarrierPrivilegesCallback(@NonNull android.telephony.TelephonyManager.CarrierPrivilegesCallback);
    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void updateOtaEmergencyNumberDbFilePath(@NonNull android.os.ParcelFileDescriptor);
    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void updateOtaEmergencyNumberDbFilePath(@NonNull android.os.ParcelFileDescriptor);
    method public void updateServiceLocation();
    method public void updateServiceLocation();
    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final String ACTION_ANOMALY_REPORTED = "android.telephony.action.ANOMALY_REPORTED";
    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final String ACTION_ANOMALY_REPORTED = "android.telephony.action.ANOMALY_REPORTED";
@@ -11844,8 +11846,13 @@ package android.telephony {
    field public static final int RESULT_SUCCESS = 0; // 0x0
    field public static final int RESULT_SUCCESS = 0; // 0x0
  }
  }
  public static interface TelephonyManager.CarrierPrivilegesListener {
  public static interface TelephonyManager.CarrierPrivilegesCallback {
    method public void onCarrierPrivilegesChanged(@NonNull java.util.List<java.lang.String>, @NonNull int[]);
    method public void onCarrierPrivilegesChanged(@NonNull java.util.Set<java.lang.String>, @NonNull java.util.Set<java.lang.Integer>);
    method public default void onCarrierServiceChanged(@Nullable String, int);
  }
  @Deprecated public static interface TelephonyManager.CarrierPrivilegesListener {
    method @Deprecated public void onCarrierPrivilegesChanged(@NonNull java.util.List<java.lang.String>, @NonNull int[]);
  }
  }
  public static class TelephonyManager.ModemActivityInfoException extends java.lang.Exception {
  public static class TelephonyManager.ModemActivityInfoException extends java.lang.Exception {
+89 −0
Original line number Original line Diff line number Diff line
@@ -140,6 +140,7 @@ import java.util.List;
import java.util.Locale;
import java.util.Locale;
import java.util.Map;
import java.util.Map;
import java.util.Objects;
import java.util.Objects;
import java.util.Set;
import java.util.UUID;
import java.util.UUID;
import java.util.concurrent.Executor;
import java.util.concurrent.Executor;
import java.util.concurrent.RejectedExecutionException;
import java.util.concurrent.RejectedExecutionException;
@@ -16228,6 +16229,8 @@ public class TelephonyManager {
     * Callback to listen for when the set of packages with carrier privileges for a SIM changes.
     * Callback to listen for when the set of packages with carrier privileges for a SIM changes.
     *
     *
     * @hide
     * @hide
     * @deprecated Use {@link CarrierPrivilegesCallback} instead. This API will be removed soon
     * prior to API finalization.
     */
     */
    @SystemApi
    @SystemApi
    public interface CarrierPrivilegesListener {
    public interface CarrierPrivilegesListener {
@@ -16247,6 +16250,54 @@ public class TelephonyManager {
                @NonNull List<String> privilegedPackageNames, @NonNull int[] privilegedUids);
                @NonNull List<String> privilegedPackageNames, @NonNull int[] privilegedUids);
    }
    }
    /**
     * Callbacks to listen for when the set of packages with carrier privileges for a SIM changes.
     *
     * <p>Of note, when multiple callbacks are registered, they may be triggered one after another.
     * The ordering of them is not guaranteed and thus should not be depend on.
     *
     * @hide
     */
    @SystemApi
    public interface CarrierPrivilegesCallback {
        /**
         * Called when the set of packages with carrier privileges has changed.
         *
         * <p>Of note, this callback will <b>not</b> be fired if a carrier triggers a SIM profile
         * switch and the same set of packages remains privileged after the switch.
         *
         * <p>At registration, the callback will receive the current set of privileged packages.
         *
         * @param privilegedPackageNames The updated set of package names that have carrier
         *                               privileges
         * @param privilegedUids         The updated set of UIDs that have carrier privileges
         */
        void onCarrierPrivilegesChanged(
                @NonNull Set<String> privilegedPackageNames, @NonNull Set<Integer> privilegedUids);
        /**
         * Called when the {@link CarrierService} for the current user profile has changed.
         *
         * <p>This method does nothing by default. Clients that are interested in the carrier
         * service change should override this method to get package name and UID info.
         *
         * <p>At registration, the callback will receive the current carrier service info.
         *
         * <p>Of note, this callback will <b>not</b> be fired if a carrier triggers a SIM profile
         * switch and the same carrier service remains after switch.
         *
         * @param carrierServicePackageName package name of the {@link CarrierService}. May be
         *                                  {@code null} when no carrier service is detected.
         * @param carrierServiceUid         UID of the {@link CarrierService}. May be
         *                                  {@link android.os.Process#INVALID_UID} if no carrier
         *                                  service is detected.
         */
        default void onCarrierServiceChanged(
                @Nullable String carrierServicePackageName, int carrierServiceUid) {
            // do nothing by default
        }
    }
    /**
    /**
     * Registers a {@link CarrierPrivilegesListener} on the given {@code logicalSlotIndex} to
     * Registers a {@link CarrierPrivilegesListener} on the given {@code logicalSlotIndex} to
     * receive callbacks when the set of packages with carrier privileges changes. The callback will
     * receive callbacks when the set of packages with carrier privileges changes. The callback will
@@ -16256,7 +16307,10 @@ public class TelephonyManager {
     * @param executor The executor where {@code listener} will be invoked
     * @param executor The executor where {@code listener} will be invoked
     * @param listener The callback to register
     * @param listener The callback to register
     * @hide
     * @hide
     * @deprecated Use {@link #registerCarrierPrivilegesCallback} instead. This API will be
     * removed prior to API finalization.
     */
     */
    @Deprecated
    @SystemApi
    @SystemApi
    @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
    @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
    public void addCarrierPrivilegesListener(
    public void addCarrierPrivilegesListener(
@@ -16280,7 +16334,10 @@ public class TelephonyManager {
     * Unregisters an existing {@link CarrierPrivilegesListener}.
     * Unregisters an existing {@link CarrierPrivilegesListener}.
     *
     *
     * @hide
     * @hide
     * @deprecated Use {@link #unregisterCarrierPrivilegesCallback} instead. This API will be
     * removed prior to API finalization.
     */
     */
    @Deprecated
    @SystemApi
    @SystemApi
    @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
    @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
    public void removeCarrierPrivilegesListener(@NonNull CarrierPrivilegesListener listener) {
    public void removeCarrierPrivilegesListener(@NonNull CarrierPrivilegesListener listener) {
@@ -16295,4 +16352,36 @@ public class TelephonyManager {
        }
        }
        mTelephonyRegistryMgr.removeCarrierPrivilegesListener(listener);
        mTelephonyRegistryMgr.removeCarrierPrivilegesListener(listener);
    }
    }
    /**
     * Registers a {@link CarrierPrivilegesCallback} on the given {@code logicalSlotIndex} to
     * receive callbacks when the set of packages with carrier privileges changes. The callback will
     * immediately be called with the latest state.
     *
     * @param logicalSlotIndex The SIM slot to listen on
     * @param executor The executor where {@code callback} will be invoked
     * @param callback The callback to register
     * @hide
     */
    @SystemApi
    @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
    public void registerCarrierPrivilegesCallback(
            int logicalSlotIndex,
            @NonNull @CallbackExecutor Executor executor,
            @NonNull CarrierPrivilegesCallback callback) {
        // TODO(b/216549778): cherry-pick implementation once merge conflict is resolved
        throw new UnsupportedOperationException("Not implemented, yet");
    }
    /**
     * Unregisters an existing {@link CarrierPrivilegesCallback}.
     *
     * @hide
     */
    @SystemApi
    @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
    public void unregisterCarrierPrivilegesCallback(@NonNull CarrierPrivilegesCallback callback) {
        // TODO(b/216549778): cherry-pick implementation once merge conflict is resolved
        throw new UnsupportedOperationException("Not implemented, yet");
    }
}
}