diff options
author | Sunny Goyal <sunnygoyal@google.com> | 2015-05-18 15:19:29 -0700 |
---|---|---|
committer | Sunny Goyal <sunnygoyal@google.com> | 2015-05-18 15:22:47 -0700 |
commit | f5cd998c25b025e46c56f4e862f4f5573a807745 (patch) | |
tree | 88f152e9def83422efef27938d8501bb32be23b7 /src/com/android/launcher3/LauncherModel.java | |
parent | a926343d5c567b8cf32175530b1f6eb574e7eabc (diff) | |
download | android_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.java | 12 |
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) { |