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

Commit ce260ab8 authored by Nancy Chen's avatar Nancy Chen
Browse files

Drag and drop for PhoneFavoriteTileView but not when dialpad is open

Drag actions were disabled for PhoneFavoriteTileView when fixing a bug
that caused dragging when the dialpad was up. This CL restores the
original functionality while fixing the dialpad bug.

Bug: 17626737
Change-Id: I3a352088ff44c81230677d771479e367c9fe7856
parent f2d3bd5d
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;
            }
        });