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

Commit 3efef1ce authored by Schneider Victor-tulias's avatar Schneider Victor-tulias
Browse files

Attempt to preload the Launcher activity when the user reaches the All Set Page.

Preloading the Launcher activity once the user reaches the SUW All Set app allows for a smoother first reveal transition. Refactored TIS and TISBinder to make this possible.

Fixes: 226726244
Test: factory reset and flashed a build onto a pixel 6 pro
Change-Id: I1be3383bafdde17b951329de4c7d6b87affd210c
parent 4608bd00
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -264,6 +264,16 @@ public class TouchInteractionService extends Service
            MAIN_EXECUTOR.execute(ProxyScreenStatusProvider.INSTANCE::onScreenTurnedOn);
        }

        /**
         * Preloads the Overview activity.
         *
         * This method should only be used when the All Set page of the SUW is reached to safely
         * preload the Launcher for the SUW first reveal.
         */
        public void preloadOverviewForSUWAllSet() {
            preloadOverview(false, true);
        }

        @Override
        public void onRotationProposal(int rotation, boolean isValid) {
            executeForTaskbarManager(() -> mTaskbarManager.onRotationProposal(rotation, isValid));
@@ -865,6 +875,10 @@ public class TouchInteractionService extends Service
    }

    private void preloadOverview(boolean fromInit) {
        preloadOverview(fromInit, false);
    }

    private void preloadOverview(boolean fromInit, boolean forSUWAllSet) {
        if (!mDeviceState.isUserUnlocked()) {
            return;
        }
@@ -874,7 +888,8 @@ public class TouchInteractionService extends Service
            return;
        }

        if (RestoreDbTask.isPending(this) || !mDeviceState.isUserSetupComplete()) {
        if ((RestoreDbTask.isPending(this) && !forSUWAllSet)
                || !mDeviceState.isUserSetupComplete()) {
            // Preloading while a restore is pending may cause launcher to start the restore
            // too early.
            return;
+1 −0
Original line number Diff line number Diff line
@@ -202,6 +202,7 @@ public class AllSetActivity extends Activity {
        mBinder = binder;
        mBinder.getTaskbarManager().setSetupUIVisible(isResumed());
        mBinder.setSwipeUpProxy(isResumed() ? this::createSwipeUpProxy : null);
        mBinder.preloadOverviewForSUWAllSet();
    }

    @Override