mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-20 11:18:21 +00:00
Correct size of AppWidget for color extraction.
Correct the size of the App Widget: first, compute the size when the widget is positioned (it wasn't done), then do not apply the transformation when computing the size of the widget when drawn. Note: Somehow, there is a shift by 1 on the position on the x axis, both in landscape and portrait. So I added a +1 to get the exact same values. If not, we have a risk of getting different colors. Fix: 188759989 Bug: 187907544 Test: Added logs and moved a widget by hand, check the actual coordinates with hsv. Change-Id: Ia3bd5b3e3ea9a3ef75f8cdf466a9800786646a94
This commit is contained in:
@@ -1080,9 +1080,10 @@ public class CellLayout extends ViewGroup {
|
||||
cellToRect(targetCell[0], targetCell[1], spanX, spanY, mTempRect);
|
||||
|
||||
// Now get the rect in drag layer coordinates.
|
||||
getBoundsForViewInDragLayer(launcher.getDragLayer(), workspace, mTempRect, false,
|
||||
getBoundsForViewInDragLayer(launcher.getDragLayer(), this, mTempRect, true,
|
||||
mTmpFloatArray, mTempRectF);
|
||||
Utilities.setRect(mTempRectF, mTempRect);
|
||||
|
||||
((LauncherAppWidgetHostView) view).handleDrag(mTempRect, pageId);
|
||||
}
|
||||
}
|
||||
@@ -2594,7 +2595,9 @@ public class CellLayout extends ViewGroup {
|
||||
final int cellWidth = mCellWidth;
|
||||
final int cellHeight = mCellHeight;
|
||||
|
||||
final int hStartPadding = getPaddingLeft();
|
||||
// We observe a shift of 1 pixel on the x coordinate compared to the actual cell coordinates
|
||||
final int hStartPadding = getPaddingLeft()
|
||||
+ (int) Math.ceil(getUnusedHorizontalSpace() / 2f);
|
||||
final int vStartPadding = getPaddingTop();
|
||||
|
||||
int x = hStartPadding + (cellX * mBorderSpacing) + (cellX * cellWidth);
|
||||
|
||||
Reference in New Issue
Block a user