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

Commit 589cb348 authored by Brian Isganitis's avatar Brian Isganitis
Browse files

Treat setup wizard default home as null.

During setup, default home progresses setup -> null -> launcher, which
can lead us to unintentionally preload the fallback overview.

Fix: 258022658
Test: Manual
Change-Id: I952b7923b06f2d4b058f42834d1f840719c73fd0
parent a695986d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -49,4 +49,6 @@
    <item name="config_wallpaperMaxScale" format="float" type="dimen">
        @*android:dimen/config_wallpaperMaxScale
    </item>

    <string name="setup_wizard_pkg" translatable="false" />
</resources>
+9 −0
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ import android.util.SparseIntArray;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import com.android.launcher3.R;
import com.android.launcher3.tracing.OverviewComponentObserverProto;
import com.android.launcher3.tracing.TouchInteractionServiceProto;
import com.android.launcher3.util.SimpleBroadcastReceiver;
@@ -65,6 +66,7 @@ public final class OverviewComponentObserver {
    private final Intent mMyHomeIntent;
    private final Intent mFallbackIntent;
    private final SparseIntArray mConfigChangesMap = new SparseIntArray();
    private final String mSetupWizardPkg;

    private Consumer<Boolean> mOverviewChangeListener = b -> { };

@@ -86,6 +88,7 @@ public final class OverviewComponentObserver {
                new ComponentName(context.getPackageName(), info.activityInfo.name);
        mMyHomeIntent.setComponent(myHomeComponent);
        mConfigChangesMap.append(myHomeComponent.hashCode(), info.activityInfo.configChanges);
        mSetupWizardPkg = context.getString(R.string.setup_wizard_pkg);

        ComponentName fallbackComponent = new ComponentName(mContext, RecentsActivity.class);
        mFallbackIntent = new Intent(Intent.ACTION_MAIN)
@@ -127,6 +130,12 @@ public final class OverviewComponentObserver {
    private void updateOverviewTargets() {
        ComponentName defaultHome = PackageManagerWrapper.getInstance()
                .getHomeActivities(new ArrayList<>());
        if (defaultHome != null && defaultHome.getPackageName().equals(mSetupWizardPkg)) {
            // Treat setup wizard as null default home, because there is a period between setup and
            // launcher being default home where it is briefly null. Otherwise, it would appear as
            // if overview targets are changing twice, giving the listener an incorrect signal.
            defaultHome = null;
        }

        mIsHomeDisabled = mDeviceState.isHomeDisabled();
        mIsDefaultHome = Objects.equals(mMyHomeIntent.getComponent(), defaultHome);
+4 −0
Original line number Diff line number Diff line
@@ -1130,6 +1130,10 @@ public class TouchInteractionService extends Service
            return;
        }

        // TODO(b/258022658): Remove temporary logging.
        Log.i(TAG, "preloadOverview: forSUWAllSet=" + forSUWAllSet
                + ", isHomeAndOverviewSame=" + mOverviewComponentObserver.isHomeAndOverviewSame());

        mTaskAnimationManager.preloadRecentsAnimation(overviewIntent);
    }