Merge "Dump all of AmbientState & NSSL height/padding" into tm-dev
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationUtils.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationUtils.java
index 7cfb157..fb71210 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationUtils.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationUtils.java
@@ -25,6 +25,7 @@
import com.android.internal.util.ContrastColorUtil;
import com.android.systemui.R;
import com.android.systemui.statusbar.notification.collection.ListEntry;
+import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.util.Compile;
/**
@@ -89,6 +90,11 @@
}
}
+ /** Get the notification key, reformatted for logging, for the (optional) row */
+ public static String logKey(ExpandableNotificationRow row) {
+ return row == null ? "null" : logKey(row.getEntry());
+ }
+
/** Removes newlines from the notification key to prettify apps that have these in the tag */
public static String logKey(String key) {
if (key == null) {
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 9acd60e..ea28452 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
@@ -16,13 +16,17 @@
package com.android.systemui.statusbar.notification.stack;
+import static com.android.systemui.statusbar.notification.NotificationUtils.logKey;
+
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.content.Context;
import android.util.MathUtils;
+import com.android.systemui.Dumpable;
import com.android.systemui.R;
import com.android.systemui.dagger.SysUISingleton;
+import com.android.systemui.dump.DumpManager;
import com.android.systemui.statusbar.NotificationShelf;
import com.android.systemui.statusbar.StatusBarState;
import com.android.systemui.statusbar.notification.collection.NotificationEntry;
@@ -33,13 +37,15 @@
import com.android.systemui.statusbar.notification.stack.StackScrollAlgorithm.SectionProvider;
import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
+import java.io.PrintWriter;
+
import javax.inject.Inject;
/**
* A global state to track all input states for the algorithm.
*/
@SysUISingleton
-public class AmbientState {
+public class AmbientState implements Dumpable {
private static final float MAX_PULSE_HEIGHT = 100000f;
private static final boolean NOTIFICATIONS_HAVE_SHADOWS = false;
@@ -224,7 +230,8 @@
@Inject
public AmbientState(
- Context context,
+ @NonNull Context context,
+ @NonNull DumpManager dumpManager,
@NonNull SectionProvider sectionProvider,
@NonNull BypassController bypassController,
@Nullable StatusBarKeyguardViewManager statusBarKeyguardViewManager) {
@@ -232,6 +239,7 @@
mBypassController = bypassController;
mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
reload(context);
+ dumpManager.registerDumpable(this);
}
/**
@@ -695,4 +703,49 @@
return mStatusBarKeyguardViewManager != null
&& mStatusBarKeyguardViewManager.isBouncerInTransit();
}
+
+ @Override
+ public void dump(PrintWriter pw, String[] args) {
+ pw.println("mTopPadding=" + mTopPadding);
+ pw.println("mStackTopMargin=" + mStackTopMargin);
+ pw.println("mStackTranslation=" + mStackTranslation);
+ pw.println("mLayoutMinHeight=" + mLayoutMinHeight);
+ pw.println("mLayoutMaxHeight=" + mLayoutMaxHeight);
+ pw.println("mLayoutHeight=" + mLayoutHeight);
+ pw.println("mContentHeight=" + mContentHeight);
+ pw.println("mHideSensitive=" + mHideSensitive);
+ pw.println("mShadeExpanded=" + mShadeExpanded);
+ pw.println("mClearAllInProgress=" + mClearAllInProgress);
+ pw.println("mDimmed=" + mDimmed);
+ pw.println("mStatusBarState=" + mStatusBarState);
+ pw.println("mExpansionChanging=" + mExpansionChanging);
+ pw.println("mPanelFullWidth=" + mPanelFullWidth);
+ pw.println("mPulsing=" + mPulsing);
+ pw.println("mPulseHeight=" + mPulseHeight);
+ pw.println("mTrackedHeadsUpRow.key=" + logKey(mTrackedHeadsUpRow));
+ pw.println("mMaxHeadsUpTranslation=" + mMaxHeadsUpTranslation);
+ pw.println("mUnlockHintRunning=" + mUnlockHintRunning);
+ pw.println("mDozeAmount=" + mDozeAmount);
+ pw.println("mDozing=" + mDozing);
+ pw.println("mFractionToShade=" + mFractionToShade);
+ pw.println("mHideAmount=" + mHideAmount);
+ pw.println("mAppearFraction=" + mAppearFraction);
+ pw.println("mAppearing=" + mAppearing);
+ pw.println("mExpansionFraction=" + mExpansionFraction);
+ pw.println("mExpandingVelocity=" + mExpandingVelocity);
+ pw.println("mOverScrollTopAmount=" + mOverScrollTopAmount);
+ pw.println("mOverScrollBottomAmount=" + mOverScrollBottomAmount);
+ pw.println("mOverExpansion=" + mOverExpansion);
+ pw.println("mStackHeight=" + mStackHeight);
+ pw.println("mStackEndHeight=" + mStackEndHeight);
+ pw.println("mStackY=" + mStackY);
+ pw.println("mScrollY=" + mScrollY);
+ pw.println("mCurrentScrollVelocity=" + mCurrentScrollVelocity);
+ pw.println("mIsSwipingUp=" + mIsSwipingUp);
+ pw.println("mPanelTracking=" + mPanelTracking);
+ pw.println("mIsFlinging=" + mIsFlinging);
+ pw.println("mNeedFlingAfterLockscreenSwipeUp=" + mNeedFlingAfterLockscreenSwipeUp);
+ pw.println("mZDistanceBetweenElements=" + mZDistanceBetweenElements);
+ pw.println("mBaseZHeight=" + mBaseZHeight);
+ }
}
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 ed1e78f..c9d70d1 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
@@ -5067,6 +5067,12 @@
.append(" isCurrentUserSetup=").append(mIsCurrentUserSetup)
.append(" hideAmount=").append(mAmbientState.getHideAmount())
.append(" ambientStateSwipingUp=").append(mAmbientState.isSwipingUp())
+ .append(" maxDisplayedNotifications=").append(mMaxDisplayedNotifications)
+ .append(" intrinsicContentHeight=").append(mIntrinsicContentHeight)
+ .append(" contentHeight=").append(mContentHeight)
+ .append(" intrinsicPadding=").append(mIntrinsicPadding)
+ .append(" topPadding=").append(mTopPadding)
+ .append(" bottomPadding=").append(mBottomPadding)
.append("]");
pw.println(sb.toString());
DumpUtilsKt.withIncreasedIndent(pw, () -> {
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java
index 9961aae..f5fe6f3 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayoutTest.java
@@ -57,6 +57,7 @@
import com.android.systemui.ExpandHelper;
import com.android.systemui.R;
import com.android.systemui.SysuiTestCase;
+import com.android.systemui.dump.DumpManager;
import com.android.systemui.statusbar.EmptyShadeView;
import com.android.systemui.statusbar.NotificationShelf;
import com.android.systemui.statusbar.NotificationShelfController;
@@ -101,6 +102,7 @@
@Mock private SysuiStatusBarStateController mBarState;
@Mock private NotificationGroupManagerLegacy mGroupMembershipManger;
@Mock private NotificationGroupManagerLegacy mGroupExpansionManager;
+ @Mock private DumpManager mDumpManager;
@Mock private ExpandHelper mExpandHelper;
@Mock private EmptyShadeView mEmptyShadeView;
@Mock private NotificationRoundnessManager mNotificationRoundnessManager;
@@ -120,7 +122,11 @@
allowTestableLooperAsMainThread();
// Interact with real instance of AmbientState.
- mAmbientState = new AmbientState(mContext, mNotificationSectionsManager, mBypassController,
+ mAmbientState = new AmbientState(
+ mContext,
+ mDumpManager,
+ mNotificationSectionsManager,
+ mBypassController,
mStatusBarKeyguardViewManager);
// Inject dependencies before initializing the layout
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmTest.kt b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmTest.kt
index 668f752..275dbfd 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/StackScrollAlgorithmTest.kt
@@ -5,6 +5,7 @@
import androidx.test.filters.SmallTest
import com.android.systemui.R
import com.android.systemui.SysuiTestCase
+import com.android.systemui.dump.DumpManager
import com.android.systemui.statusbar.EmptyShadeView
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow
import com.android.systemui.statusbar.notification.row.ExpandableView
@@ -26,10 +27,12 @@
private val stackScrollAlgorithm = StackScrollAlgorithm(context, hostView)
private val expandableViewState = ExpandableViewState()
private val notificationRow = mock(ExpandableNotificationRow::class.java)
+ private val dumpManager = mock(DumpManager::class.java)
private val mStatusBarKeyguardViewManager = mock(StatusBarKeyguardViewManager::class.java)
private val ambientState = AmbientState(
context,
+ dumpManager,
SectionProvider { _, _ -> false },
BypassController { false },
mStatusBarKeyguardViewManager
@@ -126,7 +129,7 @@
val expandableViewState = ExpandableViewState()
expandableViewState.yTranslation = viewStart
- stackScrollAlgorithm.updateViewWithShelf(expandableView, expandableViewState, shelfStart);
+ stackScrollAlgorithm.updateViewWithShelf(expandableView, expandableViewState, shelfStart)
assertFalse(expandableViewState.hidden)
}
@@ -142,7 +145,7 @@
val expandableViewState = ExpandableViewState()
expandableViewState.yTranslation = viewStart
- stackScrollAlgorithm.updateViewWithShelf(expandableView, expandableViewState, shelfStart);
+ stackScrollAlgorithm.updateViewWithShelf(expandableView, expandableViewState, shelfStart)
assertTrue(expandableViewState.hidden)
}
@@ -158,7 +161,7 @@
val expandableViewState = ExpandableViewState()
expandableViewState.yTranslation = viewStart
- stackScrollAlgorithm.updateViewWithShelf(expandableView, expandableViewState, shelfStart);
+ stackScrollAlgorithm.updateViewWithShelf(expandableView, expandableViewState, shelfStart)
assertFalse(expandableViewState.hidden)
}
}