summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Ibrahim Yilmaz <iyz@google.com> 2023-06-13 20:41:00 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-06-13 20:41:00 +0000
commit448e6a95d2f788b5271f5dfa627b2d698a42ecec (patch)
tree04c43735c203450babea60cd0eb5c79de3252837
parent9eca058e484b787b35a4a4f89bfb2372799c6061 (diff)
parentc4f298c72c2c89b4facb7ff9b5075db2b6badc91 (diff)
Merge "Fix isExpanded behavior for sensitive notifications" into udc-qpr-dev
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java9
-rw-r--r--packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowTest.java30
2 files changed, 38 insertions, 1 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java
index 9f397fe9ac0c..0bfd3c3c0b2b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRow.java
@@ -2673,7 +2673,12 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
}
public boolean isExpanded(boolean allowOnKeyguard) {
- return (!mOnKeyguard || allowOnKeyguard)
+ if (DEBUG) {
+ if (!mShowingPublicInitialized && !allowOnKeyguard) {
+ Log.d(TAG, "mShowingPublic is not initialized.");
+ }
+ }
+ return !mShowingPublic && (!mOnKeyguard || allowOnKeyguard)
&& (!hasUserChangedExpansion() && (isSystemExpanded() || isSystemChildExpanded())
|| isUserExpanded());
}
@@ -3620,6 +3625,8 @@ public class ExpandableNotificationRow extends ActivatableNotificationView
pw.print(", mOnUserInteractionCallback null: " + (mOnUserInteractionCallback == null));
pw.print(", removed: " + isRemoved());
pw.print(", expandAnimationRunning: " + mExpandAnimationRunning);
+ pw.print(", mShowingPublic: " + mShowingPublic);
+ pw.print(", mShowingPublicInitialized: " + mShowingPublicInitialized);
NotificationContentView showingLayout = getShowingLayout();
pw.print(", privateShowing: " + (showingLayout == mPrivateLayout));
pw.println();
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowTest.java
index 4c83194783ab..608778e05dad 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/ExpandableNotificationRowTest.java
@@ -733,6 +733,36 @@ public class ExpandableNotificationRowTest extends SysuiTestCase {
verify(lowPriVectorDrawable, times(1)).start();
}
+ @Test
+ public void isExpanded_hideSensitive_sensitiveNotExpanded()
+ throws Exception {
+ // GIVEN
+ final ExpandableNotificationRow row = mNotificationTestHelper.createRow();
+ row.setUserExpanded(true);
+ row.setOnKeyguard(false);
+ row.setSensitive(/* sensitive= */true, /* hideSensitive= */false);
+ row.setHideSensitive(/* hideSensitive= */true, /* animated= */false,
+ /* delay= */0L, /* duration= */0L);
+
+ // THEN
+ assertThat(row.isExpanded()).isFalse();
+ }
+
+ @Test
+ public void isExpanded_hideSensitive_nonSensitiveExpanded()
+ throws Exception {
+ // GIVEN
+ final ExpandableNotificationRow row = mNotificationTestHelper.createRow();
+ row.setUserExpanded(true);
+ row.setOnKeyguard(false);
+ row.setSensitive(/* sensitive= */true, /* hideSensitive= */false);
+ row.setHideSensitive(/* hideSensitive= */false, /* animated= */false,
+ /* delay= */0L, /* duration= */0L);
+
+ // THEN
+ assertThat(row.isExpanded()).isTrue();
+ }
+
private void setDrawableIconsInImageView(CachingIconView icon, Drawable iconDrawable,
Drawable rightIconDrawable) {
ImageView iconView = mock(ImageView.class);