Merge "Have the status bar listen to all macro-users VPN changes."
am: b16a6053fe
Change-Id: Icc4fe4fbdb75c90abaaee8009f08f1220536686e
This commit is contained in:
@@ -23,6 +23,7 @@ import android.os.Process;
|
|||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
|
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Defines a request for a network, made through {@link NetworkRequest.Builder} and used
|
* Defines a request for a network, made through {@link NetworkRequest.Builder} and used
|
||||||
@@ -203,6 +204,19 @@ public class NetworkRequest implements Parcelable {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the watched UIDs for this request. This will be reset and wiped out unless
|
||||||
|
* the calling app holds the CHANGE_NETWORK_STATE permission.
|
||||||
|
*
|
||||||
|
* @param uids The watched UIDs as a set of UidRanges, or null for everything.
|
||||||
|
* @return The builder to facilitate chaining.
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
public Builder setUids(Set<UidRange> uids) {
|
||||||
|
mNetworkCapabilities.setUids(uids);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add a capability that must not exist in the requested network.
|
* Add a capability that must not exist in the requested network.
|
||||||
* <p>
|
* <p>
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ public class SecurityControllerImpl extends CurrentUserTracker implements Securi
|
|||||||
.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN)
|
.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_VPN)
|
||||||
.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED)
|
.removeCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED)
|
||||||
.removeCapability(NetworkCapabilities.NET_CAPABILITY_TRUSTED)
|
.removeCapability(NetworkCapabilities.NET_CAPABILITY_TRUSTED)
|
||||||
|
.setUids(null)
|
||||||
.build();
|
.build();
|
||||||
private static final int NO_NETWORK = -1;
|
private static final int NO_NETWORK = -1;
|
||||||
|
|
||||||
|
|||||||
@@ -19,11 +19,15 @@ package com.android.systemui.statusbar.policy;
|
|||||||
import static org.junit.Assert.assertEquals;
|
import static org.junit.Assert.assertEquals;
|
||||||
import static org.junit.Assert.assertFalse;
|
import static org.junit.Assert.assertFalse;
|
||||||
import static org.junit.Assert.assertTrue;
|
import static org.junit.Assert.assertTrue;
|
||||||
|
import static org.mockito.Matchers.any;
|
||||||
import static org.mockito.Matchers.anyInt;
|
import static org.mockito.Matchers.anyInt;
|
||||||
|
import static org.mockito.Matchers.argThat;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.when;
|
import static org.mockito.Mockito.when;
|
||||||
import static org.mockito.Mockito.doThrow;
|
import static org.mockito.Mockito.doThrow;
|
||||||
import static org.mockito.Mockito.doNothing;
|
import static org.mockito.Mockito.doNothing;
|
||||||
|
import static org.mockito.Mockito.times;
|
||||||
|
import static org.mockito.Mockito.verify;
|
||||||
|
|
||||||
import android.app.admin.DevicePolicyManager;
|
import android.app.admin.DevicePolicyManager;
|
||||||
import android.content.ComponentName;
|
import android.content.ComponentName;
|
||||||
@@ -32,6 +36,9 @@ import android.content.Intent;
|
|||||||
import android.content.pm.StringParceledListSlice;
|
import android.content.pm.StringParceledListSlice;
|
||||||
import android.content.pm.UserInfo;
|
import android.content.pm.UserInfo;
|
||||||
import android.net.ConnectivityManager;
|
import android.net.ConnectivityManager;
|
||||||
|
import android.net.ConnectivityManager.NetworkCallback;
|
||||||
|
import android.net.NetworkCapabilities;
|
||||||
|
import android.net.NetworkRequest;
|
||||||
import android.os.UserManager;
|
import android.os.UserManager;
|
||||||
import android.security.IKeyChainService;
|
import android.security.IKeyChainService;
|
||||||
import android.support.test.runner.AndroidJUnit4;
|
import android.support.test.runner.AndroidJUnit4;
|
||||||
@@ -61,6 +68,7 @@ public class SecurityControllerTest extends SysuiTestCase implements SecurityCon
|
|||||||
private final UserManager mUserManager = mock(UserManager.class);
|
private final UserManager mUserManager = mock(UserManager.class);
|
||||||
private SecurityControllerImpl mSecurityController;
|
private SecurityControllerImpl mSecurityController;
|
||||||
private CountDownLatch mStateChangedLatch;
|
private CountDownLatch mStateChangedLatch;
|
||||||
|
private ConnectivityManager mConnectivityManager = mock(ConnectivityManager.class);
|
||||||
|
|
||||||
// implementing SecurityControllerCallback
|
// implementing SecurityControllerCallback
|
||||||
@Override
|
@Override
|
||||||
@@ -72,7 +80,7 @@ public class SecurityControllerTest extends SysuiTestCase implements SecurityCon
|
|||||||
public void setUp() throws Exception {
|
public void setUp() throws Exception {
|
||||||
mContext.addMockSystemService(Context.DEVICE_POLICY_SERVICE, mDevicePolicyManager);
|
mContext.addMockSystemService(Context.DEVICE_POLICY_SERVICE, mDevicePolicyManager);
|
||||||
mContext.addMockSystemService(Context.USER_SERVICE, mUserManager);
|
mContext.addMockSystemService(Context.USER_SERVICE, mUserManager);
|
||||||
mContext.addMockSystemService(Context.CONNECTIVITY_SERVICE, mock(ConnectivityManager.class));
|
mContext.addMockSystemService(Context.CONNECTIVITY_SERVICE, mConnectivityManager);
|
||||||
|
|
||||||
Intent intent = new Intent(IKeyChainService.class.getName());
|
Intent intent = new Intent(IKeyChainService.class.getName());
|
||||||
ComponentName comp = intent.resolveSystemService(mContext.getPackageManager(), 0);
|
ComponentName comp = intent.resolveSystemService(mContext.getPackageManager(), 0);
|
||||||
@@ -176,4 +184,12 @@ public class SecurityControllerTest extends SysuiTestCase implements SecurityCon
|
|||||||
//assertTrue(mStateChangedLatch.await(31, TimeUnit.SECONDS));
|
//assertTrue(mStateChangedLatch.await(31, TimeUnit.SECONDS));
|
||||||
//assertFalse(mSecurityController.hasCACertInCurrentUser());
|
//assertFalse(mSecurityController.hasCACertInCurrentUser());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testNetworkRequest() {
|
||||||
|
verify(mConnectivityManager, times(1)).registerNetworkCallback(argThat(
|
||||||
|
(NetworkRequest request) -> request.networkCapabilities.getUids() == null
|
||||||
|
&& request.networkCapabilities.getCapabilities().length == 0
|
||||||
|
), any(NetworkCallback.class));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user