Allow testing of signal strength

- Let any process with NETWORK_SETTINGS register for signal strength
  wakeup.
- Allow agents registering test networks to assign them a signal
  strength.

Test: NetworkAgentTest
Bug: 139268426
Change-Id: Iebfeb9316bcbd8472459c517abb16f1f9d879871
Merged-In: I2b4b89be3e69f4853fd6978d2c8f5c8eb4271f21
(cherry picked from commit 5cc7b18fe7fa94ce2e30572c476df445ed337741, aosp/1284585)
This commit is contained in:
Chalard Jean
2020-04-13 19:10:13 +00:00
parent 424cced078
commit 0e9a7738d0
2 changed files with 4 additions and 1 deletions

View File

@@ -680,11 +680,13 @@ public final class NetworkCapabilities implements Parcelable {
public void restrictCapabilitesForTestNetwork() { public void restrictCapabilitesForTestNetwork() {
final long originalCapabilities = mNetworkCapabilities; final long originalCapabilities = mNetworkCapabilities;
final NetworkSpecifier originalSpecifier = mNetworkSpecifier; final NetworkSpecifier originalSpecifier = mNetworkSpecifier;
final int originalSignalStrength = mSignalStrength;
clearAll(); clearAll();
// Reset the transports to only contain TRANSPORT_TEST. // Reset the transports to only contain TRANSPORT_TEST.
mTransportTypes = (1 << TRANSPORT_TEST); mTransportTypes = (1 << TRANSPORT_TEST);
mNetworkCapabilities = originalCapabilities & TEST_NETWORKS_ALLOWED_CAPABILITIES; mNetworkCapabilities = originalCapabilities & TEST_NETWORKS_ALLOWED_CAPABILITIES;
mNetworkSpecifier = originalSpecifier; mNetworkSpecifier = originalSpecifier;
mSignalStrength = originalSignalStrength;
} }
/** /**

View File

@@ -2151,7 +2151,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
private boolean checkNetworkSignalStrengthWakeupPermission(int pid, int uid) { private boolean checkNetworkSignalStrengthWakeupPermission(int pid, int uid) {
return checkAnyPermissionOf(pid, uid, return checkAnyPermissionOf(pid, uid,
android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP, android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP,
NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK); NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK,
android.Manifest.permission.NETWORK_SETTINGS);
} }
private void enforceConnectivityRestrictedNetworksPermission() { private void enforceConnectivityRestrictedNetworksPermission() {