summaryrefslogtreecommitdiffstats
path: root/java/com/android/dialer/app/list
diff options
context:
space:
mode:
authorcalderwoodra <calderwoodra@google.com>2018-02-02 15:52:26 -0800
committerCopybara-Service <copybara-piper@google.com>2018-02-02 17:27:36 -0800
commit1579e1c993ecef391a1a828cb2ac13d2985d893d (patch)
tree2c0e8f1b3dac28c1aa77341281b46a2f8be4fb91 /java/com/android/dialer/app/list
parentae8144b6905143e0a8e5a6920b6ed8f60cf8b00e (diff)
downloadandroid_packages_apps_Dialer-1579e1c993ecef391a1a828cb2ac13d2985d893d.tar.gz
android_packages_apps_Dialer-1579e1c993ecef391a1a828cb2ac13d2985d893d.tar.bz2
android_packages_apps_Dialer-1579e1c993ecef391a1a828cb2ac13d2985d893d.zip
Implemented drag to remove in NUI with old favorites.
This change moves the remove button to overlap the search bar instead of reside underneath it since we no longer have top tabs. Bug: 72722364 Test: manual PiperOrigin-RevId: 184347110 Change-Id: I5bfa70fec9dd7ee6ee0b7270039931f9277291f4
Diffstat (limited to 'java/com/android/dialer/app/list')
-rw-r--r--java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java29
1 files changed, 18 insertions, 11 deletions
diff --git a/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java b/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java
index ed64f7a52..a20185989 100644
--- a/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java
+++ b/java/com/android/dialer/app/list/PhoneFavoritesTileAdapter.java
@@ -46,6 +46,7 @@ import com.android.dialer.duo.DuoComponent;
import com.android.dialer.logging.InteractionEvent;
import com.android.dialer.logging.Logger;
import com.android.dialer.shortcuts.ShortcutRefresher;
+import com.android.dialer.strictmode.StrictModeUtils;
import com.google.common.collect.ComparisonChain;
import java.util.ArrayList;
import java.util.Comparator;
@@ -519,22 +520,27 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop
}
if (changed && dropEntryIndex < PIN_LIMIT) {
- final ArrayList<ContentProviderOperation> operations =
+ ArrayList<ContentProviderOperation> operations =
getReflowedPinningOperations(contactEntries, draggedEntryIndex, dropEntryIndex);
- if (!operations.isEmpty()) {
- // update the database here with the new pinned positions
- try {
- context.getContentResolver().applyBatch(ContactsContract.AUTHORITY, operations);
- Logger.get(context).logInteraction(InteractionEvent.Type.SPEED_DIAL_PIN_CONTACT);
- } catch (RemoteException | OperationApplicationException e) {
- LogUtil.e(TAG, "Exception thrown when pinning contacts", e);
- }
- }
+ StrictModeUtils.bypass(() -> updateDatabaseWithPinnedPositions(operations));
}
draggedEntry = null;
}
}
+ private void updateDatabaseWithPinnedPositions(ArrayList<ContentProviderOperation> operations) {
+ if (operations.isEmpty()) {
+ // Nothing to update
+ return;
+ }
+ try {
+ context.getContentResolver().applyBatch(ContactsContract.AUTHORITY, operations);
+ Logger.get(context).logInteraction(InteractionEvent.Type.SPEED_DIAL_PIN_CONTACT);
+ } catch (RemoteException | OperationApplicationException e) {
+ LogUtil.e(TAG, "Exception thrown when pinning contacts", e);
+ }
+ }
+
/**
* Used when a contact is removed from speeddial. This will both unstar and set pinned position of
* the contact to PinnedPosition.DEMOTED so that it doesn't show up anymore in the favorites list.
@@ -543,7 +549,8 @@ public class PhoneFavoritesTileAdapter extends BaseAdapter implements OnDragDrop
final ContentValues values = new ContentValues(2);
values.put(Contacts.STARRED, false);
values.put(Contacts.PINNED, PinnedPositions.DEMOTED);
- context.getContentResolver().update(contactUri, values, null, null);
+ StrictModeUtils.bypass(
+ () -> context.getContentResolver().update(contactUri, values, null, null));
}
/**