Merge "Fixing wrong padding being set in multi-window + landscape" into ub-launcher3-edmonton
diff --git a/quickstep/src/com/android/launcher3/LauncherAppTransitionManagerImpl.java b/quickstep/src/com/android/launcher3/LauncherAppTransitionManagerImpl.java
index 94aaf15..34635bf 100644
--- a/quickstep/src/com/android/launcher3/LauncherAppTransitionManagerImpl.java
+++ b/quickstep/src/com/android/launcher3/LauncherAppTransitionManagerImpl.java
@@ -543,6 +543,7 @@
t.deferTransactionUntil(target.leash, surface, getNextFrameNumber(surface));
}
}
+ t.setEarlyWakeup();
t.apply();
matrix.reset();
@@ -657,6 +658,7 @@
t.setMatrix(app.leash, matrix);
}
}
+ t.setEarlyWakeup();
t.apply();
matrix.reset();
diff --git a/quickstep/src/com/android/quickstep/LongSwipeHelper.java b/quickstep/src/com/android/quickstep/LongSwipeHelper.java
index 4ce18b3..edc7457 100644
--- a/quickstep/src/com/android/quickstep/LongSwipeHelper.java
+++ b/quickstep/src/com/android/quickstep/LongSwipeHelper.java
@@ -142,6 +142,7 @@
}
}
}
+ transaction.setEarlyWakeup();
transaction.apply();
}
diff --git a/quickstep/src/com/android/quickstep/QuickScrubController.java b/quickstep/src/com/android/quickstep/QuickScrubController.java
index adc245b..ae7de87 100644
--- a/quickstep/src/com/android/quickstep/QuickScrubController.java
+++ b/quickstep/src/com/android/quickstep/QuickScrubController.java
@@ -106,7 +106,7 @@
};
int snapDuration = Math.abs(page - mRecentsView.getPageNearestToCenterOfScreen())
* QUICKSCRUB_END_SNAP_DURATION_PER_PAGE;
- if (mRecentsView.snapToPage(page, snapDuration)) {
+ if (mRecentsView.getChildCount() > 0 && mRecentsView.snapToPage(page, snapDuration)) {
// Settle on the page then launch it
mRecentsView.setNextPageSwitchRunnable(launchTaskRunnable);
} else {
diff --git a/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java b/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java
index 9fe1018..9dae9df 100644
--- a/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java
+++ b/quickstep/src/com/android/quickstep/WindowTransformSwipeHandler.java
@@ -778,7 +778,12 @@
int scrollForSecondTask = mRecentsView.getChildCount() > 1
? mRecentsView.getScrollForPage(1) : scrollForFirstTask;
int offsetFromFirstTask = scrollForFirstTask - scrollForSecondTask;
- float interpolation = offsetFromFirstTask / (mRecentsView.getWidth() / 2);
+ final float interpolation;
+ if (mRecentsView.getWidth() == 0) {
+ interpolation = scrollForSecondTask == scrollForFirstTask ? 0 : 1;
+ } else {
+ interpolation = (float) offsetFromFirstTask / (mRecentsView.getWidth() / 2);
+ }
mClipAnimationHelper.offsetTarget(
firstTask.getCurveScaleForInterpolation(interpolation), offsetFromFirstTask,
mActivityControlHelper.getTranslationYForQuickScrub(mActivity));
diff --git a/quickstep/src/com/android/quickstep/util/ClipAnimationHelper.java b/quickstep/src/com/android/quickstep/util/ClipAnimationHelper.java
index 5e21467..14b4046 100644
--- a/quickstep/src/com/android/quickstep/util/ClipAnimationHelper.java
+++ b/quickstep/src/com/android/quickstep/util/ClipAnimationHelper.java
@@ -170,6 +170,7 @@
mTaskTransformCallback.accept(transaction, app);
}
+ transaction.setEarlyWakeup();
transaction.apply();
return currentRect;
}
diff --git a/quickstep/src/com/android/quickstep/util/RemoteAnimationProvider.java b/quickstep/src/com/android/quickstep/util/RemoteAnimationProvider.java
index 7fc3efb..bbf223d 100644
--- a/quickstep/src/com/android/quickstep/util/RemoteAnimationProvider.java
+++ b/quickstep/src/com/android/quickstep/util/RemoteAnimationProvider.java
@@ -60,6 +60,5 @@
t.setLayer(target.leash, layer);
t.show(target.leash);
}
- t.setEarlyWakeup();
}
}
diff --git a/quickstep/src/com/android/quickstep/views/RecentsView.java b/quickstep/src/com/android/quickstep/views/RecentsView.java
index a7dd5e3..f04101a 100644
--- a/quickstep/src/com/android/quickstep/views/RecentsView.java
+++ b/quickstep/src/com/android/quickstep/views/RecentsView.java
@@ -1161,15 +1161,18 @@
onTaskLaunched(result);
tv.setVisibility(VISIBLE);
getOverlay().remove(drawable);
- if (!result) {
- tv.notifyTaskLaunchFailed(TAG);
- }
};
mPendingAnimation = new PendingAnimation(anim);
mPendingAnimation.addEndListener((onEndListener) -> {
if (onEndListener.isSuccess) {
- tv.launchTask(false, onTaskLaunchFinish, getHandler());
+ Consumer<Boolean> onLaunchResult = (result) -> {
+ onTaskLaunchFinish.accept(result);
+ if (!result) {
+ tv.notifyTaskLaunchFailed(TAG);
+ }
+ };
+ tv.launchTask(false, onLaunchResult, getHandler());
Task task = tv.getTask();
if (task != null) {
mActivity.getUserEventDispatcher().logTaskLaunchOrDismiss(