mirror of
https://github.com/LawnchairLauncher/lawnchair.git
synced 2026-02-18 10:18:20 +00:00
Merge "Drag and drop preview size for BubbleTextView" into ub-launcher3-qt-future-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
ecee887d1a
@@ -1493,7 +1493,7 @@ public class Workspace extends PagedView<WorkspacePageIndicator>
|
||||
Rect dragRect = null;
|
||||
if (child instanceof BubbleTextView) {
|
||||
dragRect = new Rect();
|
||||
((BubbleTextView) child).getIconBounds(dragRect);
|
||||
BubbleTextView.getIconBounds(child, dragRect, grid.iconSizePx);
|
||||
dragLayerY += dragRect.top;
|
||||
// Note: The dragRect is used to calculate drag layer offsets, but the
|
||||
// dragVisualizeOffset in addition to the dragRect (the size) to position the outline.
|
||||
|
||||
@@ -284,7 +284,8 @@ public class DragLayer extends BaseDragLayer<Launcher> {
|
||||
// The child may be scaled (always about the center of the view) so to account for it,
|
||||
// we have to offset the position by the scaled size. Once we do that, we can center
|
||||
// the drag view about the scaled child view.
|
||||
toY += Math.round(toScale * tv.getPaddingTop());
|
||||
// padding will remain constant (does not scale with size)
|
||||
toY += tv.getPaddingTop();
|
||||
toY -= dragView.getMeasuredHeight() * (1 - toScale) / 2;
|
||||
if (dragView.getDragVisualizeOffset() != null) {
|
||||
toY -= Math.round(toScale * dragView.getDragVisualizeOffset().y);
|
||||
|
||||
@@ -195,15 +195,22 @@ public class DragPreviewProvider {
|
||||
|
||||
private final Bitmap mPreviewSnapshot;
|
||||
private final Context mContext;
|
||||
private final boolean mIsIcon;
|
||||
|
||||
OutlineGeneratorCallback(Bitmap preview) {
|
||||
mPreviewSnapshot = preview;
|
||||
mContext = mView.getContext();
|
||||
mIsIcon = mView instanceof BubbleTextView;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
Bitmap preview = convertPreviewToAlphaBitmap(mPreviewSnapshot);
|
||||
if (mIsIcon) {
|
||||
int size = Launcher.getLauncher(mContext).getDeviceProfile().iconSizePx;
|
||||
preview = Bitmap.createScaledBitmap(preview, size, size, false);
|
||||
}
|
||||
//else case covers AppWidgetHost (doesn't drag/drop across different device profiles)
|
||||
|
||||
// We start by removing most of the alpha channel so as to ignore shadows, and
|
||||
// other types of partial transparency when defining the shape of the object
|
||||
|
||||
Reference in New Issue
Block a user