Hide footer for empty shade even if bubbles are present

Bubbles are counted as active notifications even if its shade notif is
hidden so we need to explicitly hide the footer when showing EmptyShadeView.

Fixes: 186037856
Test: have empty shade and bubble => footer hidden
Change-Id: Ia5798b9b3bd3f50a9028374941a8dd437365fcca
This commit is contained in:
Lyn Han
2021-06-11 17:29:51 -05:00
parent 49be55d145
commit 1e93f2a840
2 changed files with 4 additions and 0 deletions

View File

@@ -609,6 +609,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
mController.hasActiveClearableNotifications(ROWS_ALL);
RemoteInputController remoteInputController = mRemoteInputManager.getController();
boolean showFooterView = (showDismissView || mController.hasActiveNotifications())
&& mEmptyShadeView.getVisibility() == GONE
&& mStatusBarState != StatusBarState.KEYGUARD
&& !mUnlockedScreenOffAnimationController.isScreenOffAnimationPlaying()
&& (remoteInputController == null || !remoteInputController.isRemoteInputActive());

View File

@@ -17,6 +17,7 @@
package com.android.systemui.statusbar.notification.stack;
import static android.provider.Settings.Secure.NOTIFICATION_HISTORY_ENABLED;
import static android.view.View.GONE;
import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.ROWS_ALL;
import static com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.ROWS_GENTLE;
@@ -316,6 +317,7 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase {
public void testUpdateFooter_oneClearableNotification() {
setBarStateForTest(StatusBarState.SHADE);
when(mEmptyShadeView.getVisibility()).thenReturn(GONE);
when(mStackScrollLayoutController.hasActiveClearableNotifications(ROWS_ALL))
.thenReturn(true);
when(mStackScrollLayoutController.hasActiveNotifications()).thenReturn(true);
@@ -337,6 +339,7 @@ public class NotificationStackScrollLayoutTest extends SysuiTestCase {
when(mStackScrollLayoutController.hasActiveNotifications()).thenReturn(true);
when(mStackScrollLayoutController.hasActiveClearableNotifications(ROWS_ALL))
.thenReturn(false);
when(mEmptyShadeView.getVisibility()).thenReturn(GONE);
FooterView view = mock(FooterView.class);
mStackScroller.setFooterView(view);