From d3b87ef1963fb96177ca85bcd6a25879e27e419c Mon Sep 17 00:00:00 2001 From: Sunny Goyal Date: Thu, 28 Jul 2016 12:11:54 -0700 Subject: Adding quiet mode support for shortcuts > LauncherApps returns empty list when the user is locked. Not relying on LauncherApps in this case > When the user is locked, removing all dynamic shortcuts > Loading shortcuts from DB when the user is locked > Verifying the shortcuts again when the user is available Bug: 30411561 Change-Id: Ib6eb372c5b009cadb86a8f6e781f3f3cbf787ceb --- .../android/launcher3/dragndrop/DragController.java | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) (limited to 'src/com/android/launcher3/dragndrop/DragController.java') diff --git a/src/com/android/launcher3/dragndrop/DragController.java b/src/com/android/launcher3/dragndrop/DragController.java index 3447d5148..9da1cb313 100644 --- a/src/com/android/launcher3/dragndrop/DragController.java +++ b/src/com/android/launcher3/dragndrop/DragController.java @@ -46,6 +46,7 @@ import com.android.launcher3.Utilities; import com.android.launcher3.Workspace; import com.android.launcher3.accessibility.DragViewStateAnnouncer; import com.android.launcher3.config.FeatureFlags; +import com.android.launcher3.util.ItemInfoMatcher; import com.android.launcher3.util.Thunk; import com.android.launcher3.util.TouchController; @@ -325,22 +326,14 @@ public class DragController implements DragDriver.EventListener, TouchController endDrag(); } - public void onAppsRemoved(final HashSet packageNames, HashSet cns) { + public void onAppsRemoved(ItemInfoMatcher matcher) { // Cancel the current drag if we are removing an app that we are dragging if (mDragObject != null) { - Object rawDragInfo = mDragObject.dragInfo; - if (rawDragInfo instanceof ShortcutInfo) { - ShortcutInfo dragInfo = (ShortcutInfo) rawDragInfo; - for (ComponentName componentName : cns) { - if (dragInfo.intent != null) { - ComponentName cn = dragInfo.intent.getComponent(); - boolean isSameComponent = cn != null && (cn.equals(componentName) || - packageNames.contains(cn.getPackageName())); - if (isSameComponent) { - cancelDrag(); - return; - } - } + ItemInfo dragInfo = mDragObject.dragInfo; + if (dragInfo instanceof ShortcutInfo) { + ComponentName cn = dragInfo.getTargetComponent(); + if (cn != null && matcher.matches(dragInfo, cn)) { + cancelDrag(); } } } -- cgit v1.2.3