Ensuring disabled packages remove all components on the workspace. (Bug 11172454)

This commit is contained in:
Winson Chung
2013-10-16 14:57:07 -07:00
parent 51b9f6a570
commit df95eb12a4
4 changed files with 64 additions and 55 deletions

View File

@@ -16,6 +16,7 @@
package com.android.launcher3;
import android.content.ComponentName;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
@@ -25,14 +26,8 @@ import android.graphics.Rect;
import android.os.Handler;
import android.os.IBinder;
import android.util.Log;
import android.view.HapticFeedbackConstants;
import android.view.KeyEvent;
import android.view.MotionEvent;
import android.view.VelocityTracker;
import android.view.View;
import android.view.ViewConfiguration;
import android.view.*;
import android.view.inputmethod.InputMethodManager;
import com.android.launcher3.R;
import java.util.ArrayList;
@@ -323,7 +318,7 @@ public class DragController {
}
endDrag();
}
public void onAppsRemoved(ArrayList<AppInfo> appInfos, Context context) {
public void onAppsRemoved(final ArrayList<String> packageNames, ArrayList<AppInfo> appInfos) {
// Cancel the current drag if we are removing an app that we are dragging
if (mDragObject != null) {
Object rawDragInfo = mDragObject.dragInfo;
@@ -333,8 +328,9 @@ public class DragController {
// Added null checks to prevent NPE we've seen in the wild
if (dragInfo != null &&
dragInfo.intent != null) {
boolean isSameComponent =
dragInfo.intent.getComponent().equals(info.componentName);
ComponentName cn = dragInfo.intent.getComponent();
boolean isSameComponent = cn.equals(info.componentName) ||
packageNames.contains(cn.getPackageName());
if (isSameComponent) {
cancelDrag();
return;