Add WiFi toggle prompts - framework
If permission review is enabled toggling WiFi on or off results in a user prompt to collect a consent. This applies only to legacy apps, i.e. ones that don't support runtime permissions as they target SDK 22. bug:28715749 Change-Id: I020601e208c0736005bcabc7b7b77b96eee45b03
This commit is contained in:
committed by
Ivan Podogov
parent
b1e2da7c24
commit
82737b42a6
@@ -52,7 +52,7 @@ public class WifiCommand extends Svc.Command {
|
||||
IWifiManager wifiMgr
|
||||
= IWifiManager.Stub.asInterface(ServiceManager.getService(Context.WIFI_SERVICE));
|
||||
try {
|
||||
wifiMgr.setWifiEnabled(flag);
|
||||
wifiMgr.setWifiEnabled("com.android.shell", flag);
|
||||
}
|
||||
catch (RemoteException e) {
|
||||
System.err.println("Wi-Fi operation failed: " + e);
|
||||
|
||||
@@ -89,7 +89,7 @@ interface IWifiManager
|
||||
|
||||
WifiInfo getConnectionInfo();
|
||||
|
||||
boolean setWifiEnabled(boolean enable);
|
||||
boolean setWifiEnabled(String packageName, boolean enable);
|
||||
|
||||
int getWifiEnabledState();
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ package android.net.wifi;
|
||||
import android.annotation.SdkConstant;
|
||||
import android.annotation.SdkConstant.SdkConstantType;
|
||||
import android.annotation.SystemApi;
|
||||
import android.bluetooth.BluetoothAdapter;
|
||||
import android.content.Context;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.DhcpInfo;
|
||||
@@ -562,6 +563,28 @@ public class WifiManager {
|
||||
@SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
|
||||
public static final String ACTION_PICK_WIFI_NETWORK = "android.net.wifi.PICK_WIFI_NETWORK";
|
||||
|
||||
/**
|
||||
* Activity Action: Show UI to get user approval to enable WiFi.
|
||||
* <p>Input: {@link android.content.Intent#EXTRA_PACKAGE_NAME} string extra with
|
||||
* the name of the app requesting the action.
|
||||
* <p>Output: Nothing.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
|
||||
public static final String ACTION_REQUEST_ENABLE = "android.net.wifi.action.REQUEST_ENABLE";
|
||||
|
||||
/**
|
||||
* Activity Action: Show UI to get user approval to disable WiFi.
|
||||
* <p>Input: {@link android.content.Intent#EXTRA_PACKAGE_NAME} string extra with
|
||||
* the name of the app requesting the action.
|
||||
* <p>Output: Nothing.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
|
||||
public static final String ACTION_REQUEST_DISABLE = "android.net.wifi.action.REQUEST_DISABLE";
|
||||
|
||||
/**
|
||||
* Internally used Wi-Fi lock mode representing the case were no locks are held.
|
||||
* @hide
|
||||
@@ -1445,7 +1468,7 @@ public class WifiManager {
|
||||
*/
|
||||
public boolean setWifiEnabled(boolean enabled) {
|
||||
try {
|
||||
return mService.setWifiEnabled(enabled);
|
||||
return mService.setWifiEnabled(mContext.getOpPackageName(), enabled);
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user