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

Commit 2292a202 authored by Nancy Chen's avatar Nancy Chen Committed by Android (Google) Code Review
Browse files

Merge "Drag and drop for PhoneFavoriteTileView but not when dialpad is open" into lmp-dev

parents 532e9562 ce260ab8
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -23,6 +23,7 @@ import android.content.Context;
import android.content.res.Configuration;
import android.graphics.Bitmap;
import android.os.Handler;
import android.text.TextUtils;
import android.util.AttributeSet;
import android.util.Log;
import android.view.DragEvent;
@@ -149,7 +150,7 @@ public class PhoneFavoriteListView extends GridView implements OnDragDropListene
        final int eY = (int) event.getY();
        switch (action) {
            case DragEvent.ACTION_DRAG_STARTED: {
                if (PhoneFavoriteTileView.EMPTY_CLIP_DATA != event.getClipData()) {
                if (!PhoneFavoriteTileView.DRAG_PHONE_FAVORITE_TILE.equals(event.getLocalState())) {
                    // Ignore any drag events that were not propagated by long pressing
                    // on a {@link PhoneFavoriteTileView}
                    return false;
+7 −2
Original line number Diff line number Diff line
@@ -56,7 +56,11 @@ public abstract class PhoneFavoriteTileView extends ContactTileView {

    // Dummy clip data object that is attached to drag shadows so that text views
    // don't crash with an NPE if the drag shadow is released in their bounds
    static final ClipData EMPTY_CLIP_DATA = ClipData.newPlainText("", "");
    private static final ClipData EMPTY_CLIP_DATA = ClipData.newPlainText("", "");

    // Constant to pass to the drag event so that the drag action only happens when a phone favorite
    // tile is long pressed.
    static final String DRAG_PHONE_FAVORITE_TILE = "PHONE_FAVORITE_TILE";

    public PhoneFavoriteTileView(Context context, AttributeSet attrs) {
        super(context, attrs);
@@ -72,7 +76,8 @@ public abstract class PhoneFavoriteTileView extends ContactTileView {
            public boolean onLongClick(View v) {
                final PhoneFavoriteTileView view = (PhoneFavoriteTileView) v;
                // NOTE The drag shadow is handled in the ListView.
                view.startDrag(EMPTY_CLIP_DATA, new View.DragShadowBuilder(), null, 0);
                view.startDrag(EMPTY_CLIP_DATA, new View.DragShadowBuilder(),
                        DRAG_PHONE_FAVORITE_TILE, 0);
                return true;
            }
        });