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

Commit 0e94c360 authored by Udam Saini's avatar Udam Saini
Browse files

Adds necessary permissions to system apis

adds privileged permission for getCaptivePortalServerUrl
adds tether privileged permission for
startTethering,isTetheringSupported

bug:62348162

Test: make and manual testing
Change-Id: I8eb8e3c9dcd7201abe9ea303ee57fe99073d67eb
parent b0297aeb
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -1098,6 +1098,7 @@ public class ConnectivityManager {
     * @hide
     */
    @SystemApi
    @RequiresPermission(android.Manifest.permission.LOCAL_MAC_ADDRESS)
    public String getCaptivePortalServerUrl() {
        try {
            return mService.getCaptivePortalServerUrl();
@@ -2061,10 +2062,11 @@ public class ConnectivityManager {
     * {@hide}
     */
    @SystemApi
    @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE)
    @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED)
    public boolean isTetheringSupported() {
        try {
            return mService.isTetheringSupported();
            String pkgName = mContext.getOpPackageName();
            return mService.isTetheringSupported(pkgName);
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
        }
@@ -2094,6 +2096,7 @@ public class ConnectivityManager {
     * @hide
     */
    @SystemApi
    @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED)
    public void startTethering(int type, boolean showProvisioningUi,
            final OnStartTetheringCallback callback) {
        startTethering(type, showProvisioningUi, callback, null);
+1 −1
Original line number Diff line number Diff line
@@ -75,7 +75,7 @@ interface IConnectivityManager

    int getLastTetherError(String iface);

    boolean isTetheringSupported();
    boolean isTetheringSupported(String callerPkg);

    void startTethering(int type, in ResultReceiver receiver, boolean showProvisioningUi,
            String callerPkg);
+8 −3
Original line number Diff line number Diff line
@@ -2973,12 +2973,16 @@ public class ConnectivityService extends IConnectivityManager.Stub
        return mTethering.getTetheredDhcpRanges();
    }

    @Override
    public boolean isTetheringSupported(String callerPkg) {
        ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
        return isTetheringSupported();
    }

    // if ro.tether.denied = true we default to no tethering
    // gservices could set the secure setting to 1 though to enable it on a build where it
    // had previously been turned off.
    @Override
    public boolean isTetheringSupported() {
        enforceTetherAccessPermission();
    private boolean isTetheringSupported() {
        int defaultVal = encodeBool(!mSystemProperties.get("ro.tether.denied").equals("true"));
        boolean tetherSupported = toBool(Settings.Global.getInt(mContext.getContentResolver(),
                Settings.Global.TETHER_SUPPORTED, defaultVal));
@@ -5380,6 +5384,7 @@ public class ConnectivityService extends IConnectivityManager.Stub

    @Override
    public String getCaptivePortalServerUrl() {
        enforceConnectivityInternalPermission();
        return NetworkMonitor.getCaptivePortalServerHttpUrl(mContext);
    }