Merge "Maintain fake nav bar position in overview for landscape" into ub-launcher3-rvc-dev
diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/BaseSwipeUpHandler.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/BaseSwipeUpHandler.java
index d957418..66f6d02 100644
--- a/quickstep/recents_ui_overrides/src/com/android/quickstep/BaseSwipeUpHandler.java
+++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/BaseSwipeUpHandler.java
@@ -233,7 +233,6 @@
}
mCanceled = false;
}
- ActiveGestureLog.INSTANCE.addLog("finishRecentsAnimation", true);
}
/**
@@ -328,6 +327,7 @@
mRecentsAnimationController.finish(false /* toRecents */,
null /* onFinishComplete */);
mActivityInterface.onLaunchTaskSuccess();
+ ActiveGestureLog.INSTANCE.addLog("finishRecentsAnimation", false);
}
}
}
diff --git a/quickstep/recents_ui_overrides/src/com/android/quickstep/BaseSwipeUpHandlerV2.java b/quickstep/recents_ui_overrides/src/com/android/quickstep/BaseSwipeUpHandlerV2.java
index 5194940..23cc6d5 100644
--- a/quickstep/recents_ui_overrides/src/com/android/quickstep/BaseSwipeUpHandlerV2.java
+++ b/quickstep/recents_ui_overrides/src/com/android/quickstep/BaseSwipeUpHandlerV2.java
@@ -709,6 +709,7 @@
mStateCallback.setState(STATE_RESUME_LAST_TASK);
break;
}
+ ActiveGestureLog.INSTANCE.addLog("onSettledOnEndTarget " + mGestureState.getEndTarget());
}
@Override
diff --git a/quickstep/src/com/android/quickstep/GestureState.java b/quickstep/src/com/android/quickstep/GestureState.java
index 016ffea..ffa41fd 100644
--- a/quickstep/src/com/android/quickstep/GestureState.java
+++ b/quickstep/src/com/android/quickstep/GestureState.java
@@ -24,6 +24,7 @@
import com.android.launcher3.statemanager.StatefulActivity;
import com.android.launcher3.userevent.nano.LauncherLogProto.ContainerType;
+import com.android.quickstep.util.ActiveGestureLog;
import com.android.systemui.shared.recents.model.ThumbnailData;
import com.android.systemui.shared.system.RemoteAnimationTargetCompat;
@@ -278,6 +279,7 @@
public void setEndTarget(GestureEndTarget target, boolean isAtomic) {
mEndTarget = target;
mStateCallback.setState(STATE_END_TARGET_SET);
+ ActiveGestureLog.INSTANCE.addLog("setEndTarget " + mEndTarget);
if (isAtomic) {
mStateCallback.setState(STATE_END_TARGET_ANIMATION_FINISHED);
}
diff --git a/tests/tapl/com/android/launcher3/tapl/BaseOverview.java b/tests/tapl/com/android/launcher3/tapl/BaseOverview.java
index 69afcc4..223ae29 100644
--- a/tests/tapl/com/android/launcher3/tapl/BaseOverview.java
+++ b/tests/tapl/com/android/launcher3/tapl/BaseOverview.java
@@ -106,21 +106,33 @@
*/
@NonNull
public OverviewTask getCurrentTask() {
+ final List<UiObject2> taskViews = getTasks();
+ mLauncher.assertNotEquals("Unable to find a task", 0, taskViews.size());
+
+ // taskViews contains up to 3 task views: the 'main' (having the widest visible part) one
+ // in the center, and parts of its right and left siblings. Find the main task view by
+ // its width.
+ final UiObject2 widestTask = Collections.max(taskViews,
+ (t1, t2) -> Integer.compare(mLauncher.getVisibleBounds(t1).width(),
+ mLauncher.getVisibleBounds(t2).width()));
+
+ return new OverviewTask(mLauncher, widestTask, this);
+ }
+
+ @NonNull
+ private List<UiObject2> getTasks() {
try (LauncherInstrumentation.Closable c = mLauncher.addContextLayer(
- "want to get current task")) {
+ "want to get overview tasks")) {
verifyActiveContainer();
- final List<UiObject2> taskViews = mLauncher.getDevice().findObjects(
+ return mLauncher.getDevice().findObjects(
mLauncher.getOverviewObjectSelector("snapshot"));
- mLauncher.assertNotEquals("Unable to find a task", 0, taskViews.size());
-
- // taskViews contains up to 3 task views: the 'main' (having the widest visible
- // part) one in the center, and parts of its right and left siblings. Find the
- // main task view by its width.
- final UiObject2 widestTask = Collections.max(taskViews,
- (t1, t2) -> Integer.compare(mLauncher.getVisibleBounds(t1).width(),
- mLauncher.getVisibleBounds(t2).width()));
-
- return new OverviewTask(mLauncher, widestTask, this);
}
}
+
+ /**
+ * Returns whether Overview has tasks.
+ */
+ public boolean hasTasks() {
+ return getTasks().size() > 0;
+ }
}
\ No newline at end of file
diff --git a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
index 546ff0b..9c92a26 100644
--- a/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
+++ b/tests/tapl/com/android/launcher3/tapl/LauncherInstrumentation.java
@@ -440,6 +440,7 @@
try {
Log.e("b/156287114", "Input:");
for (String line : mDevice.executeShellCommand("dumpsys input").split("\\n")) {
+ SystemClock.sleep(10);
Log.d("b/156287114", line);
}
} catch (IOException e) {
@@ -833,27 +834,42 @@
@NonNull
List<UiObject2> getObjectsInContainer(UiObject2 container, String resName) {
- return container.findObjects(getLauncherObjectSelector(resName));
+ try {
+ return container.findObjects(getLauncherObjectSelector(resName));
+ } catch (StaleObjectException e) {
+ fail("The container disappeared from screen");
+ return null;
+ }
}
@NonNull
UiObject2 waitForObjectInContainer(UiObject2 container, String resName) {
- final UiObject2 object = container.wait(
- Until.findObject(getLauncherObjectSelector(resName)),
- WAIT_TIME_MS);
- assertNotNull("Can't find a view in Launcher, id: " + resName + " in container: "
- + container.getResourceName(), object);
- return object;
+ try {
+ final UiObject2 object = container.wait(
+ Until.findObject(getLauncherObjectSelector(resName)),
+ WAIT_TIME_MS);
+ assertNotNull("Can't find a view in Launcher, id: " + resName + " in container: "
+ + container.getResourceName(), object);
+ return object;
+ } catch (StaleObjectException e) {
+ fail("The container disappeared from screen");
+ return null;
+ }
}
@NonNull
UiObject2 waitForObjectInContainer(UiObject2 container, BySelector selector) {
- final UiObject2 object = container.wait(
- Until.findObject(selector),
- WAIT_TIME_MS);
- assertNotNull("Can't find a view in Launcher, id: " + selector + " in container: "
- + container.getResourceName(), object);
- return object;
+ try {
+ final UiObject2 object = container.wait(
+ Until.findObject(selector),
+ WAIT_TIME_MS);
+ assertNotNull("Can't find a view in Launcher, id: " + selector + " in container: "
+ + container.getResourceName(), object);
+ return object;
+ } catch (StaleObjectException e) {
+ fail("The container disappeared from screen");
+ return null;
+ }
}
private boolean hasLauncherObject(String resId) {
@@ -1144,7 +1160,8 @@
}
final MotionEvent event = getMotionEvent(downTime, currentTime, action, point.x, point.y);
- mInstrumentation.getUiAutomation().injectInputEvent(event, true);
+ assertTrue("injectInputEvent failed",
+ mInstrumentation.getUiAutomation().injectInputEvent(event, true));
event.recycle();
}
@@ -1322,6 +1339,7 @@
Log.e("b/156287114", "Input:");
for (String line : mDevice.executeShellCommand("dumpsys input").split(
"\\n")) {
+ SystemClock.sleep(10);
Log.d("b/156287114", line);
}
} catch (IOException e) {