Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotificationEntry.java +7 −4 Original line number Diff line number Diff line Loading @@ -71,6 +71,7 @@ import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow import com.android.systemui.statusbar.notification.row.ExpandableNotificationRowController; import com.android.systemui.statusbar.notification.row.NotificationGuts; import com.android.systemui.statusbar.notification.stack.PriorityBucket; import com.android.systemui.util.ListenerSet; import java.util.ArrayList; import java.util.List; Loading Loading @@ -163,7 +164,8 @@ public final class NotificationEntry extends ListEntry { private boolean hasSentReply; private boolean mSensitive = true; private List<OnSensitivityChangedListener> mOnSensitivityChangedListeners = new ArrayList<>(); private ListenerSet<OnSensitivityChangedListener> mOnSensitivityChangedListeners = new ListenerSet<>(); private boolean mAutoHeadsUp; private boolean mPulseSupressed; Loading Loading @@ -932,8 +934,9 @@ public final class NotificationEntry extends ListEntry { getRow().setSensitive(sensitive, deviceSensitive); if (sensitive != mSensitive) { mSensitive = sensitive; for (int i = 0; i < mOnSensitivityChangedListeners.size(); i++) { mOnSensitivityChangedListeners.get(i).onSensitivityChanged(this); for (NotificationEntry.OnSensitivityChangedListener listener : mOnSensitivityChangedListeners) { listener.onSensitivityChanged(this); } } } Loading @@ -944,7 +947,7 @@ public final class NotificationEntry extends ListEntry { /** Add a listener to be notified when the entry's sensitivity changes. */ public void addOnSensitivityChangedListener(OnSensitivityChangedListener listener) { mOnSensitivityChangedListeners.add(listener); mOnSensitivityChangedListeners.addIfAbsent(listener); } /** Remove a listener that was registered above. */ Loading packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java +22 −0 Original line number Diff line number Diff line Loading @@ -200,6 +200,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable private final boolean mDebugRemoveAnimation; private final boolean mSimplifiedAppearFraction; private final boolean mUseRoundnessSourceTypes; private final boolean mSensitiveRevealAnimEndabled; private boolean mAnimatedInsets; private int mContentHeight; Loading Loading @@ -580,6 +581,18 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable } }; private final NotificationEntry.OnSensitivityChangedListener mOnChildSensitivityChangedListener = new NotificationEntry.OnSensitivityChangedListener() { @Override public void onSensitivityChanged(NotificationEntry entry) { if (mAnimationsEnabled) { mHideSensitiveNeedsAnimation = true; requestChildrenUpdate(); } } }; private Consumer<Integer> mScrollListener; private final ScrollAdapter mScrollAdapter = new ScrollAdapter() { @Override Loading Loading @@ -611,6 +624,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable mDebugRemoveAnimation = featureFlags.isEnabled(Flags.NSSL_DEBUG_REMOVE_ANIMATION); mSimplifiedAppearFraction = featureFlags.isEnabled(Flags.SIMPLIFIED_APPEAR_FRACTION); mUseRoundnessSourceTypes = featureFlags.isEnabled(Flags.USE_ROUNDNESS_SOURCETYPES); mSensitiveRevealAnimEndabled = featureFlags.isEnabled(Flags.SENSITIVE_REVEAL_ANIM); setAnimatedInsetsEnabled(featureFlags.isEnabled(Flags.ANIMATED_NOTIFICATION_SHADE_INSETS)); mSectionsManager = Dependency.get(NotificationSectionsManager.class); mScreenOffAnimationController = Loading Loading @@ -2860,6 +2874,10 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable return; } child.setOnHeightChangedListener(null); if (child instanceof ExpandableNotificationRow && mSensitiveRevealAnimEndabled) { NotificationEntry entry = ((ExpandableNotificationRow) child).getEntry(); entry.removeOnSensitivityChangedListener(mOnChildSensitivityChangedListener); } updateScrollStateForRemovedChild(child); boolean animationGenerated = container != null && generateRemoveAnimation(child); if (animationGenerated) { Loading Loading @@ -3121,6 +3139,10 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable private void onViewAddedInternal(ExpandableView child) { updateHideSensitiveForChild(child); child.setOnHeightChangedListener(mOnChildHeightChangedListener); if (child instanceof ExpandableNotificationRow && mSensitiveRevealAnimEndabled) { NotificationEntry entry = ((ExpandableNotificationRow) child).getEntry(); entry.addOnSensitivityChangedListener(mOnChildSensitivityChangedListener); } generateAddAnimation(child, false /* fromMoreCard */); updateAnimationState(child); updateChronometerForChild(child); Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/collection/NotificationEntry.java +7 −4 Original line number Diff line number Diff line Loading @@ -71,6 +71,7 @@ import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow import com.android.systemui.statusbar.notification.row.ExpandableNotificationRowController; import com.android.systemui.statusbar.notification.row.NotificationGuts; import com.android.systemui.statusbar.notification.stack.PriorityBucket; import com.android.systemui.util.ListenerSet; import java.util.ArrayList; import java.util.List; Loading Loading @@ -163,7 +164,8 @@ public final class NotificationEntry extends ListEntry { private boolean hasSentReply; private boolean mSensitive = true; private List<OnSensitivityChangedListener> mOnSensitivityChangedListeners = new ArrayList<>(); private ListenerSet<OnSensitivityChangedListener> mOnSensitivityChangedListeners = new ListenerSet<>(); private boolean mAutoHeadsUp; private boolean mPulseSupressed; Loading Loading @@ -932,8 +934,9 @@ public final class NotificationEntry extends ListEntry { getRow().setSensitive(sensitive, deviceSensitive); if (sensitive != mSensitive) { mSensitive = sensitive; for (int i = 0; i < mOnSensitivityChangedListeners.size(); i++) { mOnSensitivityChangedListeners.get(i).onSensitivityChanged(this); for (NotificationEntry.OnSensitivityChangedListener listener : mOnSensitivityChangedListeners) { listener.onSensitivityChanged(this); } } } Loading @@ -944,7 +947,7 @@ public final class NotificationEntry extends ListEntry { /** Add a listener to be notified when the entry's sensitivity changes. */ public void addOnSensitivityChangedListener(OnSensitivityChangedListener listener) { mOnSensitivityChangedListeners.add(listener); mOnSensitivityChangedListeners.addIfAbsent(listener); } /** Remove a listener that was registered above. */ Loading
packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationStackScrollLayout.java +22 −0 Original line number Diff line number Diff line Loading @@ -200,6 +200,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable private final boolean mDebugRemoveAnimation; private final boolean mSimplifiedAppearFraction; private final boolean mUseRoundnessSourceTypes; private final boolean mSensitiveRevealAnimEndabled; private boolean mAnimatedInsets; private int mContentHeight; Loading Loading @@ -580,6 +581,18 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable } }; private final NotificationEntry.OnSensitivityChangedListener mOnChildSensitivityChangedListener = new NotificationEntry.OnSensitivityChangedListener() { @Override public void onSensitivityChanged(NotificationEntry entry) { if (mAnimationsEnabled) { mHideSensitiveNeedsAnimation = true; requestChildrenUpdate(); } } }; private Consumer<Integer> mScrollListener; private final ScrollAdapter mScrollAdapter = new ScrollAdapter() { @Override Loading Loading @@ -611,6 +624,7 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable mDebugRemoveAnimation = featureFlags.isEnabled(Flags.NSSL_DEBUG_REMOVE_ANIMATION); mSimplifiedAppearFraction = featureFlags.isEnabled(Flags.SIMPLIFIED_APPEAR_FRACTION); mUseRoundnessSourceTypes = featureFlags.isEnabled(Flags.USE_ROUNDNESS_SOURCETYPES); mSensitiveRevealAnimEndabled = featureFlags.isEnabled(Flags.SENSITIVE_REVEAL_ANIM); setAnimatedInsetsEnabled(featureFlags.isEnabled(Flags.ANIMATED_NOTIFICATION_SHADE_INSETS)); mSectionsManager = Dependency.get(NotificationSectionsManager.class); mScreenOffAnimationController = Loading Loading @@ -2860,6 +2874,10 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable return; } child.setOnHeightChangedListener(null); if (child instanceof ExpandableNotificationRow && mSensitiveRevealAnimEndabled) { NotificationEntry entry = ((ExpandableNotificationRow) child).getEntry(); entry.removeOnSensitivityChangedListener(mOnChildSensitivityChangedListener); } updateScrollStateForRemovedChild(child); boolean animationGenerated = container != null && generateRemoveAnimation(child); if (animationGenerated) { Loading Loading @@ -3121,6 +3139,10 @@ public class NotificationStackScrollLayout extends ViewGroup implements Dumpable private void onViewAddedInternal(ExpandableView child) { updateHideSensitiveForChild(child); child.setOnHeightChangedListener(mOnChildHeightChangedListener); if (child instanceof ExpandableNotificationRow && mSensitiveRevealAnimEndabled) { NotificationEntry entry = ((ExpandableNotificationRow) child).getEntry(); entry.addOnSensitivityChangedListener(mOnChildSensitivityChangedListener); } generateAddAnimation(child, false /* fromMoreCard */); updateAnimationState(child); updateChronometerForChild(child); Loading