summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorke Lee <yorkelee@google.com>2013-12-03 18:30:38 -0800
committerYorke Lee <yorkelee@google.com>2013-12-03 18:30:38 -0800
commit670fd3f59160bdb81f38b6be2f176ba233915686 (patch)
treeb306b9fd749ce412c505c8272609307798f50aa9
parent02e388e56434e842637f6d3cad3c94a6c50ce259 (diff)
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
-rw-r--r--src/com/android/dialer/list/PhoneFavoritesTileAdapter.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/com/android/dialer/list/PhoneFavoritesTileAdapter.java b/src/com/android/dialer/list/PhoneFavoritesTileAdapter.java
index 368075368..a85fc6a60 100644
--- a/src/com/android/dialer/list/PhoneFavoritesTileAdapter.java
+++ b/src/com/android/dialer/list/PhoneFavoritesTileAdapter.java
@@ -87,6 +87,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;
@@ -177,6 +178,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;
}
@@ -223,7 +225,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();