Merge "Disable non-thread local network matching" into main
This commit is contained in:
commit
e0051cdeb9
1 changed files with 186 additions and 39 deletions
|
|
@ -121,6 +121,7 @@ import static android.net.NetworkScore.POLICY_TRANSPORT_PRIMARY;
|
|||
import static android.net.OemNetworkPreferences.OEM_NETWORK_PREFERENCE_TEST;
|
||||
import static android.net.OemNetworkPreferences.OEM_NETWORK_PREFERENCE_TEST_ONLY;
|
||||
import static android.net.connectivity.ConnectivityCompatChanges.ENABLE_MATCH_LOCAL_NETWORK;
|
||||
import static android.net.connectivity.ConnectivityCompatChanges.ENABLE_MATCH_NON_THREAD_LOCAL_NETWORKS;
|
||||
import static android.net.connectivity.ConnectivityCompatChanges.ENABLE_SELF_CERTIFIED_CAPABILITIES_DECLARATION;
|
||||
import static android.net.connectivity.ConnectivityCompatChanges.NETWORK_BLOCKED_WITHOUT_INTERNET_PERMISSION;
|
||||
import static android.os.Process.INVALID_UID;
|
||||
|
|
@ -1473,6 +1474,10 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
|||
return SdkLevel.isAtLeastV();
|
||||
}
|
||||
|
||||
public boolean isAtLeastB() {
|
||||
return SdkLevel.isAtLeastB();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get system properties to use in ConnectivityService.
|
||||
*/
|
||||
|
|
@ -3186,6 +3191,11 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
|||
}
|
||||
|
||||
private void maybeDisableLocalNetworkMatching(NetworkCapabilities nc, int callingUid) {
|
||||
// If disabled, NetworkRequest cannot match non-thread local networks even if
|
||||
// specified explicitly. Compat change is enabled by default on apps targeting B+.
|
||||
// Agent should not be visible on U- even if it's rolled out.
|
||||
nc.setMatchNonThreadLocalNetworks(mDeps.isAtLeastV() && mDeps.isChangeEnabled(
|
||||
ENABLE_MATCH_NON_THREAD_LOCAL_NETWORKS, callingUid));
|
||||
if (mDeps.isChangeEnabled(ENABLE_MATCH_LOCAL_NETWORK, callingUid)) {
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue