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

Commit c3b640cf authored by Udam Saini's avatar Udam Saini Committed by Chalard Jean
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 bff14ae5
Loading
Loading
Loading
Loading
+5 −2
Original line number Original line Diff line number Diff line
@@ -1125,6 +1125,7 @@ public class ConnectivityManager {
     * @hide
     * @hide
     */
     */
    @SystemApi
    @SystemApi
    @RequiresPermission(android.Manifest.permission.LOCAL_MAC_ADDRESS)
    public String getCaptivePortalServerUrl() {
    public String getCaptivePortalServerUrl() {
        try {
        try {
            return mService.getCaptivePortalServerUrl();
            return mService.getCaptivePortalServerUrl();
@@ -2088,10 +2089,11 @@ public class ConnectivityManager {
     * {@hide}
     * {@hide}
     */
     */
    @SystemApi
    @SystemApi
    @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE)
    @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED)
    public boolean isTetheringSupported() {
    public boolean isTetheringSupported() {
        try {
        try {
            return mService.isTetheringSupported();
            String pkgName = mContext.getOpPackageName();
            return mService.isTetheringSupported(pkgName);
        } catch (RemoteException e) {
        } catch (RemoteException e) {
            throw e.rethrowFromSystemServer();
            throw e.rethrowFromSystemServer();
        }
        }
@@ -2121,6 +2123,7 @@ public class ConnectivityManager {
     * @hide
     * @hide
     */
     */
    @SystemApi
    @SystemApi
    @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED)
    public void startTethering(int type, boolean showProvisioningUi,
    public void startTethering(int type, boolean showProvisioningUi,
            final OnStartTetheringCallback callback) {
            final OnStartTetheringCallback callback) {
        startTethering(type, showProvisioningUi, callback, null);
        startTethering(type, showProvisioningUi, callback, null);
+1 −1
Original line number Original line Diff line number Diff line
@@ -75,7 +75,7 @@ interface IConnectivityManager


    int getLastTetherError(String iface);
    int getLastTetherError(String iface);


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


    void startTethering(int type, in ResultReceiver receiver, boolean showProvisioningUi,
    void startTethering(int type, in ResultReceiver receiver, boolean showProvisioningUi,
            String callerPkg);
            String callerPkg);
+8 −3
Original line number Original line Diff line number Diff line
@@ -2979,12 +2979,16 @@ public class ConnectivityService extends IConnectivityManager.Stub
        return mTethering.getTetheredDhcpRanges();
        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
    // 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
    // gservices could set the secure setting to 1 though to enable it on a build where it
    // had previously been turned off.
    // had previously been turned off.
    @Override
    private boolean isTetheringSupported() {
    public boolean isTetheringSupported() {
        enforceTetherAccessPermission();
        int defaultVal = encodeBool(!mSystemProperties.get("ro.tether.denied").equals("true"));
        int defaultVal = encodeBool(!mSystemProperties.get("ro.tether.denied").equals("true"));
        boolean tetherSupported = toBool(Settings.Global.getInt(mContext.getContentResolver(),
        boolean tetherSupported = toBool(Settings.Global.getInt(mContext.getContentResolver(),
                Settings.Global.TETHER_SUPPORTED, defaultVal));
                Settings.Global.TETHER_SUPPORTED, defaultVal));
@@ -5455,6 +5459,7 @@ public class ConnectivityService extends IConnectivityManager.Stub


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