From 66c5773f791832a9ad01a796813d38d8b13f35c9 Mon Sep 17 00:00:00 2001 From: Kweku Adams Date: Tue, 3 Mar 2020 17:02:12 -0800 Subject: [PATCH] Ensure airplane mode is off. If the device is put into airplane mode before the network tests run, the tests fail. This ensures that airplane mode is off before the tests run. Bug: 150788500 Test: atest CtsHostsideNetworkTests Change-Id: I7a84be751e5e9efb534d48c6d8ff457875ebe716 --- .../cts/net/NetworkPolicyTestsPreparer.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/cts/hostside/src/com/android/cts/net/NetworkPolicyTestsPreparer.java b/tests/cts/hostside/src/com/android/cts/net/NetworkPolicyTestsPreparer.java index b0facec119..23aca24788 100644 --- a/tests/cts/hostside/src/com/android/cts/net/NetworkPolicyTestsPreparer.java +++ b/tests/cts/hostside/src/com/android/cts/net/NetworkPolicyTestsPreparer.java @@ -23,6 +23,7 @@ import com.android.tradefed.targetprep.ITargetPreparer; public class NetworkPolicyTestsPreparer implements ITargetPreparer { private ITestDevice mDevice; + private boolean mOriginalAirplaneModeEnabled; private String mOriginalAppStandbyEnabled; private String mOriginalBatteryStatsConstants; private final static String KEY_STABLE_CHARGING_DELAY_MS = "battery_charged_delay_ms"; @@ -39,15 +40,29 @@ public class NetworkPolicyTestsPreparer implements ITargetPreparer { setBatteryStatsConstants( KEY_STABLE_CHARGING_DELAY_MS + "=" + DESIRED_STABLE_CHARGING_DELAY_MS); LogUtil.CLog.d("Original battery_saver_constants: " + mOriginalBatteryStatsConstants); + + mOriginalAirplaneModeEnabled = getAirplaneModeEnabled(); + // Turn off airplane mode in case another test left the device in that state. + setAirplaneModeEnabled(false); + LogUtil.CLog.d("Original airplane mode state: " + mOriginalAirplaneModeEnabled); } @Override public void tearDown(TestInformation testInformation, Throwable e) throws DeviceNotAvailableException { + setAirplaneModeEnabled(mOriginalAirplaneModeEnabled); setAppStandbyEnabled(mOriginalAppStandbyEnabled); setBatteryStatsConstants(mOriginalBatteryStatsConstants); } + private void setAirplaneModeEnabled(boolean enable) throws DeviceNotAvailableException { + executeCmd("cmd connectivity airplane-mode " + (enable ? "enable" : "disable")); + } + + private boolean getAirplaneModeEnabled() throws DeviceNotAvailableException { + return "enabled".equals(executeCmd("cmd connectivity airplane-mode").trim()); + } + private void setAppStandbyEnabled(String appStandbyEnabled) throws DeviceNotAvailableException { if ("null".equals(appStandbyEnabled)) { executeCmd("settings delete global app_standby_enabled");