Merge "Introduce CarrierPrivilegesCallback to replace CarrierPrivilegesListener" am: a77a04e330 am: aceba5ccbb
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2028807 Change-Id: Id0745ea0405ac6b738291ec0b2b70e78af87e771
This commit is contained in:
commit
e095f5aaab
@ -11594,7 +11594,7 @@ package android.telephony {
|
||||
}
|
||||
|
||||
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 @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);
|
||||
@ -11690,7 +11690,8 @@ package android.telephony {
|
||||
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.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(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>);
|
||||
@ -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 boolean switchSlots(int[]);
|
||||
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 public void updateServiceLocation();
|
||||
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
|
||||
}
|
||||
|
||||
public static interface TelephonyManager.CarrierPrivilegesListener {
|
||||
method public void onCarrierPrivilegesChanged(@NonNull java.util.List<java.lang.String>, @NonNull int[]);
|
||||
public static interface TelephonyManager.CarrierPrivilegesCallback {
|
||||
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 {
|
||||
|
@ -140,6 +140,7 @@ import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.Executor;
|
||||
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.
|
||||
*
|
||||
* @hide
|
||||
* @deprecated Use {@link CarrierPrivilegesCallback} instead. This API will be removed soon
|
||||
* prior to API finalization.
|
||||
*/
|
||||
@SystemApi
|
||||
public interface CarrierPrivilegesListener {
|
||||
@ -16247,6 +16250,54 @@ public class TelephonyManager {
|
||||
@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
|
||||
* 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 listener The callback to register
|
||||
* @hide
|
||||
* @deprecated Use {@link #registerCarrierPrivilegesCallback} instead. This API will be
|
||||
* removed prior to API finalization.
|
||||
*/
|
||||
@Deprecated
|
||||
@SystemApi
|
||||
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
|
||||
public void addCarrierPrivilegesListener(
|
||||
@ -16280,7 +16334,10 @@ public class TelephonyManager {
|
||||
* Unregisters an existing {@link CarrierPrivilegesListener}.
|
||||
*
|
||||
* @hide
|
||||
* @deprecated Use {@link #unregisterCarrierPrivilegesCallback} instead. This API will be
|
||||
* removed prior to API finalization.
|
||||
*/
|
||||
@Deprecated
|
||||
@SystemApi
|
||||
@RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
|
||||
public void removeCarrierPrivilegesListener(@NonNull CarrierPrivilegesListener listener) {
|
||||
@ -16295,4 +16352,36 @@ public class TelephonyManager {
|
||||
}
|
||||
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");
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user