diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractRestrictBackgroundNetworkTestCase.java b/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractRestrictBackgroundNetworkTestCase.java index 4e4d1f6075..f1437a9a9b 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractRestrictBackgroundNetworkTestCase.java +++ b/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractRestrictBackgroundNetworkTestCase.java @@ -204,7 +204,7 @@ abstract class AbstractRestrictBackgroundNetworkTestCase extends Instrumentation do { attempts++; count = getNumberBroadcastsReceived(receiverName, ACTION_RESTRICT_BACKGROUND_CHANGED); - if (count == expectedCount) { + if (count >= expectedCount) { break; } Log.d(TAG, "Expecting count " + expectedCount + " but actual is " + count + " after " diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataSaverModeTest.java b/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataSaverModeTest.java index 72563d499e..cfe6a73a0f 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataSaverModeTest.java +++ b/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataSaverModeTest.java @@ -22,6 +22,8 @@ import static android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_WHITELI import android.util.Log; +import com.android.compatibility.common.util.CddTest; + public class DataSaverModeTest extends AbstractRestrictBackgroundNetworkTestCase { private static final String[] REQUIRED_WHITELISTED_PACKAGES = { @@ -35,7 +37,6 @@ public class DataSaverModeTest extends AbstractRestrictBackgroundNetworkTestCase super.setUp(); mIsDataSaverSupported = isDataSaverSupported(); - if (!isSupported()) return; // Set initial state. setRestrictBackground(false); @@ -201,6 +202,20 @@ public class DataSaverModeTest extends AbstractRestrictBackgroundNetworkTestCase } } + @CddTest(requirement="7.4.7/C-2-2") + public void testBroadcastNotSentOnUnsupportedDevices() throws Exception { + if (isSupported()) return; + + setRestrictBackground(true); + assertRestrictBackgroundChangedReceived(0); + + setRestrictBackground(false); + assertRestrictBackgroundChangedReceived(0); + + setRestrictBackground(true); + assertRestrictBackgroundChangedReceived(0); + } + private void assertDataSaverStatusOnBackground(int expectedStatus) throws Exception { assertRestrictBackgroundStatus(expectedStatus); assertBackgroundNetworkAccess(expectedStatus != RESTRICT_BACKGROUND_STATUS_ENABLED); diff --git a/tests/cts/hostside/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java b/tests/cts/hostside/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java index 5f5ea43d67..4598c3936b 100644 --- a/tests/cts/hostside/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java +++ b/tests/cts/hostside/src/com/android/cts/net/HostsideRestrictBackgroundNetworkTests.java @@ -81,6 +81,11 @@ public class HostsideRestrictBackgroundNetworkTests extends HostsideNetworkTestC "testGetRestrictBackgroundStatus_requiredWhitelistedPackages"); } + public void testDataSaverMode_broadcastNotSentOnUnsupportedDevices() throws Exception { + runDeviceTests(TEST_PKG, TEST_PKG + ".DataSaverModeTest", + "testBroadcastNotSentOnUnsupportedDevices"); + } + /***************************** * Battery Saver Mode tests. * *****************************/