summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Lyn Han <lynhan@google.com> 2021-01-15 13:27:38 -0600
committer Lyn Han <lynhan@google.com> 2021-01-16 19:34:13 -0600
commita515d831ea18fa2c5b5b267807da2d248d8511b6 (patch)
tree9c94cb4bfa13621cb2ae310de390d8e931bd5615
parentb1e9252d657bcc70c824eef8af86747efd9c9fa2 (diff)
Propagate shade open state from PanelBar to AmbientState
For use in deciding when to fade and clip notifications. Bug: 172289889 Test: manual Change-Id: I54d5ba582401ecdae7b3ec43ede89ad05eb33444
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java9
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java4
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java4
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java5
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java3
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java2
6 files changed, 27 insertions, 0 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java
index 2c501cbe9846..b5963ef443e7 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/AmbientState.java
@@ -77,6 +77,7 @@ public class AmbientState {
private Runnable mOnPulseHeightChangedListener;
private ExpandableNotificationRow mTrackedHeadsUpRow;
private float mAppearFraction;
+ private boolean mIsShadeOpening;
/** Tracks the state from AlertingNotificationManager#hasNotifications() */
private boolean mHasAlertEntries;
@@ -96,6 +97,14 @@ public class AmbientState {
mBaseZHeight = getBaseHeight(mZDistanceBetweenElements);
}
+ void setIsShadeOpening(boolean isOpening) {
+ mIsShadeOpening = isOpening;
+ }
+
+ public boolean isShadeOpening() {
+ return mIsShadeOpening;
+ }
+
private static int getZDistanceBetweenElements(Context context) {
return Math.max(1, context.getResources()
.getDimensionPixelSize(R.dimen.z_distance_between_notifications));
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
index 9e8385b8a61b..6abbc6bc2c36 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java
@@ -550,6 +550,10 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable
}
}
+ void setIsShadeOpening(boolean isOpening) {
+ mAmbientState.setIsShadeOpening(isOpening);
+ }
+
@Override
@ShadeViewRefactor(RefactorComponent.SHADE_VIEW)
protected void onFinishInflate() {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java
index e332f18ce183..e5121b03446f 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutController.java
@@ -271,6 +271,10 @@ public class NotificationStackScrollLayoutController {
}
};
+ public void setIsShadeOpening(boolean isOpening) {
+ mView.setIsShadeOpening(isOpening);
+ }
+
private final OnMenuEventListener mMenuEventListener = new OnMenuEventListener() {
@Override
public void onMenuClicked(
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
index ba08e76e6f66..615aee199129 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java
@@ -2412,6 +2412,11 @@ public class NotificationPanelViewController extends PanelViewController {
}
@Override
+ protected void setIsShadeOpening(boolean isOpening) {
+ mNotificationStackScrollLayoutController.setIsShadeOpening(isOpening);
+ }
+
+ @Override
protected void setOverExpansion(float overExpansion, boolean isPixels) {
if (mConflictingQsExpansionGesture || mQsExpandImmediate) {
return;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java
index c1065189f716..a1112dc37b50 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelBar.java
@@ -52,6 +52,9 @@ public abstract class PanelBar extends FrameLayout {
public void go(int state) {
if (DEBUG) LOG("go state: %d -> %d", mState, state);
mState = state;
+ if (mPanel != null) {
+ mPanel.setIsShadeOpening(state == STATE_OPENING);
+ }
}
@Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java
index 8ed971087508..8cf9100f2188 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelViewController.java
@@ -739,6 +739,8 @@ public abstract class PanelViewController {
*/
protected abstract boolean isTrackingBlocked();
+ protected abstract void setIsShadeOpening(boolean isShadeOpening);
+
protected abstract void setOverExpansion(float overExpansion, boolean isPixels);
protected abstract void onHeightUpdated(float expandedHeight);