Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -1152,7 +1152,6 @@ public class StatusBar extends SystemUI implements DemoMode, if (mBrightnessMirrorController != null) { if (mBrightnessMirrorController != null) { mBrightnessMirrorController.onDensityOrFontScaleChanged(); mBrightnessMirrorController.onDensityOrFontScaleChanged(); } } mStatusBarKeyguardViewManager.onDensityOrFontScaleChanged(); // TODO: Bring these out of StatusBar. // TODO: Bring these out of StatusBar. ((UserInfoControllerImpl) Dependency.get(UserInfoController.class)) ((UserInfoControllerImpl) Dependency.get(UserInfoController.class)) .onDensityOrFontScaleChanged(); .onDensityOrFontScaleChanged(); Loading Loading @@ -3949,6 +3948,7 @@ public class StatusBar extends SystemUI implements DemoMode, } } private void setPulsing(boolean pulsing) { private void setPulsing(boolean pulsing) { mStatusBarKeyguardViewManager.setPulsing(pulsing); mKeyguardViewMediator.setPulsing(pulsing); mKeyguardViewMediator.setPulsing(pulsing); mNotificationPanel.setPulsing(pulsing); mNotificationPanel.setPulsing(pulsing); mVisualStabilityManager.setPulsing(pulsing); mVisualStabilityManager.setPulsing(pulsing); Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +63 −3 Original line number Original line Diff line number Diff line Loading @@ -40,14 +40,18 @@ import com.android.keyguard.KeyguardUpdateMonitorCallback; import com.android.keyguard.ViewMediatorCallback; import com.android.keyguard.ViewMediatorCallback; import com.android.systemui.DejankUtils; import com.android.systemui.DejankUtils; import com.android.systemui.Dependency; import com.android.systemui.Dependency; import com.android.systemui.SysUiServiceProvider; import com.android.systemui.SystemUIFactory; import com.android.systemui.SystemUIFactory; import com.android.systemui.dock.DockManager; import com.android.systemui.keyguard.DismissCallbackRegistry; import com.android.systemui.keyguard.DismissCallbackRegistry; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.shared.system.QuickStepContract; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.RemoteInputController; import com.android.systemui.statusbar.RemoteInputController; import com.android.systemui.statusbar.SysuiStatusBarStateController; import com.android.systemui.statusbar.SysuiStatusBarStateController; import com.android.systemui.statusbar.phone.KeyguardBouncer.BouncerExpansionCallback; import com.android.systemui.statusbar.phone.KeyguardBouncer.BouncerExpansionCallback; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.KeyguardMonitor; import com.android.systemui.statusbar.policy.KeyguardMonitor; import com.android.systemui.statusbar.policy.KeyguardMonitorImpl; import com.android.systemui.statusbar.policy.KeyguardMonitorImpl; Loading @@ -61,7 +65,7 @@ import java.util.ArrayList; * {@link com.android.keyguard.KeyguardViewBase}. * {@link com.android.keyguard.KeyguardViewBase}. */ */ public class StatusBarKeyguardViewManager implements RemoteInputController.Callback, public class StatusBarKeyguardViewManager implements RemoteInputController.Callback, StatusBarStateController.StateListener { StatusBarStateController.StateListener, ConfigurationController.ConfigurationListener { // When hiding the Keyguard with timing supplied from WindowManager, better be early than late. // When hiding the Keyguard with timing supplied from WindowManager, better be early than late. private static final long HIDE_TIMING_CORRECTION_MS = - 16 * 3; private static final long HIDE_TIMING_CORRECTION_MS = - 16 * 3; Loading Loading @@ -105,6 +109,18 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb mNotificationPanelView.updateLockIcon(); mNotificationPanelView.updateLockIcon(); } } }; }; private final DockManager.DockEventListener mDockEventListener = new DockManager.DockEventListener() { @Override public void onEvent(int event) { boolean isDocked = mDockManager.isDocked(); if (isDocked == mIsDocked) { return; } mIsDocked = isDocked; updateStates(); } }; protected LockPatternUtils mLockPatternUtils; protected LockPatternUtils mLockPatternUtils; protected ViewMediatorCallback mViewMediatorCallback; protected ViewMediatorCallback mViewMediatorCallback; Loading @@ -119,6 +135,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb protected boolean mOccluded; protected boolean mOccluded; protected boolean mRemoteInputActive; protected boolean mRemoteInputActive; private boolean mDozing; private boolean mDozing; private boolean mPulsing; private boolean mGesturalNav; private boolean mIsDocked; protected boolean mFirstUpdate = true; protected boolean mFirstUpdate = true; protected boolean mLastShowing; protected boolean mLastShowing; Loading @@ -127,6 +146,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb private boolean mLastBouncerDismissible; private boolean mLastBouncerDismissible; protected boolean mLastRemoteInputActive; protected boolean mLastRemoteInputActive; private boolean mLastDozing; private boolean mLastDozing; private boolean mLastGesturalNav; private boolean mLastIsDocked; private boolean mLastPulsing; private int mLastBiometricMode; private int mLastBiometricMode; private boolean mGoingToSleepVisibleNotOccluded; private boolean mGoingToSleepVisibleNotOccluded; Loading @@ -139,6 +161,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb (KeyguardMonitorImpl) Dependency.get(KeyguardMonitor.class); (KeyguardMonitorImpl) Dependency.get(KeyguardMonitor.class); private final NotificationMediaManager mMediaManager = private final NotificationMediaManager mMediaManager = Dependency.get(NotificationMediaManager.class); Dependency.get(NotificationMediaManager.class); private final DockManager mDockManager; private final KeyguardUpdateMonitorCallback mUpdateMonitorCallback = private final KeyguardUpdateMonitorCallback mUpdateMonitorCallback = new KeyguardUpdateMonitorCallback() { new KeyguardUpdateMonitorCallback() { Loading @@ -159,8 +182,15 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb mViewMediatorCallback = callback; mViewMediatorCallback = callback; mLockPatternUtils = lockPatternUtils; mLockPatternUtils = lockPatternUtils; mStatusBarWindowController = Dependency.get(StatusBarWindowController.class); mStatusBarWindowController = Dependency.get(StatusBarWindowController.class); mGesturalNav = QuickStepContract.isGesturalMode(context); KeyguardUpdateMonitor.getInstance(context).registerCallback(mUpdateMonitorCallback); KeyguardUpdateMonitor.getInstance(context).registerCallback(mUpdateMonitorCallback); Dependency.get(StatusBarStateController.class).addCallback(this); Dependency.get(StatusBarStateController.class).addCallback(this); Dependency.get(ConfigurationController.class).addCallback(this); mDockManager = SysUiServiceProvider.getComponent(context, DockManager.class); if (mDockManager != null) { mDockManager.addListener(mDockEventListener); mIsDocked = mDockManager.isDocked(); } } } public void registerStatusBar(StatusBar statusBar, public void registerStatusBar(StatusBar statusBar, Loading Loading @@ -241,6 +271,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb } } private void hideBouncer(boolean destroyView) { private void hideBouncer(boolean destroyView) { if (mBouncer == null) { return; } mBouncer.hide(destroyView); mBouncer.hide(destroyView); cancelPendingWakeupAction(); cancelPendingWakeupAction(); } } Loading Loading @@ -354,6 +387,16 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb } } } } /** * If {@link StatusBar} is pulsing. */ public void setPulsing(boolean pulsing) { if (mPulsing != pulsing) { mPulsing = pulsing; updateStates(); } } public void setNeedsInput(boolean needsInput) { public void setNeedsInput(boolean needsInput) { mStatusBarWindowController.setKeyguardNeedsInput(needsInput); mStatusBarWindowController.setKeyguardNeedsInput(needsInput); } } Loading Loading @@ -492,10 +535,20 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb StatsLog.KEYGUARD_STATE_CHANGED__STATE__HIDDEN); StatsLog.KEYGUARD_STATE_CHANGED__STATE__HIDDEN); } } @Override public void onDensityOrFontScaleChanged() { public void onDensityOrFontScaleChanged() { hideBouncer(true /* destroyView */); hideBouncer(true /* destroyView */); } } @Override public void onOverlayChanged() { boolean gesturalNav = QuickStepContract.isGesturalMode(mContext); if (gesturalNav != mGesturalNav) { mGesturalNav = gesturalNav; updateStates(); } } public void onThemeChanged() { public void onThemeChanged() { hideBouncer(true /* destroyView */); hideBouncer(true /* destroyView */); mBouncer.prepare(); mBouncer.prepare(); Loading Loading @@ -643,7 +696,10 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb mLastBouncerDismissible = bouncerDismissible; mLastBouncerDismissible = bouncerDismissible; mLastRemoteInputActive = remoteInputActive; mLastRemoteInputActive = remoteInputActive; mLastDozing = mDozing; mLastDozing = mDozing; mLastPulsing = mPulsing; mLastBiometricMode = mBiometricUnlockController.getMode(); mLastBiometricMode = mBiometricUnlockController.getMode(); mLastGesturalNav = mGesturalNav; mLastIsDocked = mIsDocked; mStatusBar.onKeyguardViewManagerStatesUpdated(); mStatusBar.onKeyguardViewManagerStatesUpdated(); } } Loading Loading @@ -671,8 +727,10 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb int biometricMode = mBiometricUnlockController.getMode(); int biometricMode = mBiometricUnlockController.getMode(); boolean keyguardShowing = mShowing && !mOccluded; boolean keyguardShowing = mShowing && !mOccluded; boolean hideWhileDozing = mDozing && biometricMode != MODE_WAKE_AND_UNLOCK_PULSING; boolean hideWhileDozing = mDozing && biometricMode != MODE_WAKE_AND_UNLOCK_PULSING; boolean keyguardWithGestureNav = (keyguardShowing && !mDozing || mPulsing && !mIsDocked) && mGesturalNav; return (!keyguardShowing && !hideWhileDozing || mBouncer.isShowing() return (!keyguardShowing && !hideWhileDozing || mBouncer.isShowing() || mRemoteInputActive); || mRemoteInputActive || keyguardWithGestureNav); } } /** /** Loading @@ -681,8 +739,10 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb protected boolean getLastNavBarVisible() { protected boolean getLastNavBarVisible() { boolean keyguardShowing = mLastShowing && !mLastOccluded; boolean keyguardShowing = mLastShowing && !mLastOccluded; boolean hideWhileDozing = mLastDozing && mLastBiometricMode != MODE_WAKE_AND_UNLOCK_PULSING; boolean hideWhileDozing = mLastDozing && mLastBiometricMode != MODE_WAKE_AND_UNLOCK_PULSING; boolean keyguardWithGestureNav = (keyguardShowing && !mLastDozing || mLastPulsing && !mLastIsDocked) && mLastGesturalNav; return (!keyguardShowing && !hideWhileDozing || mLastBouncerShowing return (!keyguardShowing && !hideWhileDozing || mLastBouncerShowing || mLastRemoteInputActive); || mLastRemoteInputActive || keyguardWithGestureNav); } } public boolean shouldDismissOnMenuPressed() { public boolean shouldDismissOnMenuPressed() { Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java +1 −1 Original line number Original line Diff line number Diff line Loading @@ -1152,7 +1152,6 @@ public class StatusBar extends SystemUI implements DemoMode, if (mBrightnessMirrorController != null) { if (mBrightnessMirrorController != null) { mBrightnessMirrorController.onDensityOrFontScaleChanged(); mBrightnessMirrorController.onDensityOrFontScaleChanged(); } } mStatusBarKeyguardViewManager.onDensityOrFontScaleChanged(); // TODO: Bring these out of StatusBar. // TODO: Bring these out of StatusBar. ((UserInfoControllerImpl) Dependency.get(UserInfoController.class)) ((UserInfoControllerImpl) Dependency.get(UserInfoController.class)) .onDensityOrFontScaleChanged(); .onDensityOrFontScaleChanged(); Loading Loading @@ -3949,6 +3948,7 @@ public class StatusBar extends SystemUI implements DemoMode, } } private void setPulsing(boolean pulsing) { private void setPulsing(boolean pulsing) { mStatusBarKeyguardViewManager.setPulsing(pulsing); mKeyguardViewMediator.setPulsing(pulsing); mKeyguardViewMediator.setPulsing(pulsing); mNotificationPanel.setPulsing(pulsing); mNotificationPanel.setPulsing(pulsing); mVisualStabilityManager.setPulsing(pulsing); mVisualStabilityManager.setPulsing(pulsing); Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java +63 −3 Original line number Original line Diff line number Diff line Loading @@ -40,14 +40,18 @@ import com.android.keyguard.KeyguardUpdateMonitorCallback; import com.android.keyguard.ViewMediatorCallback; import com.android.keyguard.ViewMediatorCallback; import com.android.systemui.DejankUtils; import com.android.systemui.DejankUtils; import com.android.systemui.Dependency; import com.android.systemui.Dependency; import com.android.systemui.SysUiServiceProvider; import com.android.systemui.SystemUIFactory; import com.android.systemui.SystemUIFactory; import com.android.systemui.dock.DockManager; import com.android.systemui.keyguard.DismissCallbackRegistry; import com.android.systemui.keyguard.DismissCallbackRegistry; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.plugins.statusbar.StatusBarStateController; import com.android.systemui.shared.system.QuickStepContract; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.CommandQueue; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.NotificationMediaManager; import com.android.systemui.statusbar.RemoteInputController; import com.android.systemui.statusbar.RemoteInputController; import com.android.systemui.statusbar.SysuiStatusBarStateController; import com.android.systemui.statusbar.SysuiStatusBarStateController; import com.android.systemui.statusbar.phone.KeyguardBouncer.BouncerExpansionCallback; import com.android.systemui.statusbar.phone.KeyguardBouncer.BouncerExpansionCallback; import com.android.systemui.statusbar.policy.ConfigurationController; import com.android.systemui.statusbar.policy.KeyguardMonitor; import com.android.systemui.statusbar.policy.KeyguardMonitor; import com.android.systemui.statusbar.policy.KeyguardMonitorImpl; import com.android.systemui.statusbar.policy.KeyguardMonitorImpl; Loading @@ -61,7 +65,7 @@ import java.util.ArrayList; * {@link com.android.keyguard.KeyguardViewBase}. * {@link com.android.keyguard.KeyguardViewBase}. */ */ public class StatusBarKeyguardViewManager implements RemoteInputController.Callback, public class StatusBarKeyguardViewManager implements RemoteInputController.Callback, StatusBarStateController.StateListener { StatusBarStateController.StateListener, ConfigurationController.ConfigurationListener { // When hiding the Keyguard with timing supplied from WindowManager, better be early than late. // When hiding the Keyguard with timing supplied from WindowManager, better be early than late. private static final long HIDE_TIMING_CORRECTION_MS = - 16 * 3; private static final long HIDE_TIMING_CORRECTION_MS = - 16 * 3; Loading Loading @@ -105,6 +109,18 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb mNotificationPanelView.updateLockIcon(); mNotificationPanelView.updateLockIcon(); } } }; }; private final DockManager.DockEventListener mDockEventListener = new DockManager.DockEventListener() { @Override public void onEvent(int event) { boolean isDocked = mDockManager.isDocked(); if (isDocked == mIsDocked) { return; } mIsDocked = isDocked; updateStates(); } }; protected LockPatternUtils mLockPatternUtils; protected LockPatternUtils mLockPatternUtils; protected ViewMediatorCallback mViewMediatorCallback; protected ViewMediatorCallback mViewMediatorCallback; Loading @@ -119,6 +135,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb protected boolean mOccluded; protected boolean mOccluded; protected boolean mRemoteInputActive; protected boolean mRemoteInputActive; private boolean mDozing; private boolean mDozing; private boolean mPulsing; private boolean mGesturalNav; private boolean mIsDocked; protected boolean mFirstUpdate = true; protected boolean mFirstUpdate = true; protected boolean mLastShowing; protected boolean mLastShowing; Loading @@ -127,6 +146,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb private boolean mLastBouncerDismissible; private boolean mLastBouncerDismissible; protected boolean mLastRemoteInputActive; protected boolean mLastRemoteInputActive; private boolean mLastDozing; private boolean mLastDozing; private boolean mLastGesturalNav; private boolean mLastIsDocked; private boolean mLastPulsing; private int mLastBiometricMode; private int mLastBiometricMode; private boolean mGoingToSleepVisibleNotOccluded; private boolean mGoingToSleepVisibleNotOccluded; Loading @@ -139,6 +161,7 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb (KeyguardMonitorImpl) Dependency.get(KeyguardMonitor.class); (KeyguardMonitorImpl) Dependency.get(KeyguardMonitor.class); private final NotificationMediaManager mMediaManager = private final NotificationMediaManager mMediaManager = Dependency.get(NotificationMediaManager.class); Dependency.get(NotificationMediaManager.class); private final DockManager mDockManager; private final KeyguardUpdateMonitorCallback mUpdateMonitorCallback = private final KeyguardUpdateMonitorCallback mUpdateMonitorCallback = new KeyguardUpdateMonitorCallback() { new KeyguardUpdateMonitorCallback() { Loading @@ -159,8 +182,15 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb mViewMediatorCallback = callback; mViewMediatorCallback = callback; mLockPatternUtils = lockPatternUtils; mLockPatternUtils = lockPatternUtils; mStatusBarWindowController = Dependency.get(StatusBarWindowController.class); mStatusBarWindowController = Dependency.get(StatusBarWindowController.class); mGesturalNav = QuickStepContract.isGesturalMode(context); KeyguardUpdateMonitor.getInstance(context).registerCallback(mUpdateMonitorCallback); KeyguardUpdateMonitor.getInstance(context).registerCallback(mUpdateMonitorCallback); Dependency.get(StatusBarStateController.class).addCallback(this); Dependency.get(StatusBarStateController.class).addCallback(this); Dependency.get(ConfigurationController.class).addCallback(this); mDockManager = SysUiServiceProvider.getComponent(context, DockManager.class); if (mDockManager != null) { mDockManager.addListener(mDockEventListener); mIsDocked = mDockManager.isDocked(); } } } public void registerStatusBar(StatusBar statusBar, public void registerStatusBar(StatusBar statusBar, Loading Loading @@ -241,6 +271,9 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb } } private void hideBouncer(boolean destroyView) { private void hideBouncer(boolean destroyView) { if (mBouncer == null) { return; } mBouncer.hide(destroyView); mBouncer.hide(destroyView); cancelPendingWakeupAction(); cancelPendingWakeupAction(); } } Loading Loading @@ -354,6 +387,16 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb } } } } /** * If {@link StatusBar} is pulsing. */ public void setPulsing(boolean pulsing) { if (mPulsing != pulsing) { mPulsing = pulsing; updateStates(); } } public void setNeedsInput(boolean needsInput) { public void setNeedsInput(boolean needsInput) { mStatusBarWindowController.setKeyguardNeedsInput(needsInput); mStatusBarWindowController.setKeyguardNeedsInput(needsInput); } } Loading Loading @@ -492,10 +535,20 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb StatsLog.KEYGUARD_STATE_CHANGED__STATE__HIDDEN); StatsLog.KEYGUARD_STATE_CHANGED__STATE__HIDDEN); } } @Override public void onDensityOrFontScaleChanged() { public void onDensityOrFontScaleChanged() { hideBouncer(true /* destroyView */); hideBouncer(true /* destroyView */); } } @Override public void onOverlayChanged() { boolean gesturalNav = QuickStepContract.isGesturalMode(mContext); if (gesturalNav != mGesturalNav) { mGesturalNav = gesturalNav; updateStates(); } } public void onThemeChanged() { public void onThemeChanged() { hideBouncer(true /* destroyView */); hideBouncer(true /* destroyView */); mBouncer.prepare(); mBouncer.prepare(); Loading Loading @@ -643,7 +696,10 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb mLastBouncerDismissible = bouncerDismissible; mLastBouncerDismissible = bouncerDismissible; mLastRemoteInputActive = remoteInputActive; mLastRemoteInputActive = remoteInputActive; mLastDozing = mDozing; mLastDozing = mDozing; mLastPulsing = mPulsing; mLastBiometricMode = mBiometricUnlockController.getMode(); mLastBiometricMode = mBiometricUnlockController.getMode(); mLastGesturalNav = mGesturalNav; mLastIsDocked = mIsDocked; mStatusBar.onKeyguardViewManagerStatesUpdated(); mStatusBar.onKeyguardViewManagerStatesUpdated(); } } Loading Loading @@ -671,8 +727,10 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb int biometricMode = mBiometricUnlockController.getMode(); int biometricMode = mBiometricUnlockController.getMode(); boolean keyguardShowing = mShowing && !mOccluded; boolean keyguardShowing = mShowing && !mOccluded; boolean hideWhileDozing = mDozing && biometricMode != MODE_WAKE_AND_UNLOCK_PULSING; boolean hideWhileDozing = mDozing && biometricMode != MODE_WAKE_AND_UNLOCK_PULSING; boolean keyguardWithGestureNav = (keyguardShowing && !mDozing || mPulsing && !mIsDocked) && mGesturalNav; return (!keyguardShowing && !hideWhileDozing || mBouncer.isShowing() return (!keyguardShowing && !hideWhileDozing || mBouncer.isShowing() || mRemoteInputActive); || mRemoteInputActive || keyguardWithGestureNav); } } /** /** Loading @@ -681,8 +739,10 @@ public class StatusBarKeyguardViewManager implements RemoteInputController.Callb protected boolean getLastNavBarVisible() { protected boolean getLastNavBarVisible() { boolean keyguardShowing = mLastShowing && !mLastOccluded; boolean keyguardShowing = mLastShowing && !mLastOccluded; boolean hideWhileDozing = mLastDozing && mLastBiometricMode != MODE_WAKE_AND_UNLOCK_PULSING; boolean hideWhileDozing = mLastDozing && mLastBiometricMode != MODE_WAKE_AND_UNLOCK_PULSING; boolean keyguardWithGestureNav = (keyguardShowing && !mLastDozing || mLastPulsing && !mLastIsDocked) && mLastGesturalNav; return (!keyguardShowing && !hideWhileDozing || mLastBouncerShowing return (!keyguardShowing && !hideWhileDozing || mLastBouncerShowing || mLastRemoteInputActive); || mLastRemoteInputActive || keyguardWithGestureNav); } } public boolean shouldDismissOnMenuPressed() { public boolean shouldDismissOnMenuPressed() { Loading