Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bb785c6e authored by Winson Chung's avatar Winson Chung
Browse files

Ensuring we wait until resume before binding all apps.

Bug: 20759810
parent b6cd62cd
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -4165,12 +4165,29 @@ public class Launcher extends Activity
        mSearchDropTargetBar.setQsbSearchBar(getOrCreateQsbBar());
    }

    /**
     * A runnable that we can dequeue and re-enqueue when all applications are bound (to prevent
     * multiple calls to bind the same list.)
     */
    @Thunk ArrayList<AppInfo> mTmpAppsList;
    private Runnable mBindAllApplicationsRunnable = new Runnable() {
        public void run() {
            bindAllApplications(mTmpAppsList);
            mTmpAppsList = null;
        }
    };

    /**
     * Add the icons for all apps.
     *
     * Implementation of the method from LauncherModel.Callbacks.
     */
    public void bindAllApplications(final ArrayList<AppInfo> apps) {
        if (waitUntilResume(mBindAllApplicationsRunnable, true)) {
            mTmpAppsList = apps;
            return;
        }

        if (mAppsView != null) {
            mAppsView.setApps(apps);
        }