Add a device config for actively preferring bad wifi

Test: FrameworksNetTests
      adb shell device_config put connectivity actively_prefer_bad_wifi
       + check that dumpsys updates
Test: at this patchset tests fail with :
      Permission denial: reading from settings requires:android.permission.READ_DEVICE_CONFIG

Change-Id: Icfe1e64b8313921ff1dc8e4cbd45f967692e1c4a
This commit is contained in:
Chalard Jean
2022-09-14 21:44:22 +09:00
parent 8c0f6ba5dd
commit e0fdea3c5e
6 changed files with 184 additions and 50 deletions

View File

@@ -5112,22 +5112,32 @@ public class ConnectivityService extends IConnectivityManager.Stub
pw.println("Bad Wi-Fi avoidance: " + avoidBadWifi());
pw.increaseIndent();
pw.println("Config restrict: " + configRestrict);
pw.println("Actively prefer: " + activelyPreferBadWifi());
pw.println("Config restrict: " + configRestrict);
pw.println("Actively prefer bad wifi: " + activelyPreferBadWifi());
final String value = mMultinetworkPolicyTracker.getAvoidBadWifiSetting();
final String settingValue = mMultinetworkPolicyTracker.getAvoidBadWifiSetting();
String description;
// Can't use a switch statement because strings are legal case labels, but null is not.
if ("0".equals(value)) {
if ("0".equals(settingValue)) {
description = "get stuck";
} else if (value == null) {
} else if (settingValue == null) {
description = "prompt";
} else if ("1".equals(value)) {
} else if ("1".equals(settingValue)) {
description = "avoid";
} else {
description = value + " (?)";
description = settingValue + " (?)";
}
pw.println("User setting: " + description);
pw.println("Avoid bad wifi setting: " + description);
final Boolean configValue = mMultinetworkPolicyTracker.deviceConfigActivelyPreferBadWifi();
if (null == configValue) {
description = "unset";
} else if (configValue) {
description = "force true";
} else {
description = "force false";
}
pw.println("Actively prefer bad wifi conf: " + description);
pw.println();
pw.println("Network overrides:");
pw.increaseIndent();
for (NetworkAgentInfo nai : networksSortedById()) {