Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/NavBarTintController.java +8 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 Loading Loading @@ -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; } Loading @@ -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) { Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java +2 −2 Original line number Diff line number Diff line Loading @@ -322,6 +322,7 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback mNavigationBarView.getLightTransitionsController().restoreState(savedInstanceState); } mNavigationBarView.setNavigationIconHints(mNavigationIconHints); mNavigationBarView.setWindowVisible(isNavBarWindowVisible()); prepareNavigationBarView(); checkNavBarModes(); Loading Loading @@ -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()); } } Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java +5 −0 Original line number Diff line number Diff line Loading @@ -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(); Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/NavBarTintController.java +8 −1 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 Loading Loading @@ -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; } Loading @@ -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) { Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java +2 −2 Original line number Diff line number Diff line Loading @@ -322,6 +322,7 @@ public class NavigationBarFragment extends LifecycleFragment implements Callback mNavigationBarView.getLightTransitionsController().restoreState(savedInstanceState); } mNavigationBarView.setNavigationIconHints(mNavigationIconHints); mNavigationBarView.setWindowVisible(isNavBarWindowVisible()); prepareNavigationBarView(); checkNavBarModes(); Loading Loading @@ -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()); } } Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java +5 −0 Original line number Diff line number Diff line Loading @@ -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(); Loading