Merge "Testing to see if waiting for transition to end will fix flaky tests" into sc-v2-dev
This commit is contained in:
commit
58763e47d6
|
@ -84,7 +84,7 @@ public class StateManager<STATE_TYPE extends BaseState<STATE_TYPE>> {
|
||||||
+ ", mCurrentStableState:" + mCurrentStableState
|
+ ", mCurrentStableState:" + mCurrentStableState
|
||||||
+ ", mState:" + mState
|
+ ", mState:" + mState
|
||||||
+ ", mRestState:" + mRestState
|
+ ", mRestState:" + mRestState
|
||||||
+ ", isInTransition:" + (mConfig.currentAnimation != null) + ")";
|
+ ", isInTransition:" + isInTransition() + ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
public void dump(String prefix, PrintWriter writer) {
|
public void dump(String prefix, PrintWriter writer) {
|
||||||
|
@ -93,7 +93,7 @@ public class StateManager<STATE_TYPE extends BaseState<STATE_TYPE>> {
|
||||||
writer.println(prefix + "\tmCurrentStableState:" + mCurrentStableState);
|
writer.println(prefix + "\tmCurrentStableState:" + mCurrentStableState);
|
||||||
writer.println(prefix + "\tmState:" + mState);
|
writer.println(prefix + "\tmState:" + mState);
|
||||||
writer.println(prefix + "\tmRestState:" + mRestState);
|
writer.println(prefix + "\tmRestState:" + mRestState);
|
||||||
writer.println(prefix + "\tisInTransition:" + (mConfig.currentAnimation != null));
|
writer.println(prefix + "\tisInTransition:" + isInTransition());
|
||||||
}
|
}
|
||||||
|
|
||||||
public StateHandler[] getStateHandlers() {
|
public StateHandler[] getStateHandlers() {
|
||||||
|
@ -129,6 +129,13 @@ public class StateManager<STATE_TYPE extends BaseState<STATE_TYPE>> {
|
||||||
&& (mConfig.targetState == null || mConfig.targetState == state);
|
&& (mConfig.targetState == null || mConfig.targetState == state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return {@code true} If there is an active transition.
|
||||||
|
*/
|
||||||
|
public boolean isInTransition() {
|
||||||
|
return mConfig.currentAnimation != null;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see #goToState(STATE_TYPE, boolean, AnimatorListener)
|
* @see #goToState(STATE_TYPE, boolean, AnimatorListener)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -354,9 +354,10 @@ public abstract class AbstractLauncherUiTest {
|
||||||
|
|
||||||
// Cannot be used in TaplTests between a Tapl call injecting a gesture and a tapl call
|
// Cannot be used in TaplTests between a Tapl call injecting a gesture and a tapl call
|
||||||
// expecting the results of that gesture because the wait can hide flakeness.
|
// expecting the results of that gesture because the wait can hide flakeness.
|
||||||
protected void waitForStableState(String message, Supplier<LauncherState> state) {
|
protected void waitForStateTransitionToEnd(String message, Supplier<LauncherState> state) {
|
||||||
waitForLauncherCondition(message,
|
waitForLauncherCondition(message,
|
||||||
launcher -> launcher.getStateManager().isInStableState(state.get()));
|
launcher -> launcher.getStateManager().isInStableState(state.get())
|
||||||
|
&& !launcher.getStateManager().isInTransition());
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void waitForResumed(String message) {
|
protected void waitForResumed(String message) {
|
||||||
|
|
|
@ -91,9 +91,11 @@ public class WorkProfileTest extends AbstractLauncherUiTest {
|
||||||
public void workTabExists() {
|
public void workTabExists() {
|
||||||
mDevice.pressHome();
|
mDevice.pressHome();
|
||||||
waitForLauncherCondition("Launcher didn't start", Objects::nonNull);
|
waitForLauncherCondition("Launcher didn't start", Objects::nonNull);
|
||||||
waitForStableState("Launcher internal state didn't switch to Normal", () -> NORMAL);
|
waitForStateTransitionToEnd("Launcher internal state didn't switch to Normal",
|
||||||
|
() -> NORMAL);
|
||||||
executeOnLauncher(launcher -> launcher.getStateManager().goToState(ALL_APPS));
|
executeOnLauncher(launcher -> launcher.getStateManager().goToState(ALL_APPS));
|
||||||
waitForStableState("Launcher internal state didn't switch to All Apps", () -> ALL_APPS);
|
waitForStateTransitionToEnd("Launcher internal state didn't switch to All Apps",
|
||||||
|
() -> ALL_APPS);
|
||||||
waitForLauncherCondition("Personal tab is missing",
|
waitForLauncherCondition("Personal tab is missing",
|
||||||
launcher -> launcher.getAppsView().isPersonalTabVisible(),
|
launcher -> launcher.getAppsView().isPersonalTabVisible(),
|
||||||
LauncherInstrumentation.WAIT_TIME_MS);
|
LauncherInstrumentation.WAIT_TIME_MS);
|
||||||
|
|
Loading…
Reference in New Issue