Fix isExpanded behavior for sensitive notifications
ENR#isExpanded returns true for sensitive notifications when the state is not shade. Expected behavior for isExpanded method for this case is to return false. In order to achieve this, we return false in isExpanded for sensitive notifications when the system set setHideSensitive true. Bug: 275457408 Test: atest ExpandableNotificationRowTest Change-Id: I8509e910dc0ce2e7b3796c5682bc6949dfa87b6b
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user