summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher2/Launcher.java
diff options
context:
space:
mode:
authorAdam Cohen <adamcohen@google.com>2011-08-15 15:22:57 -0700
committerAdam Cohen <adamcohen@google.com>2011-08-15 15:36:38 -0700
commit558baaf0a0b1c6a9062a6771088098533a35222b (patch)
treefc15532d861f58493031c32f55e828b219db2ed8 /src/com/android/launcher2/Launcher.java
parentc273c5814d7b312628107ad4a7bff9cc64e89eae (diff)
downloadpackages_apps_trebuchet-558baaf0a0b1c6a9062a6771088098533a35222b.zip
packages_apps_trebuchet-558baaf0a0b1c6a9062a6771088098533a35222b.tar.gz
packages_apps_trebuchet-558baaf0a0b1c6a9062a6771088098533a35222b.tar.bz2
Fix issue 5064004, can't add shortcut to portal from AllApps
Change-Id: I99cd2108af617cf5a80b417f81a86c363fac2377
Diffstat (limited to 'src/com/android/launcher2/Launcher.java')
-rw-r--r--src/com/android/launcher2/Launcher.java21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java
index 7ab41bc..9f42cfd 100644
--- a/src/com/android/launcher2/Launcher.java
+++ b/src/com/android/launcher2/Launcher.java
@@ -40,7 +40,6 @@ import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
-import android.content.Intent.ShortcutIconResource;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
@@ -51,7 +50,6 @@ import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.AsyncTask;
-import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
@@ -87,6 +85,7 @@ import android.widget.Toast;
import com.android.common.Search;
import com.android.launcher.R;
+import com.android.launcher2.DropTarget.DragObject;
import java.io.DataInputStream;
import java.io.DataOutputStream;
@@ -799,11 +798,25 @@ public final class Launcher extends Activity
boolean foundCellSpan = false;
+ ShortcutInfo info = mModel.infoFromShortcutIntent(this, data, null);
+ final View view = createShortcut(info);
+
// First we check if we already know the exact location where we want to add this item.
if (cellX >= 0 && cellY >= 0) {
cellXY[0] = cellX;
cellXY[1] = cellY;
foundCellSpan = true;
+
+ // If appropriate, either create a folder or add to an existing folder
+ if (mWorkspace.createUserFolderIfNecessary(view, container, layout, cellXY,
+ true, null,null)) {
+ return;
+ }
+ DragObject dragObject = new DragObject();
+ dragObject.dragInfo = info;
+ if (mWorkspace.addToExistingFolderIfNecessary(view, layout, cellXY, dragObject, true)) {
+ return;
+ }
} else if (touchXY != null) {
// when dragging and dropping, just find the closest free spot
int[] result = layout.findNearestVacantArea(touchXY[0], touchXY[1], 1, 1, cellXY);
@@ -817,11 +830,9 @@ public final class Launcher extends Activity
return;
}
- final ShortcutInfo info = mModel.addShortcut(
- this, data, container, screen, cellXY[0], cellXY[1], false);
+ LauncherModel.addItemToDatabase(this, info, container, screen, cellXY[0], cellXY[1], false);
if (!mRestoring) {
- final View view = createShortcut(info);
mWorkspace.addInScreen(view, container, screen, cellXY[0], cellXY[1], 1, 1,
isWorkspaceLocked());
}