diff options
author | Adam Cohen <adamcohen@google.com> | 2011-08-15 15:22:57 -0700 |
---|---|---|
committer | Adam Cohen <adamcohen@google.com> | 2011-08-15 15:36:38 -0700 |
commit | 558baaf0a0b1c6a9062a6771088098533a35222b (patch) | |
tree | fc15532d861f58493031c32f55e828b219db2ed8 /src/com/android/launcher2/Launcher.java | |
parent | c273c5814d7b312628107ad4a7bff9cc64e89eae (diff) | |
download | packages_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.java | 21 |
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()); } |