diff options
author | Winson Chung <winsonc@google.com> | 2012-05-08 14:37:08 -0700 |
---|---|---|
committer | Winson Chung <winsonc@google.com> | 2012-05-08 14:37:48 -0700 |
commit | de0fb8fbf11caac382589ab464b50d528942273a (patch) | |
tree | 7b639ab24216aa707635c5af6a4a91dba3fdb6f6 /src/com/android/launcher2/InstallShortcutReceiver.java | |
parent | df4c0e25e579500a54023f92aff0dd0f2e2abc2a (diff) | |
download | Launcher2-de0fb8fbf11caac382589ab464b50d528942273a.tar.gz |
Queueing up items for adding later if Launcher is unavailable. (Bug 6457412)
Change-Id: Ia66a6411a54397543db4122a80ebca6a50b6360c
Diffstat (limited to 'src/com/android/launcher2/InstallShortcutReceiver.java')
-rw-r--r-- | src/com/android/launcher2/InstallShortcutReceiver.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/com/android/launcher2/InstallShortcutReceiver.java b/src/com/android/launcher2/InstallShortcutReceiver.java index 6d91602d..e05127b2 100644 --- a/src/com/android/launcher2/InstallShortcutReceiver.java +++ b/src/com/android/launcher2/InstallShortcutReceiver.java @@ -22,6 +22,7 @@ import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.ActivityInfo; import android.content.pm.PackageManager; +import android.os.Debug; import android.widget.Toast; import com.android.launcher.R; @@ -90,9 +91,12 @@ public class InstallShortcutReceiver extends BroadcastReceiver { return; } } + // Queue the item up for adding if launcher has not loaded properly yet + boolean launcherNotLoaded = LauncherModel.getCellCountX() <= 0 || + LauncherModel.getCellCountY() <= 0; PendingInstallShortcutInfo info = new PendingInstallShortcutInfo(data, name, intent); - if (mUseInstallQueue) { + if (mUseInstallQueue || launcherNotLoaded) { mInstallQueue.add(info); } else { processInstallShortcut(context, info); @@ -102,9 +106,11 @@ public class InstallShortcutReceiver extends BroadcastReceiver { static void enableInstallQueue() { mUseInstallQueue = true; } - static void disableAndFlushInstallQueue(Context context) { mUseInstallQueue = false; + flushInstallQueue(context); + } + static void flushInstallQueue(Context context) { Iterator<PendingInstallShortcutInfo> iter = mInstallQueue.iterator(); while (iter.hasNext()) { processInstallShortcut(context, iter.next()); |