From 2882cd2a7a47d413bde8d891b37fa59d7db05d85 Mon Sep 17 00:00:00 2001 From: Felipe Leme Date: Wed, 10 Aug 2016 13:16:15 -0700 Subject: [PATCH] Added tests for network restrictions while the screen is off. BUG: 30785671 Change-Id: I1b211e545ff234272ff6acadfda9ce97765695a9 (cherry picked from commit b80a93061aa7d0a19b47a7dbb82f0dc06e3afb7e) --- .../hostside/AbstractBatterySaverModeTestCase.java | 12 ++++++++++-- .../AbstractRestrictBackgroundNetworkTestCase.java | 2 +- .../android/cts/net/hostside/DataSaverModeTest.java | 12 ++++++++++-- 3 files changed, 21 insertions(+), 5 deletions(-) diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractBatterySaverModeTestCase.java b/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractBatterySaverModeTestCase.java index c1c91dac80..50bcc6058e 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractBatterySaverModeTestCase.java +++ b/tests/cts/hostside/app/src/com/android/cts/net/hostside/AbstractBatterySaverModeTestCase.java @@ -85,16 +85,24 @@ abstract class AbstractBatterySaverModeTestCase extends AbstractRestrictBackgrou assertsForegroundAlwaysHasNetworkAccess(); assertBackgroundNetworkAccess(false); - // Make sure foreground app doesn't lose access upon enabling it. + // Make sure foreground app doesn't lose access upon Battery Saver. setBatterySaverMode(false); launchActivity(); assertForegroundNetworkAccess(); setBatterySaverMode(true); assertForegroundNetworkAccess(); + + // Although it should not have access while the screen is off. + turnScreenOff(); + assertBackgroundNetworkAccess(false); + turnScreenOn(); + assertForegroundNetworkAccess(); + + // Goes back to background state. finishActivity(); assertBackgroundNetworkAccess(false); - // Same for foreground service. + // Make sure foreground service doesn't lose access upon enabling Battery Saver. setBatterySaverMode(false); startForegroundService(); assertForegroundNetworkAccess(); 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 8be16214c5..9245a6f3d0 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 @@ -244,7 +244,7 @@ abstract class AbstractRestrictBackgroundNetworkTestCase extends Instrumentation if (isBackground(state.state)) { return; } - Log.d(TAG, "App not on background state on attempt #" + i + Log.d(TAG, "App not on background state (" + state + ") on attempt #" + i + "; sleeping 1s before trying again"); SystemClock.sleep(SECOND_IN_MS); } 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 3e6bd3320a..881b3b4759 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 @@ -98,16 +98,24 @@ public class DataSaverModeTest extends AbstractRestrictBackgroundNetworkTestCase assertsForegroundAlwaysHasNetworkAccess(); assertDataSaverStatusOnBackground(RESTRICT_BACKGROUND_STATUS_ENABLED); - // Make sure foreground app doesn't lose access upon enabling it. + // Make sure foreground app doesn't lose access upon enabling Data Saver. setRestrictBackground(false); launchActivity(); assertForegroundNetworkAccess(); setRestrictBackground(true); assertForegroundNetworkAccess(); + + // Although it should not have access while the screen is off. + turnScreenOff(); + assertBackgroundNetworkAccess(false); + turnScreenOn(); + assertForegroundNetworkAccess(); + + // Goes back to background state. finishActivity(); assertBackgroundNetworkAccess(false); - // Same for foreground service. + // Make sure foreground service doesn't lose access upon enabling Data Saver. setRestrictBackground(false); startForegroundService(); assertForegroundNetworkAccess();