Adding test methods
Bug: 117888000
Test: Running new Nexus tests
Change-Id: I52a1f89add36dd38bbae8db262dd2e82280db130
diff --git a/src/com/android/launcher3/popup/PopupContainerWithArrow.java b/src/com/android/launcher3/popup/PopupContainerWithArrow.java
index 4f1fcda..12319f7 100644
--- a/src/com/android/launcher3/popup/PopupContainerWithArrow.java
+++ b/src/com/android/launcher3/popup/PopupContainerWithArrow.java
@@ -221,6 +221,10 @@
factory.getEnabledShortcuts(mLauncher, item));
}
+ public ViewGroup getSystemShortcutContainerForTesting() {
+ return mSystemShortcutContainer;
+ }
+
@TargetApi(Build.VERSION_CODES.P)
protected void populateAndShow(final BubbleTextView originalIcon, int shortcutCount,
final List<NotificationKeyData> notificationKeys, List<SystemShortcut> systemShortcuts) {
diff --git a/src/com/android/launcher3/views/OptionsPopupView.java b/src/com/android/launcher3/views/OptionsPopupView.java
index 3e58ea6..c540b59 100644
--- a/src/com/android/launcher3/views/OptionsPopupView.java
+++ b/src/com/android/launcher3/views/OptionsPopupView.java
@@ -136,7 +136,7 @@
}
@VisibleForTesting
- public static OptionsPopupView getOptionsPopup(Launcher launcher) {
+ public static ArrowPopup getOptionsPopup(Launcher launcher) {
return launcher.findViewById(R.id.deep_shortcuts_container);
}
diff --git a/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java b/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java
index c878699..532d3e8 100644
--- a/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java
+++ b/tests/src/com/android/launcher3/ui/AbstractLauncherUiTest.java
@@ -56,6 +56,7 @@
import org.junit.rules.TestRule;
import org.junit.runners.model.Statement;
+import java.io.IOException;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -168,6 +169,16 @@
}
}
+ protected void clearLauncherData() throws IOException {
+ if (TestHelpers.isInLauncherProcess()) {
+ LauncherSettings.Settings.call(mTargetContext.getContentResolver(),
+ LauncherSettings.Settings.METHOD_CREATE_EMPTY_DB);
+ resetLoaderState();
+ } else {
+ mDevice.executeShellCommand("pm clear " + mDevice.getLauncherPackageName());
+ }
+ }
+
/**
* Scrolls the {@param container} until it finds an object matching {@param condition}.
* @return the matching object.
@@ -261,6 +272,10 @@
launcher -> launcher.getStateManager().getState() == state);
}
+ protected void waitForResumed(String message) {
+ waitForLauncherCondition(message, launcher -> launcher.hasBeenResumed());
+ }
+
// Cannot be used in TaplTests after injecting any gesture using Tapl because this can hide
// flakiness.
protected void waitForLauncherCondition(String message, Function<Launcher, Boolean> condition) {
diff --git a/tests/src/com/android/launcher3/ui/TestViewHelpers.java b/tests/src/com/android/launcher3/ui/TestViewHelpers.java
index 5244386..6fa28f1 100644
--- a/tests/src/com/android/launcher3/ui/TestViewHelpers.java
+++ b/tests/src/com/android/launcher3/ui/TestViewHelpers.java
@@ -28,6 +28,8 @@
import android.os.SystemClock;
import android.util.Log;
import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewGroup;
import androidx.test.uiautomator.By;
import androidx.test.uiautomator.BySelector;
@@ -42,6 +44,7 @@
import com.android.launcher3.testcomponent.AppWidgetWithConfig;
import java.util.concurrent.Callable;
+import java.util.function.Function;
public class TestViewHelpers {
private static final String TAG = "TestViewHelpers";
@@ -183,4 +186,12 @@
AbstractLauncherUiTest.DEFAULT_UI_TIMEOUT).click();
return findViewById(R.id.widgets_list_view);
}
+
+ public static View findChildView(ViewGroup parent, Function<View, Boolean> condition) {
+ for (int i = 0; i < parent.getChildCount(); ++i) {
+ final View child = parent.getChildAt(i);
+ if (condition.apply(child)) return child;
+ }
+ return null;
+ }
}