Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ea193019 authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "If the view for the drag preview is a BubbleTextVie use the icon...

Merge "If the view for the drag preview is a BubbleTextVie use the icon drawable for the preview" into udc-qpr-dev
parents 31689cad 3f6bc94b
Loading
Loading
Loading
Loading
+10 −1
Original line number Original line Diff line number Diff line
@@ -21,10 +21,12 @@ import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Canvas;
import android.graphics.Rect;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.InsetDrawable;
import android.view.View;
import android.view.View;


import androidx.annotation.Nullable;
import androidx.annotation.Nullable;


import com.android.launcher3.BubbleTextView;
import com.android.launcher3.R;
import com.android.launcher3.R;
import com.android.launcher3.dragndrop.DraggableView;
import com.android.launcher3.dragndrop.DraggableView;
import com.android.launcher3.icons.BitmapRenderer;
import com.android.launcher3.icons.BitmapRenderer;
@@ -37,7 +39,6 @@ import com.android.launcher3.widget.LauncherAppWidgetHostView;
 * A utility class to generate preview bitmap for dragging.
 * A utility class to generate preview bitmap for dragging.
 */
 */
public class DragPreviewProvider {
public class DragPreviewProvider {

    private final Rect mTempRect = new Rect();
    private final Rect mTempRect = new Rect();


    protected final View mView;
    protected final View mView;
@@ -99,6 +100,14 @@ public class DragPreviewProvider {
            height = mView.getHeight();
            height = mView.getHeight();
        }
        }


        if (mView instanceof BubbleTextView) {
            FastBitmapDrawable icon = ((BubbleTextView) mView).getIcon();
            Drawable drawable = icon.getConstantState().newDrawable();
            float xInset = (float) blurSizeOutline / (float) (width + blurSizeOutline);
            float yInset = (float) blurSizeOutline / (float) (height + blurSizeOutline);
            return new InsetDrawable(drawable, xInset / 2, yInset / 2, xInset / 2, yInset / 2);
        }

        return new FastBitmapDrawable(
        return new FastBitmapDrawable(
                BitmapRenderer.createHardwareBitmap(width + blurSizeOutline,
                BitmapRenderer.createHardwareBitmap(width + blurSizeOutline,
                        height + blurSizeOutline, (c) -> drawDragView(c, scale)));
                        height + blurSizeOutline, (c) -> drawDragView(c, scale)));