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

Commit 228306b0 authored by Chiachang Wang's avatar Chiachang Wang
Browse files

Create getMobileProvisioningUrl in telephony

ConnectivityService is going to become mainline and can not
access hidden APIs. Telephony and Settings were both accessing
the hidden API ConnectivityManager#getMobileProvisioningUrl.
Moving #getMobileProvisioningUrl method into telephony means
that there is one less access to a hidden API within the
overall framework since the connectivity stack never needed
this value. Thus, add getMobileProvisioningUrl() to telephony
surface to replace the one in connectivity stack.

Bug: 175177794
Test: atest FrameworksTelephonyTests
Change-Id: Icff8bf39b168b28f972b6737e4e7be8fc86b3dee
parent 4ba82f5d
Loading
Loading
Loading
Loading
+29 −0
Original line number Diff line number Diff line
@@ -9274,6 +9274,35 @@ public class TelephonyManager {
        return false;
    }
    /**
     * Get the mobile provisioning url that is used to launch a browser to allow users to manage
     * their mobile plan.
     *
     * <p>Requires Permission:
     * {@link android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE}.
     *
     * TODO: The legacy design only supports single sim design. Ideally, this should support
     * multi-sim design in current world.
     *
     * {@hide}
     */
    @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
    public @Nullable String getMobileProvisioningUrl() {
        try {
            final ITelephony service = getITelephony();
            if (service != null) {
                return service.getMobileProvisioningUrl();
            } else {
                throw new IllegalStateException("telephony service is null.");
            }
        } catch (RemoteException ex) {
            if (!isSystemProcess()) {
                ex.rethrowAsRuntimeException();
            }
        }
        return null;
    }
    /**
     * Turns mobile data on or off.
     * If this object has been created with {@link #createForSubscriptionId}, applies to the given
+6 −0
Original line number Diff line number Diff line
@@ -2352,4 +2352,10 @@ interface ITelephony {
     * Gets the config of RCS VoLTE single registration enabled for the carrier/subscription.
     */
    boolean getCarrierSingleRegistrationEnabled(int subId);

    /**
     *  Return the mobile provisioning url that is used to launch a browser to allow users to manage
     *  their mobile plan.
     */
    String getMobileProvisioningUrl();
}