Improve check for activity on top after launch.
am: a871a99ebc
Change-Id: I5b1569ca013d964dec23077f70eaa29c1af4a5b0
This commit is contained in:
@@ -73,6 +73,7 @@ abstract class AbstractRestrictBackgroundNetworkTestCase extends Instrumentation
|
|||||||
private static final int SECOND_IN_MS = 1000;
|
private static final int SECOND_IN_MS = 1000;
|
||||||
static final int NETWORK_TIMEOUT_MS = 15 * SECOND_IN_MS;
|
static final int NETWORK_TIMEOUT_MS = 15 * SECOND_IN_MS;
|
||||||
private static final int PROCESS_STATE_FOREGROUND_SERVICE = 4;
|
private static final int PROCESS_STATE_FOREGROUND_SERVICE = 4;
|
||||||
|
private static final int PROCESS_STATE_TOP = 2;
|
||||||
|
|
||||||
|
|
||||||
// Must be higher than NETWORK_TIMEOUT_MS
|
// Must be higher than NETWORK_TIMEOUT_MS
|
||||||
@@ -723,7 +724,17 @@ abstract class AbstractRestrictBackgroundNetworkTestCase extends Instrumentation
|
|||||||
protected void launchActivity() throws Exception {
|
protected void launchActivity() throws Exception {
|
||||||
turnScreenOn();
|
turnScreenOn();
|
||||||
executeShellCommand("am start com.android.cts.net.hostside.app2/.MyActivity");
|
executeShellCommand("am start com.android.cts.net.hostside.app2/.MyActivity");
|
||||||
assertForegroundState();
|
final int maxTries = 30;
|
||||||
|
ProcessState state = null;
|
||||||
|
for (int i = 1; i <= maxTries; i++) {
|
||||||
|
state = getProcessStateByUid(mUid);
|
||||||
|
if (state.state == PROCESS_STATE_TOP) return;
|
||||||
|
Log.w(TAG, "launchActivity(): uid " + mUid + " not on TOP state on attempt #" + i
|
||||||
|
+ "; turning screen on and sleeping 1s before checking again");
|
||||||
|
turnScreenOn();
|
||||||
|
SystemClock.sleep(SECOND_IN_MS);
|
||||||
|
}
|
||||||
|
fail("App2 is not on foreground state after " + maxTries + " attempts: " + state);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user