Merge "Fix isExpanded behavior for sensitive notifications" into udc-qpr-dev

This commit is contained in:
Ibrahim Yilmaz
2023-06-13 20:41:00 +00:00
committed by Android (Google) Code Review
2 changed files with 38 additions and 1 deletions

View File

@@ -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();

View File

@@ -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);