Merge "Fixed an issue where the footerview and others would fly over the screen" into sc-dev

This commit is contained in:
TreeHugger Robot
2021-05-27 21:27:16 +00:00
committed by Android (Google) Code Review

View File

@@ -31,6 +31,7 @@ import com.android.systemui.statusbar.StatusBarIconView;
import com.android.systemui.statusbar.notification.collection.NotificationEntry; import com.android.systemui.statusbar.notification.collection.NotificationEntry;
import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow; import com.android.systemui.statusbar.notification.row.ExpandableNotificationRow;
import com.android.systemui.statusbar.notification.row.ExpandableView; import com.android.systemui.statusbar.notification.row.ExpandableView;
import com.android.systemui.statusbar.notification.row.StackScrollerDecorView;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashSet; import java.util.HashSet;
@@ -187,11 +188,17 @@ public class StackStateAnimator {
private void adaptDurationWhenGoingToFullShade(ExpandableView child, private void adaptDurationWhenGoingToFullShade(ExpandableView child,
ExpandableViewState viewState, boolean wasAdded, int animationStaggerCount) { ExpandableViewState viewState, boolean wasAdded, int animationStaggerCount) {
if (wasAdded && mAnimationFilter.hasGoToFullShadeEvent) { boolean isDecorView = child instanceof StackScrollerDecorView;
child.setTranslationY(child.getTranslationY() + mGoToFullShadeAppearingTranslation); boolean needsAdjustment = wasAdded || isDecorView;
if (needsAdjustment && mAnimationFilter.hasGoToFullShadeEvent) {
int startOffset = 0;
if (!isDecorView) {
startOffset = mGoToFullShadeAppearingTranslation;
float longerDurationFactor = (float) Math.pow(animationStaggerCount, 0.7f); float longerDurationFactor = (float) Math.pow(animationStaggerCount, 0.7f);
mAnimationProperties.duration = ANIMATION_DURATION_APPEAR_DISAPPEAR + 50 + mAnimationProperties.duration = ANIMATION_DURATION_APPEAR_DISAPPEAR + 50
(long) (100 * longerDurationFactor); + (long) (100 * longerDurationFactor);
}
child.setTranslationY(viewState.yTranslation + startOffset);
} }
} }