Add getAvoidBadWifi system API
This helps remove the dependency on MultinetworkPolicyTracker from IpClient. Test: atest FrameworksNetTests NetworkStackTests Bug: 112869080 Change-Id: If56791dbed564772f25a859f301b8b52d84e38a3
This commit is contained in:
@@ -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
|
||||
* time-sensitive user-facing operations when the system default network is temporarily
|
||||
|
||||
@@ -165,6 +165,7 @@ interface IConnectivityManager
|
||||
void setAvoidUnvalidated(in Network network);
|
||||
void startCaptivePortalApp(in Network network);
|
||||
|
||||
boolean getAvoidBadWifi();
|
||||
int getMultipathPreference(in Network Network);
|
||||
|
||||
NetworkRequest getDefaultRequest();
|
||||
|
||||
@@ -3183,6 +3183,15 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
return mMultinetworkPolicyTracker.getAvoidBadWifi();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean getAvoidBadWifi() {
|
||||
if (!checkNetworkStackPermission()) {
|
||||
throw new SecurityException("avoidBadWifi requires NETWORK_STACK permission");
|
||||
}
|
||||
return avoidBadWifi();
|
||||
}
|
||||
|
||||
|
||||
private void rematchForAvoidBadWifiUpdate() {
|
||||
rematchAllNetworksAndRequests(null, 0);
|
||||
for (NetworkAgentInfo nai: mNetworkAgentInfos.values()) {
|
||||
|
||||
Reference in New Issue
Block a user