Merge "Add getAvoidBadWifi system API"

This commit is contained in:
Remi NGUYEN VAN
2019-01-23 01:13:01 +00:00
committed by Gerrit Code Review
3 changed files with 23 additions and 0 deletions

View File

@@ -3698,6 +3698,19 @@ public class ConnectivityManager {
} }
} }
/**
* Determine whether the device is configured to avoid bad wifi.
* @hide
*/
@SystemApi
public boolean getAvoidBadWifi() {
try {
return mService.getAvoidBadWifi();
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}
}
/** /**
* It is acceptable to briefly use multipath data to provide seamless connectivity for * It is acceptable to briefly use multipath data to provide seamless connectivity for
* time-sensitive user-facing operations when the system default network is temporarily * time-sensitive user-facing operations when the system default network is temporarily

View File

@@ -165,6 +165,7 @@ interface IConnectivityManager
void setAvoidUnvalidated(in Network network); void setAvoidUnvalidated(in Network network);
void startCaptivePortalApp(in Network network); void startCaptivePortalApp(in Network network);
boolean getAvoidBadWifi();
int getMultipathPreference(in Network Network); int getMultipathPreference(in Network Network);
NetworkRequest getDefaultRequest(); NetworkRequest getDefaultRequest();

View File

@@ -3183,6 +3183,15 @@ public class ConnectivityService extends IConnectivityManager.Stub
return mMultinetworkPolicyTracker.getAvoidBadWifi(); return mMultinetworkPolicyTracker.getAvoidBadWifi();
} }
@Override
public boolean getAvoidBadWifi() {
if (!checkNetworkStackPermission()) {
throw new SecurityException("avoidBadWifi requires NETWORK_STACK permission");
}
return avoidBadWifi();
}
private void rematchForAvoidBadWifiUpdate() { private void rematchForAvoidBadWifiUpdate() {
rematchAllNetworksAndRequests(null, 0); rematchAllNetworksAndRequests(null, 0);
for (NetworkAgentInfo nai: mNetworkAgentInfos.values()) { for (NetworkAgentInfo nai: mNetworkAgentInfos.values()) {