CtsJobSchedulerTestCases: Fix issues in android.jobscheduler.cts.ConnectivityConstraintTest
1.android.jobscheduler.cts.ConnectivityConstraintTest#testConnectivityConstraintExecutes_withWifi
2.android.jobscheduler.cts.ConnectivityConstraintTest#testUnmeteredConstraintExecutes_withWifi
3.android.jobscheduler.cts.ConnectivityConstraintTest#testMeteredConstraintExecutes_withWifi
Bug:143000256
Test: run cts-on-gsi -m CtsJobSchedulerTestCases -t android.jobscheduler.cts.ConnectivityConstraintTest#testConnectivityConstraintExecutes_withWifi
Test: run cts-on-gsi -m CtsJobSchedulerTestCases -t android.jobscheduler.cts.ConnectivityConstraintTest#testUnmeteredConstraintExecutes_withWifi
Test: run cts-on-gsi -m CtsJobSchedulerTestCases -t android.jobscheduler.cts.ConnectivityConstraintTest#testMeteredConstraintExecutes_withWifi
Change-Id: I1329390722cb5db498a6769e915287c71677ee78
Merged-In: I028c9d3040cd63ac7a611e882d1dfad53a8231a2
diff --git a/tests/JobScheduler/src/android/jobscheduler/cts/ConnectivityConstraintTest.java b/tests/JobScheduler/src/android/jobscheduler/cts/ConnectivityConstraintTest.java
index e092a0d..7f7d870 100644
--- a/tests/JobScheduler/src/android/jobscheduler/cts/ConnectivityConstraintTest.java
+++ b/tests/JobScheduler/src/android/jobscheduler/cts/ConnectivityConstraintTest.java
@@ -80,10 +80,12 @@
mBuilder =
new JobInfo.Builder(CONNECTIVITY_JOB_ID, kJobServiceComponent);
- mInitialWiFiState = mWifiManager.isWifiEnabled();
mInitialRestrictBackground = SystemUtil
.runShellCommand(getInstrumentation(), RESTRICT_BACKGROUND_GET_CMD)
.contains("enabled");
+ if (mHasWifi) {
+ mInitialWiFiState = mWifiManager.isWifiEnabled();
+ }
}
@Override
@@ -94,26 +96,24 @@
if (mInitialRestrictBackground) {
SystemUtil.runShellCommand(getInstrumentation(), RESTRICT_BACKGROUND_ON_CMD);
}
-
// Ensure that we leave WiFi in its previous state.
- if (mWifiManager.isWifiEnabled() == mInitialWiFiState) {
- return;
- }
- NetworkInfo.State expectedState = mInitialWiFiState ?
- NetworkInfo.State.CONNECTED : NetworkInfo.State.DISCONNECTED;
- ConnectivityActionReceiver receiver =
- new ConnectivityActionReceiver(ConnectivityManager.TYPE_WIFI,
- expectedState);
- IntentFilter filter = new IntentFilter();
- filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
- mContext.registerReceiver(receiver, filter);
+ if (mHasWifi && (mWifiManager.isWifiEnabled() != mInitialWiFiState)) {
+ NetworkInfo.State expectedState = mInitialWiFiState ?
+ NetworkInfo.State.CONNECTED : NetworkInfo.State.DISCONNECTED;
+ ConnectivityActionReceiver receiver =
+ new ConnectivityActionReceiver(ConnectivityManager.TYPE_WIFI,
+ expectedState);
+ IntentFilter filter = new IntentFilter();
+ filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
+ mContext.registerReceiver(receiver, filter);
- assertTrue(mWifiManager.setWifiEnabled(mInitialWiFiState));
- receiver.waitForStateChange();
- assertTrue("Failure to restore previous WiFi state",
+ assertTrue(mWifiManager.setWifiEnabled(mInitialWiFiState));
+ receiver.waitForStateChange();
+ assertTrue("Failure to restore previous WiFi state",
mWifiManager.isWifiEnabled() == mInitialWiFiState);
- mContext.unregisterReceiver(receiver);
+ mContext.unregisterReceiver(receiver);
+ }
super.tearDown();
}