Merge "WifiManager: Restore network pin behavior on enableNetwork" into qt-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
8d3cb6b3fd
@@ -36,11 +36,14 @@ import android.content.pm.ParceledListSlice;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.DhcpInfo;
|
||||
import android.net.Network;
|
||||
import android.net.NetworkCapabilities;
|
||||
import android.net.NetworkRequest;
|
||||
import android.net.wifi.hotspot2.IProvisioningCallback;
|
||||
import android.net.wifi.hotspot2.OsuProvider;
|
||||
import android.net.wifi.hotspot2.PasspointConfiguration;
|
||||
import android.net.wifi.hotspot2.ProvisioningCallback;
|
||||
import android.os.Binder;
|
||||
import android.os.Build;
|
||||
import android.os.Handler;
|
||||
import android.os.IBinder;
|
||||
import android.os.Looper;
|
||||
@@ -56,6 +59,7 @@ import com.android.internal.annotations.GuardedBy;
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.internal.util.AsyncChannel;
|
||||
import com.android.internal.util.Protocol;
|
||||
import com.android.server.net.NetworkPinner;
|
||||
|
||||
import dalvik.system.CloseGuard;
|
||||
|
||||
@@ -1895,12 +1899,27 @@ public class WifiManager {
|
||||
*/
|
||||
@Deprecated
|
||||
public boolean enableNetwork(int netId, boolean attemptConnect) {
|
||||
final boolean pin = attemptConnect && mTargetSdkVersion < Build.VERSION_CODES.LOLLIPOP;
|
||||
if (pin) {
|
||||
NetworkRequest request = new NetworkRequest.Builder()
|
||||
.clearCapabilities()
|
||||
.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN)
|
||||
.addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
|
||||
.build();
|
||||
NetworkPinner.pin(mContext, request);
|
||||
}
|
||||
|
||||
boolean success;
|
||||
try {
|
||||
success = mService.enableNetwork(netId, attemptConnect, mContext.getOpPackageName());
|
||||
} catch (RemoteException e) {
|
||||
throw e.rethrowFromSystemServer();
|
||||
}
|
||||
|
||||
if (pin && !success) {
|
||||
NetworkPinner.unpin();
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user