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

Commit 8fe529bc authored by Shuo Qian's avatar Shuo Qian Committed by sqian
Browse files

Make getSubIdForPhoneAccountHandle Public

Clean up getSubIdForPhoneAccountHandle without checking
 CAPABILITY_SIM_SUBSCRIPTION

Test: Treehugger
Bug: 143235201
Change-Id: I563760d0e68cbcae597ccd297f184ee9efdf3367
Merged-In: I563760d0e68cbcae597ccd297f184ee9efdf3367
(cherry picked from commit 9ac2d6b0)
parent 3d8a0ce4
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -45021,6 +45021,7 @@ package android.telephony {
    method @Nullable public CharSequence getSimSpecificCarrierIdName();
    method public int getSimState();
    method public int getSimState(int);
    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int getSubIdForPhoneAccountHandle(@NonNull android.telecom.PhoneAccountHandle);
    method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getSubscriberId();
    method public int getSupportedModemCount();
    method @Nullable public String getTypeAllocationCode();
+17 −5
Original line number Diff line number Diff line
@@ -9448,16 +9448,28 @@ public class TelephonyManager {
        return returnValue;
    }

    private int getSubIdForPhoneAccountHandle(PhoneAccountHandle phoneAccountHandle) {
    /**
     * Returns the subscription ID for the given phone account handle.
     *
     * @param phoneAccountHandle the phone account handle for outgoing calls
     * @return subscription ID for the given phone account handle; or
     *         {@link SubscriptionManager#INVALID_SUBSCRIPTION_ID}
     *         if not available; or throw a SecurityException if the caller doesn't have the
     *         permission.
     */
    @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
    public int getSubIdForPhoneAccountHandle(@NonNull PhoneAccountHandle phoneAccountHandle) {
        int retval = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
        try {
            ITelecomService service = getTelecomService();
            ITelephony service = getITelephony();
            if (service != null) {
                retval = getSubIdForPhoneAccount(service.getPhoneAccount(phoneAccountHandle));
                retval = service.getSubIdForPhoneAccountHandle(
                        phoneAccountHandle, mContext.getOpPackageName());
            }
        } catch (RemoteException e) {
        } catch (RemoteException ex) {
            Log.e(TAG, "getSubIdForPhoneAccountHandle RemoteException", ex);
            ex.rethrowAsRuntimeException();
        }

        return retval;
    }

+6 −0
Original line number Diff line number Diff line
@@ -1308,6 +1308,12 @@ interface ITelephony {
     */
    int getSubIdForPhoneAccount(in PhoneAccount phoneAccount);

    /**
     * Returns the subscription ID associated with the specified PhoneAccountHandle.
     */
    int getSubIdForPhoneAccountHandle(in PhoneAccountHandle phoneAccountHandle,
            String callingPackage);

    /**
     * Returns the PhoneAccountHandle associated with a subscription ID.
     */