summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/UninstallDropTarget.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/launcher3/UninstallDropTarget.java')
-rw-r--r--src/com/android/launcher3/UninstallDropTarget.java17
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);