diff options
| author | 2021-06-22 15:45:17 +0200 | |
|---|---|---|
| committer | 2021-06-23 10:43:28 +0200 | |
| commit | 90dbb8f6aefb02e09591db621c39a19761a4485d (patch) | |
| tree | 17123a8aae7a3dfa56976f8f7bbf8a9b879c8343 | |
| parent | adc3f0b6c176ff78f13fbf6e25453fb6739b6333 (diff) | |
Added some logging for removal animations
Also fixes an issue which could possibly lead to no animation
when a view updated with heads up just exactly when the user dismissed
it.
Bug: 187291379
Test: dismiss notification, observe new logs
Change-Id: I6cb93c945a53031ca1a872e28be72883c1b0028d
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java | 26 |
1 files changed, 24 insertions, 2 deletions
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 f90b4c079c50..b5c684291f48 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 @@ -137,6 +137,9 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable // adb shell setprop persist.debug.nssl true && adb reboot private static final boolean DEBUG = SystemProperties.getBoolean("persist.debug.nssl", false /* default */); + // TODO(b/187291379) disable again before release + private static final boolean DEBUG_REMOVE_ANIMATION = SystemProperties.getBoolean( + "persist.debug.nssl.dismiss", true /* default */); private static final float RUBBER_BAND_FACTOR_NORMAL = 0.35f; private static final float RUBBER_BAND_FACTOR_AFTER_EXPAND = 0.15f; @@ -2575,7 +2578,17 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable */ @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER) boolean generateRemoveAnimation(ExpandableView child) { + String key = ""; + if (DEBUG_REMOVE_ANIMATION) { + if (child instanceof ExpandableNotificationRow) { + key = ((ExpandableNotificationRow) child).getEntry().getKey(); + } + Log.d(TAG, "generateRemoveAnimation " + key); + } if (removeRemovedChildFromHeadsUpChangeAnimations(child)) { + if (DEBUG_REMOVE_ANIMATION) { + Log.d(TAG, "removedBecauseOfHeadsUp " + key); + } mAddedHeadsUpChildren.remove(child); return false; } @@ -2584,8 +2597,17 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable mClearTransientViewsWhenFinished.add(child); return true; } + if (DEBUG_REMOVE_ANIMATION) { + Log.d(TAG, "generateRemove " + key + + "\nmIsExpanded " + mIsExpanded + + "\nmAnimationsEnabled " + mAnimationsEnabled + + "\n!invisible group " + !isChildInInvisibleGroup(child)); + } if (mIsExpanded && mAnimationsEnabled && !isChildInInvisibleGroup(child)) { if (!mChildrenToAddAnimated.contains(child)) { + if (DEBUG_REMOVE_ANIMATION) { + Log.d(TAG, "needsAnimation = true " + key); + } // Generate Animations mChildrenToRemoveAnimated.add(child); mNeedsAnimation = true; @@ -2607,7 +2629,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable /** * Remove a removed child view from the heads up animations if it was just added there * - * @return whether any child was removed from the list to animate + * @return whether any child was removed from the list to animate and the view was just added */ @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER) private boolean removeRemovedChildFromHeadsUpChangeAnimations(View child) { @@ -2626,7 +2648,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable ((ExpandableNotificationRow) child).setHeadsUpAnimatingAway(false); } mTmpList.clear(); - return hasAddEvent; + return hasAddEvent && mAddedHeadsUpChildren.contains(child); } // TODO (b/162832756): remove since this won't happen in new pipeline (we prune groups in |