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

Commit de268a51 authored by Yogisha Dixit's avatar Yogisha Dixit Committed by Android (Google) Code Review
Browse files

Merge "Fix drop target icons being truncated." into sc-dev

parents c846245f ed052ab2
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -16,8 +16,8 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="20dp"
    android:height="20dp"
    android:viewportHeight="20.0"
    android:viewportWidth="20.0"
    android:viewportHeight="24.0"
    android:viewportWidth="24.0"
    android:tint="?android:attr/textColorPrimary">
    <path
        android:fillColor="@android:color/white"
+2 −2
Original line number Diff line number Diff line
@@ -16,8 +16,8 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
        android:width="20dp"
        android:height="20dp"
        android:viewportWidth="20.0"
        android:viewportHeight="20.0"
        android:viewportWidth="24.0"
        android:viewportHeight="24.0"
        android:tint="?android:attr/textColorPrimary" >
    <path
        android:fillColor="@android:color/white"
+12 −11
Original line number Diff line number Diff line
@@ -36,8 +36,6 @@ import android.view.accessibility.AccessibilityEvent;
import android.widget.PopupWindow;
import android.widget.TextView;

import androidx.appcompat.content.res.AppCompatResources;

import com.android.launcher3.anim.Interpolators;
import com.android.launcher3.dragndrop.DragController;
import com.android.launcher3.dragndrop.DragLayer;
@@ -82,6 +80,8 @@ public abstract class ButtonDropTarget extends TextView
    private boolean mAccessibleDrag;
    /** An item must be dragged at least this many pixels before this drop target is enabled. */
    private final int mDragDistanceThreshold;
    /** The size of the drawable shown in the drop target. */
    private final int mDrawableSize;

    protected CharSequence mText;
    protected ColorStateList mOriginalTextColor;
@@ -103,6 +103,7 @@ public abstract class ButtonDropTarget extends TextView

        Resources resources = getResources();
        mDragDistanceThreshold = resources.getDimensionPixelSize(R.dimen.drag_distanceThreshold);
        mDrawableSize = resources.getDimensionPixelSize(R.dimen.drop_target_text_size);
    }

    @Override
@@ -120,14 +121,18 @@ public abstract class ButtonDropTarget extends TextView
    }

    protected void setDrawable(int resId) {
        mDrawable = getContext().getDrawable(resId).mutate();
        mDrawable.setBounds(0, 0, mDrawableSize, mDrawableSize);
        setDrawable(mDrawable);
    }

    private void setDrawable(Drawable drawable) {
        // We do not set the drawable in the xml as that inflates two drawables corresponding to
        // drawableLeft and drawableStart.
        if (mTextVisible) {
            setCompoundDrawablesRelativeWithIntrinsicBounds(resId, 0, 0, 0);
            mDrawable = getCompoundDrawablesRelative()[0];
            setCompoundDrawablesRelative(drawable, null, null, null);
        } else {
            setCompoundDrawablesRelativeWithIntrinsicBounds(0, resId, 0, 0);
            mDrawable = getCompoundDrawablesRelative()[1];
            setCompoundDrawablesRelative(null, drawable, null, null);
        }
    }

@@ -329,11 +334,7 @@ public abstract class ButtonDropTarget extends TextView
        if (mTextVisible != isVisible || !TextUtils.equals(newText, getText())) {
            mTextVisible = isVisible;
            setText(newText);
            if (mTextVisible) {
                setCompoundDrawablesRelativeWithIntrinsicBounds(mDrawable, null, null, null);
            } else {
                setCompoundDrawablesRelativeWithIntrinsicBounds(null, mDrawable, null, null);
            }
            setDrawable(mDrawable);
        }
    }