Fix failed test in order to enable Live Tile (in the next change)

Live tile changes certain assumptions we have for tests, for example
- Launcher will not be in the resumed state after swiping up to Overview

Also, disable live tile for 3rd party launcher for now

Test: presubmit
Fixes: 169694902
Change-Id: Ifd466db0354f59290c4f66a0a2ad4c82f1169f29
This commit is contained in:
Tracy Zhou
2021-03-24 14:12:29 -07:00
parent 29c1e8437e
commit 9d706b1ada
4 changed files with 83 additions and 8 deletions

View File

@@ -16,7 +16,15 @@
package com.android.quickstep;
import static com.android.quickstep.util.NavigationModeFeatureFlag.LIVE_TILE;
import static org.junit.Assert.assertTrue;
import com.android.launcher3.Launcher;
import com.android.launcher3.tapl.LauncherInstrumentation;
import com.android.launcher3.tapl.LauncherInstrumentation.ContainerType;
import com.android.launcher3.ui.AbstractLauncherUiTest;
import com.android.quickstep.views.RecentsView;
import org.junit.rules.RuleChain;
import org.junit.rules.TestRule;
@@ -31,4 +39,49 @@ public abstract class AbstractQuickStepTest extends AbstractLauncherUiTest {
outerRule(new NavigationModeSwitchRule(mLauncher)).
around(super.getRulesInsideActivityMonitor());
}
@Override
protected void onLauncherActivityClose(Launcher launcher) {
RecentsView recentsView = launcher.getOverviewPanel();
if (recentsView != null) {
recentsView.finishRecentsAnimation(true, null);
}
}
@Override
protected void checkLauncherState(Launcher launcher, ContainerType expectedContainerType,
boolean isResumed, boolean isStarted) {
if (!isInLiveTileMode(launcher, expectedContainerType)) {
super.checkLauncherState(launcher, expectedContainerType, isResumed, isStarted);
} else {
assertTrue("[Live Tile] hasBeenResumed() == isStarted(), hasBeenResumed(): "
+ isResumed, isResumed != isStarted);
}
}
@Override
protected void checkLauncherStateInOverview(Launcher launcher,
ContainerType expectedContainerType, boolean isStarted, boolean isResumed) {
if (!isInLiveTileMode(launcher, expectedContainerType)) {
super.checkLauncherStateInOverview(launcher, expectedContainerType, isStarted,
isResumed);
} else {
assertTrue(
"[Live Tile] Launcher is not started or has been resumed in state: "
+ expectedContainerType,
isStarted && !isResumed);
}
}
private boolean isInLiveTileMode(Launcher launcher,
LauncherInstrumentation.ContainerType expectedContainerType) {
if (!LIVE_TILE.get()
|| expectedContainerType != LauncherInstrumentation.ContainerType.OVERVIEW) {
return false;
}
RecentsView recentsView = launcher.getOverviewPanel();
return recentsView.getSizeStrategy().isInLiveTileMode()
&& recentsView.getRunningTaskId() != -1;
}
}

View File

@@ -100,6 +100,7 @@ public class StartLauncherViaGestureTests extends AbstractQuickStepTest {
// The test action.
mLauncher.getBackground().switchToOverview();
}
closeLauncherActivity();
mLauncher.pressHome();
}
}