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

Commit 0c723999 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Add permissions check for getNetworkType"

parents e682b152 744b57e1
Loading
Loading
Loading
Loading
+3 −17
Original line number Diff line number Diff line
@@ -2412,21 +2412,7 @@ public class TelephonyManager {
     * @return the NETWORK_TYPE_xxxx for current data connection.
     */
    public @NetworkType int getNetworkType() {
       try {
           ITelephony telephony = getITelephony();
           if (telephony != null) {
               return telephony.getNetworkType();
            } else {
                // This can happen when the ITelephony interface is not up yet.
                return NETWORK_TYPE_UNKNOWN;
            }
        } catch(RemoteException ex) {
            // This shouldn't happen in the normal case
            return NETWORK_TYPE_UNKNOWN;
        } catch (NullPointerException ex) {
            // This could happen before phone restarts due to crashing
            return NETWORK_TYPE_UNKNOWN;
        }
        return getNetworkType(getSubId(SubscriptionManager.getDefaultDataSubscriptionId()));
    }

    /**
@@ -2457,7 +2443,7 @@ public class TelephonyManager {
     * @hide
     */
    @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
    @UnsupportedAppUsage
    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P)
    public int getNetworkType(int subId) {
        try {
            ITelephony telephony = getITelephony();
+0 −7
Original line number Diff line number Diff line
@@ -457,13 +457,6 @@ interface ITelephony {
    // Send the special dialer code. The IPC caller must be the current default dialer.
    void sendDialerSpecialCode(String callingPackageName, String inputCode);

    /**
     * Returns the network type for data transmission
     * Legacy call, permission-free
     */
    @UnsupportedAppUsage
    int getNetworkType();

    /**
     * Returns the network type of a subId.
     * @param subId user preferred subId.
+10 −0
Original line number Diff line number Diff line
@@ -75,6 +75,16 @@ public final class TelephonyPermissions {
                callingPackage, message);
    }

    /** Identical to checkCallingOrSelfReadPhoneState but never throws SecurityException */
    public static boolean checkCallingOrSelfReadPhoneStateNoThrow(
            Context context, int subId, String callingPackage, String message) {
        try {
            return checkCallingOrSelfReadPhoneState(context, subId, callingPackage, message);
        } catch (SecurityException se) {
            return false;
        }
    }

    /**
     * Check whether the app with the given pid/uid can read phone state.
     *