summaryrefslogtreecommitdiffstats
path: root/src/com/android/launcher3/LauncherModel.java
diff options
context:
space:
mode:
authorSunny Goyal <sunnygoyal@google.com>2015-05-18 15:19:29 -0700
committerSunny Goyal <sunnygoyal@google.com>2015-05-18 15:22:47 -0700
commitf5cd998c25b025e46c56f4e862f4f5573a807745 (patch)
tree88f152e9def83422efef27938d8501bb32be23b7 /src/com/android/launcher3/LauncherModel.java
parenta926343d5c567b8cf32175530b1f6eb574e7eabc (diff)
downloadandroid_packages_apps_Trebuchet-f5cd998c25b025e46c56f4e862f4f5573a807745.tar.gz
android_packages_apps_Trebuchet-f5cd998c25b025e46c56f4e862f4f5573a807745.tar.bz2
android_packages_apps_Trebuchet-f5cd998c25b025e46c56f4e862f4f5573a807745.zip
Starting the loader if the previous loader is not complete, instead of binding page synchronously
Bug: 21107637 Change-Id: If04952c7d5c8a38a739ce5536ecac394011ab61a
Diffstat (limited to 'src/com/android/launcher3/LauncherModel.java')
-rw-r--r--src/com/android/launcher3/LauncherModel.java12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/com/android/launcher3/LauncherModel.java b/src/com/android/launcher3/LauncherModel.java
index c56022ec6..0ef15eef2 100644
--- a/src/com/android/launcher3/LauncherModel.java
+++ b/src/com/android/launcher3/LauncherModel.java
@@ -1390,10 +1390,10 @@ public class LauncherModel extends BroadcastReceiver
if (mCallbacks != null && mCallbacks.get() != null) {
// If there is already one running, tell it to stop.
// also, don't downgrade isLaunching if we're already running
- isLaunching = isLaunching || stopLoaderLocked();
+ isLaunching = stopLoaderLocked() || isLaunching;
mLoaderTask = new LoaderTask(mApp.getContext(), isLaunching, loadFlags);
if (synchronousBindPage != PagedView.INVALID_RESTORE_PAGE
- && mAllAppsLoaded && mWorkspaceLoaded) {
+ && mAllAppsLoaded && mWorkspaceLoaded && !mIsLoaderTaskRunning) {
mLoaderTask.runBindSynchronousPage(synchronousBindPage);
} else {
sWorkerThread.setPriority(Thread.NORM_PRIORITY);
@@ -1600,6 +1600,9 @@ public class LauncherModel extends BroadcastReceiver
public void run() {
synchronized (mLock) {
+ if (mStopped) {
+ return;
+ }
mIsLoaderTaskRunning = true;
}
// Optimize for end-user experience: if the Launcher is up and // running with the
@@ -2783,6 +2786,11 @@ public class LauncherModel extends BroadcastReceiver
}
if (!mAllAppsLoaded) {
loadAllApps();
+ synchronized (LoaderTask.this) {
+ if (mStopped) {
+ return;
+ }
+ }
updateAllAppsIconsCache();
synchronized (LoaderTask.this) {
if (mStopped) {