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

Commit 3f044831 authored by Automerger Merge Worker's avatar Automerger Merge Worker
Browse files

Merge "[Settings] To avoid use APIs in IccCard directly, moving APIs into...

Merge "[Settings] To avoid use APIs in IccCard directly, moving APIs into TelephonyManager." am: e6d75258

Change-Id: I1187a4e4370db8e4b24aba7c012f765c3e6e9efb
parents d1c0f8fa e6d75258
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -9623,6 +9623,7 @@ package android.telephony {
  public class TelephonyManager {
    method public int addDevicePolicyOverrideApn(@NonNull android.content.Context, @NonNull android.telephony.data.ApnSetting);
    method @Deprecated @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void call(String, String);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int changeIccLockPassword(@NonNull String, @NonNull String);
    method public int checkCarrierPrivilegesForPackage(String);
    method public int checkCarrierPrivilegesForPackageAnyPhone(String);
    method public void dial(String);
@@ -9689,6 +9690,7 @@ package android.telephony {
    method public boolean isDataConnectivityPossible();
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataEnabledForApn(int);
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isEmergencyAssistanceEnabled();
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled();
    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isInEmergencySmsMode();
    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isManualNetworkSelectionAllowed();
@@ -9726,6 +9728,7 @@ package android.telephony {
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setDataAllowedDuringVoiceCall(boolean);
    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int, boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataRoamingEnabled(boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setIccLockEnabled(boolean, @NonNull String);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setNetworkSelectionModeManual(@NonNull String, int, boolean);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setOpportunisticNetworkState(boolean);
@@ -9768,6 +9771,7 @@ package android.telephony {
    field public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; // 0x1
    field public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; // 0x0
    field public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; // 0xffffffff
    field public static final int CHANGE_ICC_LOCK_SUCCESS = 2147483647; // 0x7fffffff
    field public static final String EXTRA_ANOMALY_DESCRIPTION = "android.telephony.extra.ANOMALY_DESCRIPTION";
    field public static final String EXTRA_ANOMALY_ID = "android.telephony.extra.ANOMALY_ID";
    field @Deprecated public static final String EXTRA_APN_PROTOCOL = "apnProto";
+104 −0
Original line number Diff line number Diff line
@@ -12679,4 +12679,108 @@ public class TelephonyManager {
        }
        return false;
    }

    /**
     * The IccLock state or password was changed successfully.
     * @hide
     */
    @SystemApi
    public static final int CHANGE_ICC_LOCK_SUCCESS = Integer.MAX_VALUE;

    /**
     * Check whether ICC pin lock is enabled.
     * This is a sync call which returns the cached pin enabled state.
     *
     * @return {@code true} if ICC lock enabled, {@code false} if ICC lock disabled.
     *
     * @throws SecurityException if the caller doesn't have the permission.
     *
     * @hide
     */
    @SystemApi
    @WorkerThread
    @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
    public boolean isIccLockEnabled() {
        try {
            ITelephony telephony = getITelephony();
            if (telephony != null) {
                return telephony.isIccLockEnabled(getSubId());
            }
        } catch (RemoteException e) {
            Log.e(TAG, "isIccLockEnabled RemoteException", e);
        }
        return false;
    }

    /**
     * Set the ICC pin lock enabled or disabled.
     *
     * If enable/disable ICC pin lock successfully, a value of {@link Integer#MAX_VALUE} is
     * returned.
     * If an incorrect old password is specified, the return value will indicate how many more
     * attempts the user can make to change the password before the SIM is locked.
     * Using PUK code to unlock SIM if enter the incorrect old password 3 times.
     *
     * @param enabled    "true" for locked, "false" for unlocked.
     * @param password   needed to change the ICC pin state, aka. Pin1
     * @return an integer representing the status of IccLock enabled or disabled in the following
     * three cases:
     *   - {@link TelephonyManager#CHANGE_ICC_LOCK_SUCCESS} if enabled or disabled IccLock
     *   successfully.
     *   - Positive number and zero for remaining password attempts.
     *   - Negative number for other failure cases (such like enabling/disabling PIN failed).
     *
     * @throws SecurityException if the caller doesn't have the permission.
     *
     * @hide
     */
    @SystemApi
    @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
    public int setIccLockEnabled(boolean enabled, @NonNull String password) {
        checkNotNull(password, "setIccLockEnabled password can't be null.");
        try {
            ITelephony telephony = getITelephony();
            if (telephony != null) {
                return telephony.setIccLockEnabled(getSubId(), enabled, password);
            }
        } catch (RemoteException e) {
            Log.e(TAG, "setIccLockEnabled RemoteException", e);
        }
        return 0;
    }

    /**
     * Change the ICC password used in ICC pin lock.
     *
     * If the password was changed successfully, a value of {@link Integer#MAX_VALUE} is returned.
     * If an incorrect old password is specified, the return value will indicate how many more
     * attempts the user can make to change the password before the SIM is locked.
     * Using PUK code to unlock SIM if enter the incorrect old password 3 times.
     *
     * @param oldPassword is the old password
     * @param newPassword is the new password
     * @return an integer representing the status of IccLock changed in the following three cases:
     *   - {@link TelephonyManager#CHANGE_ICC_LOCK_SUCCESS} if changed IccLock successfully.
     *   - Positive number and zero for remaining password attempts.
     *   - Negative number for other failure cases (such like enabling/disabling PIN failed).
     *
     * @throws SecurityException if the caller doesn't have the permission.
     *
     * @hide
     */
    @SystemApi
    @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
    public int changeIccLockPassword(@NonNull String oldPassword, @NonNull String newPassword) {
        checkNotNull(oldPassword, "changeIccLockPassword oldPassword can't be null.");
        checkNotNull(newPassword, "changeIccLockPassword newPassword can't be null.");
        try {
            ITelephony telephony = getITelephony();
            if (telephony != null) {
                return telephony.changeIccLockPassword(getSubId(), oldPassword, newPassword);
            }
        } catch (RemoteException e) {
            Log.e(TAG, "changeIccLockPassword RemoteException", e);
        }
        return 0;
    }
}
+6 −0
Original line number Diff line number Diff line
@@ -2254,4 +2254,10 @@ interface ITelephony {
     * Notify Rcs auto config received.
     */
    void notifyRcsAutoConfigurationReceived(int subId, in byte[] config, boolean isCompressed);

    boolean isIccLockEnabled(int subId);

    int setIccLockEnabled(int subId, boolean enabled, String password);

    int changeIccLockPassword(int subId, String oldPassword, String newPassword);
}