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

Commit 0eefbef6 authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Disable color sampling while navigation bar is hidden" into qt-dev

parents 10c67233 2102ae89
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ public class NavBarTintController implements View.OnAttachStateChangeListener,
    private final NavigationBarView mNavigationBarView;
    private final LightBarTransitionsController mLightBarController;
    private int mNavBarMode = NAV_BAR_MODE_3BUTTON;
    private boolean mWindowVisible;

    private final CompositionSamplingListener mSamplingListener;
    private final Runnable mUpdateSamplingListener = this::updateSamplingListener;
@@ -148,7 +149,7 @@ public class NavBarTintController implements View.OnAttachStateChangeListener,
            mSamplingListenerRegistered = false;
            CompositionSamplingListener.unregister(mSamplingListener);
        }
        if (mSamplingEnabled && !mSamplingBounds.isEmpty()
        if (mSamplingEnabled && mWindowVisible && !mSamplingBounds.isEmpty()
                && mNavigationBarView.isAttachedToWindow()) {
            if (!mNavigationBarView.getViewRootImpl().getSurfaceControl().isValid()) {
                // The view may still be attached, but the surface backing the window can be
@@ -180,6 +181,11 @@ public class NavBarTintController implements View.OnAttachStateChangeListener,
        }
    }

    public void setWindowVisible(boolean visible) {
        mWindowVisible = visible;
        requestUpdateSamplingListener();
    }

    public void onNavigationModeChanged(int mode) {
        mNavBarMode = mode;
    }
@@ -194,6 +200,7 @@ public class NavBarTintController implements View.OnAttachStateChangeListener,
        pw.println("  mSamplingBounds: " + mSamplingBounds);
        pw.println("  mLastMedianLuma: " + mLastMedianLuma);
        pw.println("  mCurrentMedianLuma: " + mCurrentMedianLuma);
        pw.println("  mWindowVisible: " + mWindowVisible);
    }

    public static boolean isEnabled(Context context, int navBarMode) {
+2 −2
Original line number Diff line number Diff line
@@ -322,6 +322,7 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback
            mNavigationBarView.getLightTransitionsController().restoreState(savedInstanceState);
        }
        mNavigationBarView.setNavigationIconHints(mNavigationIconHints);
        mNavigationBarView.setWindowVisible(isNavBarWindowVisible());

        prepareNavigationBarView();
        checkNavBarModes();
@@ -467,8 +468,7 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback
            if (DEBUG_WINDOW_STATE) Log.d(TAG, "Navigation bar " + windowStateToString(state));

            updateSystemUiStateFlags(-1);
            mNavigationBarView.getRotationButtonController().onNavigationBarWindowVisibilityChange(
                    isNavBarWindowVisible());
            mNavigationBarView.setWindowVisible(isNavBarWindowVisible());
        }
    }

+5 −0
Original line number Diff line number Diff line
@@ -533,6 +533,11 @@ public class NavigationBarView extends FrameLayout implements
        return KeyButtonDrawable.create(mContext, icon, hasShadow);
    }

    public void setWindowVisible(boolean visible) {
        mTintController.setWindowVisible(visible);
        mRotationButtonController.onNavigationBarWindowVisibilityChange(visible);
    }

    @Override
    public void setLayoutDirection(int layoutDirection) {
        reloadNavIcons();