diff options
Diffstat (limited to 'src/com/android/launcher3/UninstallDropTarget.java')
-rw-r--r-- | src/com/android/launcher3/UninstallDropTarget.java | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/src/com/android/launcher3/UninstallDropTarget.java b/src/com/android/launcher3/UninstallDropTarget.java index 4a7fffeb2..4c52d7e0f 100644 --- a/src/com/android/launcher3/UninstallDropTarget.java +++ b/src/com/android/launcher3/UninstallDropTarget.java @@ -33,9 +33,12 @@ public class UninstallDropTarget extends ButtonDropTarget { @Override protected boolean supportsDrop(DragSource source, Object info) { + return supportsDrop(getContext(), info); + } + + public static boolean supportsDrop(Context context, Object info) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { - UserManager userManager = (UserManager) - getContext().getSystemService(Context.USER_SERVICE); + UserManager userManager = (UserManager) context.getSystemService(Context.USER_SERVICE); Bundle restrictions = userManager.getUserRestrictions(); if (restrictions.getBoolean(UserManager.DISALLOW_APPS_CONTROL, false) || restrictions.getBoolean(UserManager.DISALLOW_UNINSTALL_APPS, false)) { @@ -78,8 +81,7 @@ public class UninstallDropTarget extends ButtonDropTarget { void completeDrop(final DragObject d) { final Pair<ComponentName, Integer> componentInfo = getAppInfoFlags(d.dragInfo); final UserHandleCompat user = ((ItemInfo) d.dragInfo).user; - if (mLauncher.startApplicationUninstallActivity( - componentInfo.first, componentInfo.second, user)) { + if (startUninstallActivity(mLauncher, d.dragInfo)) { final Runnable checkIfUninstallWasSuccess = new Runnable() { @Override @@ -96,6 +98,13 @@ public class UninstallDropTarget extends ButtonDropTarget { } } + public static boolean startUninstallActivity(Launcher launcher, Object info) { + final Pair<ComponentName, Integer> componentInfo = getAppInfoFlags(info); + final UserHandleCompat user = ((ItemInfo) info).user; + return launcher.startApplicationUninstallActivity( + componentInfo.first, componentInfo.second, user); + } + @Thunk void sendUninstallResult(DragSource target, boolean result) { if (target instanceof UninstallSource) { ((UninstallSource) target).onUninstallActivityReturned(result); |