Merge "Reenabling switching between nav modes in tests" into ub-launcher3-qt-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
2c99205461
@@ -44,7 +44,6 @@ import com.android.launcher3.tapl.LauncherInstrumentation;
|
||||
import com.android.launcher3.testcomponent.TestCommandReceiver;
|
||||
import com.android.quickstep.NavigationModeSwitchRule.NavigationModeSwitch;
|
||||
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.rules.TestRule;
|
||||
@@ -98,7 +97,6 @@ public class FallbackRecentsTest {
|
||||
|
||||
@NavigationModeSwitch(mode = THREE_BUTTON)
|
||||
@Test
|
||||
@Ignore // b/131630813
|
||||
public void goToOverviewFromHome() {
|
||||
mDevice.pressHome();
|
||||
assertTrue("Fallback Launcher not visible", mDevice.wait(Until.hasObject(By.pkg(
|
||||
@@ -109,7 +107,6 @@ public class FallbackRecentsTest {
|
||||
|
||||
@NavigationModeSwitch(mode = THREE_BUTTON)
|
||||
@Test
|
||||
@Ignore // b/131630813
|
||||
public void goToOverviewFromApp() {
|
||||
startAppFast("com.android.settings");
|
||||
|
||||
|
||||
@@ -71,8 +71,7 @@ public class NavigationModeSwitchRule implements TestRule {
|
||||
|
||||
@Override
|
||||
public Statement apply(Statement base, Description description) {
|
||||
// b/130558787; b/131419978
|
||||
if (false && TestHelpers.isInLauncherProcess() &&
|
||||
if (TestHelpers.isInLauncherProcess() &&
|
||||
description.getAnnotation(NavigationModeSwitch.class) != null) {
|
||||
Mode mode = description.getAnnotation(NavigationModeSwitch.class).mode();
|
||||
return new Statement() {
|
||||
|
||||
@@ -18,9 +18,6 @@ package com.android.launcher3.ui;
|
||||
import static androidx.test.InstrumentationRegistry.getInstrumentation;
|
||||
|
||||
import static com.android.launcher3.ui.TaplTestsLauncher3.getAppPackageName;
|
||||
import static com.android.systemui.shared.system.QuickStepContract.NAV_BAR_MODE_2BUTTON_OVERLAY;
|
||||
import static com.android.systemui.shared.system.QuickStepContract.NAV_BAR_MODE_3BUTTON_OVERLAY;
|
||||
import static com.android.systemui.shared.system.QuickStepContract.NAV_BAR_MODE_GESTURAL_OVERLAY;
|
||||
|
||||
import static org.junit.Assert.assertTrue;
|
||||
import static org.junit.Assert.fail;
|
||||
@@ -35,7 +32,6 @@ import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.pm.LauncherActivityInfo;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.os.Build;
|
||||
import android.os.Process;
|
||||
import android.os.RemoteException;
|
||||
import android.util.Log;
|
||||
@@ -64,7 +60,6 @@ import com.android.launcher3.util.rule.LauncherActivityRule;
|
||||
import com.android.launcher3.util.rule.ShellCommandRule;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.rules.TestRule;
|
||||
@@ -75,7 +70,6 @@ import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
@@ -111,68 +105,6 @@ public abstract class AbstractLauncherUiTest {
|
||||
}
|
||||
if (TestHelpers.isInLauncherProcess()) Utilities.enableRunningInTestHarnessForTests();
|
||||
mLauncher = new LauncherInstrumentation(instrumentation);
|
||||
|
||||
// b/130558787; b/131419978
|
||||
if (TestHelpers.isInLauncherProcess() && !LauncherInstrumentation.needSlowGestures()) {
|
||||
try {
|
||||
Class systemProps = Class.forName("android.os.SystemProperties");
|
||||
Method getInt = systemProps.getMethod("getInt", String.class, int.class);
|
||||
int apiLevel = (int) getInt.invoke(null, "ro.product.first_api_level", 0);
|
||||
|
||||
if (apiLevel >= Build.VERSION_CODES.P) {
|
||||
setActiveOverlay(NAV_BAR_MODE_2BUTTON_OVERLAY,
|
||||
LauncherInstrumentation.NavigationModel.TWO_BUTTON);
|
||||
}
|
||||
if (apiLevel >= Build.VERSION_CODES.O && apiLevel < Build.VERSION_CODES.P) {
|
||||
setActiveOverlay(NAV_BAR_MODE_GESTURAL_OVERLAY,
|
||||
LauncherInstrumentation.NavigationModel.ZERO_BUTTON);
|
||||
}
|
||||
if (apiLevel < Build.VERSION_CODES.O) {
|
||||
setActiveOverlay(NAV_BAR_MODE_3BUTTON_OVERLAY,
|
||||
LauncherInstrumentation.NavigationModel.THREE_BUTTON);
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void setActiveOverlay(String overlayPackage,
|
||||
LauncherInstrumentation.NavigationModel expectedMode) {
|
||||
setOverlayPackageEnabled(NAV_BAR_MODE_3BUTTON_OVERLAY,
|
||||
overlayPackage == NAV_BAR_MODE_3BUTTON_OVERLAY);
|
||||
setOverlayPackageEnabled(NAV_BAR_MODE_2BUTTON_OVERLAY,
|
||||
overlayPackage == NAV_BAR_MODE_2BUTTON_OVERLAY);
|
||||
setOverlayPackageEnabled(NAV_BAR_MODE_GESTURAL_OVERLAY,
|
||||
overlayPackage == NAV_BAR_MODE_GESTURAL_OVERLAY);
|
||||
|
||||
for (int i = 0; i != 100; ++i) {
|
||||
if (mLauncher.getNavigationModel() == expectedMode) {
|
||||
try {
|
||||
Thread.sleep(1000);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return;
|
||||
}
|
||||
try {
|
||||
Thread.sleep(100);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
Assert.fail("Couldn't switch to " + overlayPackage);
|
||||
}
|
||||
|
||||
private void setOverlayPackageEnabled(String overlayPackage, boolean enable) {
|
||||
Log.d(TAG, "setOverlayPackageEnabled: " + overlayPackage + " " + enable);
|
||||
final String action = enable ? "enable" : "disable";
|
||||
try {
|
||||
UiDevice.getInstance(getInstrumentation()).executeShellCommand(
|
||||
"cmd overlay " + action + " " + overlayPackage);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Rule
|
||||
|
||||
Reference in New Issue
Block a user