Forcing no animations to be played if swiping fast

To avoid animations when expanding, we're now also
forcing no icon animations to play at all.

Test: add min prio notifications, expand quickly, observe no animations
Change-Id: I49888c351b1ed0a61ad54a548943afdac1bae6d2
Fixes: 37293033
This commit is contained in:
Selim Cinek
2017-05-08 19:45:40 -07:00
parent f323e3a543
commit 44d81a671a
2 changed files with 6 additions and 2 deletions

View File

@@ -346,7 +346,8 @@ public class NotificationShelf extends ActivatableNotificationView implements
}
float clampedAmount = iconTransitionAmount > 0.5f ? 1.0f : 0.0f;
if (clampedAmount == fullTransitionAmount) {
iconState.useFullTransitionAmount = scrollingFast || expandingAnimated
iconState.noAnimations = scrollingFast || expandingAnimated;
iconState.useFullTransitionAmount = iconState.noAnimations
|| (!ICON_ANMATIONS_WHILE_SCROLLING && fullTransitionAmount == 0.0f && scrolling);
iconState.useLinearTransitionAmount = !ICON_ANMATIONS_WHILE_SCROLLING
&& fullTransitionAmount == 0.0f && !mAmbientState.isExpansionChanging();
@@ -357,6 +358,7 @@ public class NotificationShelf extends ActivatableNotificationView implements
&& !ViewState.isAnimatingY(icon))) {
iconState.cancelAnimations(icon);
iconState.useFullTransitionAmount = true;
iconState.noAnimations = true;
}
float transitionAmount;
if (isLastChild || !USE_ANIMATIONS_WHEN_OPENING || iconState.useFullTransitionAmount

View File

@@ -466,6 +466,7 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {
public boolean useLinearTransitionAmount;
public boolean translateContent;
public int iconColor = StatusBarIconView.NO_COLOR;
public boolean noAnimations;
@Override
public void applyToView(View view) {
@@ -473,7 +474,8 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {
StatusBarIconView icon = (StatusBarIconView) view;
boolean animate = false;
AnimationProperties animationProperties = null;
boolean animationsAllowed = mAnimationsEnabled && !mDisallowNextAnimation;
boolean animationsAllowed = mAnimationsEnabled && !mDisallowNextAnimation
&& !noAnimations;
if (animationsAllowed) {
if (justAdded) {
super.applyToView(icon);