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

Commit 61fe032a authored by Yorke Lee's avatar Yorke Lee Committed by Jay Shrauner
Browse files

Temporarily stop UI refresh during drag and drop

If the user is in the middle of a drag and drop operation, temporarily
stop UI refreshes when a new cursor is delivered, to prevent UI
inconsistencies.

This CL only fixes the dragging/dropping case. Swiping is still buggy
(the fix is more complicated/risky), and swiping might be removed
altogether in the future.

Bug: 11119329
Change-Id: I2939c915d4eb5d8f9de19a369b21c6c98806ba94
(cherry picked from commit 670fd3f5)
parent b0b153f5
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -88,6 +88,7 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements
    private long mIdToKeepInPlace = -1;

    private boolean mAwaitingRemove = false;
    private boolean mDelayCursorUpdates = false;

    private ContactPhotoManager mPhotoManager;
    protected int mNumFrequents;
@@ -178,6 +179,7 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements
     * @param inDragging Boolean variable indicating whether there is a drag in process.
     */
    public void setInDragging(boolean inDragging) {
        mDelayCursorUpdates = inDragging;
        mInDragging = inDragging;
    }

@@ -224,7 +226,7 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements
     * Else use {@link ContactTileLoaderFactory}
     */
    public void setContactCursor(Cursor cursor) {
        if (cursor != null && !cursor.isClosed()) {
        if (!mDelayCursorUpdates && cursor != null && !cursor.isClosed()) {
            mNumStarred = getNumStarredContacts(cursor);
            if (mAwaitingRemove) {
                mDataSetChangedListener.cacheOffsetsForDatasetChange();