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

Commit 3a53928c authored by lesl's avatar lesl
Browse files

Add location permissions required for APIs

API:getConfiguredNetworks
API:getPrivilegedConfiguredNetworks

Bug: 111844314
Test: atest frameworks/base/wifi/tests/
Test: manual tests in Settings
Change-Id: I005969d735d4cb3fc452913d29a978c95fda5bbd
parent 8d27192f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ interface IWifiManager

    ParceledListSlice getConfiguredNetworks(String packageName);

    ParceledListSlice getPrivilegedConfiguredNetworks();
    ParceledListSlice getPrivilegedConfiguredNetworks(String packageName);

    Map getAllMatchingFqdnsForScanResults(in List<ScanResult> scanResult);

+11 −2
Original line number Diff line number Diff line
@@ -16,6 +16,10 @@

package android.net.wifi;

import static android.Manifest.permission.ACCESS_COARSE_LOCATION;
import static android.Manifest.permission.ACCESS_WIFI_STATE;
import static android.Manifest.permission.READ_WIFI_CREDENTIAL;

import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
@@ -1136,6 +1140,10 @@ public class WifiManager {
    /**
     * Return a list of all the networks configured for the current foreground
     * user.
     *
     * Requires the same permissions as {@link #getScanResults}.
     * If such access is not allowed, this API will always return an empty list.
     *
     * Not all fields of WifiConfiguration are returned. Only the following
     * fields are filled in:
     * <ul>
@@ -1162,6 +1170,7 @@ public class WifiManager {
     * {@link android.os.Build.VERSION_CODES#Q} or above, this API will always return an empty list.
     */
    @Deprecated
    @RequiresPermission(allOf = {ACCESS_COARSE_LOCATION, ACCESS_WIFI_STATE})
    public List<WifiConfiguration> getConfiguredNetworks() {
        try {
            ParceledListSlice<WifiConfiguration> parceledList =
@@ -1177,11 +1186,11 @@ public class WifiManager {

    /** @hide */
    @SystemApi
    @RequiresPermission(android.Manifest.permission.READ_WIFI_CREDENTIAL)
    @RequiresPermission(allOf = {ACCESS_COARSE_LOCATION, ACCESS_WIFI_STATE, READ_WIFI_CREDENTIAL})
    public List<WifiConfiguration> getPrivilegedConfiguredNetworks() {
        try {
            ParceledListSlice<WifiConfiguration> parceledList =
                mService.getPrivilegedConfiguredNetworks();
                    mService.getPrivilegedConfiguredNetworks(mContext.getOpPackageName());
            if (parceledList == null) {
                return Collections.emptyList();
            }
+1 −1
Original line number Diff line number Diff line
@@ -81,7 +81,7 @@ public abstract class AbstractWifiService extends IWifiManager.Stub {
    }

    @Override
    public ParceledListSlice getPrivilegedConfiguredNetworks() {
    public ParceledListSlice getPrivilegedConfiguredNetworks(String packageName) {
        throw new UnsupportedOperationException();
    }