Fix notification padding and slice collision
Slices should completely replace notifications,
they should never be visible at the same time.
Test: send notification, look at AOD
Change-Id: I14f04db1e4541a24f7b9117659e4c9481262aeff
Fixes: 73908553
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java
index 2adb286..b657ba7 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSliceView.java
@@ -72,6 +72,7 @@
private int mIconSize;
private Consumer<Boolean> mListener;
private boolean mHasHeader;
+ private boolean mHideContent;
public KeyguardSliceView(Context context) {
this(context, null, 0);
@@ -192,12 +193,16 @@
}
}
- final int visibility = mHasHeader || subItemsCount > 0 ? VISIBLE : GONE;
+ updateVisibility();
+ mListener.accept(mHasHeader);
+ }
+
+ private void updateVisibility() {
+ final boolean hasContent = mHasHeader || mRow.getChildCount() > 0;
+ final int visibility = hasContent && !mHideContent ? VISIBLE : GONE;
if (visibility != getVisibility()) {
setVisibility(visibility);
}
-
- mListener.accept(mHasHeader);
}
/**
@@ -321,6 +326,11 @@
updateTextColors();
}
+ public void setHideContent(boolean hideContent) {
+ mHideContent = hideContent;
+ updateVisibility();
+ }
+
/**
* Representation of an item that appears under the clock on main keyguard message.
*/
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java
index 3b5f34c..a3ffa40 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardStatusView.java
@@ -362,7 +362,7 @@
public void setPulsing(boolean pulsing) {
mPulsing = pulsing;
- mKeyguardSlice.setVisibility(pulsing ? INVISIBLE : VISIBLE);
+ mKeyguardSlice.setHideContent(pulsing);
onSliceContentChanged(mKeyguardSlice.hasHeader());
updateDozeVisibleViews();
}