Fix split animation for grid RTL
Fixes: 202156862 Test: Tested grid + non grid, RTL + LTR Change-Id: I303f60efdd9f2f2ea412e31e574d9a3b50fecf30
This commit is contained in:
parent
779879ce3d
commit
0f12803061
|
@ -129,7 +129,7 @@ public class FloatingTaskView extends FrameLayout {
|
|||
public void update(RectF position, float progress, float windowRadius) {
|
||||
MarginLayoutParams lp = (MarginLayoutParams) getLayoutParams();
|
||||
|
||||
float dX = position.left - lp.getMarginStart();
|
||||
float dX = position.left - mStartingPosition.left;
|
||||
float dY = position.top - lp.topMargin;
|
||||
|
||||
setTranslationX(dX);
|
||||
|
@ -155,10 +155,15 @@ public class FloatingTaskView extends FrameLayout {
|
|||
lp.ignoreInsets = true;
|
||||
// Position the floating view exactly on top of the original
|
||||
lp.topMargin = Math.round(pos.top);
|
||||
if (mIsRtl) {
|
||||
lp.setMarginStart(mLauncher.getDeviceProfile().widthPx - Math.round(pos.right));
|
||||
} else {
|
||||
lp.setMarginStart(Math.round(pos.left));
|
||||
}
|
||||
|
||||
// Set the properties here already to make sure they are available when running the first
|
||||
// animation frame.
|
||||
int left = lp.leftMargin;
|
||||
int left = (int) pos.left;
|
||||
layout(left, lp.topMargin, left + lp.width, lp.topMargin + lp.height);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue