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

Commit c1a97b12 authored by Matthew Ng's avatar Matthew Ng
Browse files

Opalayout can check quickstep icons without needing navbarview (1/2)

Opalayout should not need NavigationBarView to determine if the icon
should be for quickstep icons. It does not need to know if recents is
disabled because of lock tasks and so the check is now in
OverviewProxyService. Then when Opalayout needs to layout the home
button it should be able to get the information regardless if
NavigationBarView is available or not.

Bug: 76210393
Fixes: 76434966
Fixes: 74071465
Test: change language in settings

Change-Id: I246175c3e2d5c990da6823df4108d48522b258bd
parent b1adae54
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -50,6 +50,7 @@ import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import static com.android.systemui.shared.system.NavigationBarCompat.FLAG_DISABLE_SWIPE_UP;
import static com.android.systemui.shared.system.NavigationBarCompat.InteractionType;

/**
@@ -249,6 +250,10 @@ public class OverviewProxyService implements CallbackController<OverviewProxyLis
        mConnectionCallbacks.remove(listener);
    }

    public boolean shouldShowSwipeUpUI() {
        return getProxy() != null && ((mInteractionFlags & FLAG_DISABLE_SWIPE_UP) == 0);
    }

    public IOverviewProxy getProxy() {
        return mOverviewProxy;
    }
+3 −8
Original line number Diff line number Diff line
@@ -79,7 +79,6 @@ import java.io.PrintWriter;
import java.util.function.Consumer;

import static com.android.systemui.shared.system.NavigationBarCompat.FLAG_DISABLE_QUICK_SCRUB;
import static com.android.systemui.shared.system.NavigationBarCompat.FLAG_DISABLE_SWIPE_UP;
import static com.android.systemui.shared.system.NavigationBarCompat.FLAG_HIDE_BACK_BUTTON;
import static com.android.systemui.shared.system.NavigationBarCompat.FLAG_SHOW_OVERVIEW_BUTTON;
import static com.android.systemui.shared.system.NavigationBarCompat.HIT_TARGET_OVERVIEW;
@@ -385,17 +384,13 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav
    }

    public boolean isQuickStepSwipeUpEnabled() {
        return mOverviewProxyService.getProxy() != null
                && isOverviewEnabled()
                && ((mOverviewProxyService.getInteractionFlags()
                        & FLAG_DISABLE_SWIPE_UP) == 0);
        return mOverviewProxyService.shouldShowSwipeUpUI() && isOverviewEnabled();
    }

    public boolean isQuickScrubEnabled() {
        return SystemProperties.getBoolean("persist.quickstep.scrub.enabled", true)
                && mOverviewProxyService.getProxy() != null && isOverviewEnabled()
                && ((mOverviewProxyService.getInteractionFlags()
                        & FLAG_DISABLE_QUICK_SCRUB) == 0);
                && ((mOverviewProxyService.getInteractionFlags() & FLAG_DISABLE_QUICK_SCRUB) == 0);
    }

    private void updateCarModeIcons(Context ctx) {
@@ -468,7 +463,7 @@ public class NavigationBarView extends FrameLayout implements PluginListener<Nav
    private KeyButtonDrawable chooseNavigationIconDrawable(Context ctx, @DrawableRes int iconLight,
            @DrawableRes int iconDark, @DrawableRes int quickStepIconLight,
            @DrawableRes int quickStepIconDark) {
        final boolean quickStepEnabled = isQuickStepSwipeUpEnabled() || isQuickScrubEnabled();
        final boolean quickStepEnabled = mOverviewProxyService.shouldShowSwipeUpUI();
        return quickStepEnabled
                ? getDrawable(ctx, quickStepIconLight, quickStepIconDark)
                : getDrawable(ctx, iconLight, iconDark);