Merge "Always remove IconState in onViewRemoved, even if animations are off" into qt-dev

This commit is contained in:
TreeHugger Robot
2019-06-15 00:13:10 +00:00
committed by Android (Google) Code Review

View File

@@ -315,10 +315,11 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {
@Override @Override
public void onViewRemoved(View child) { public void onViewRemoved(View child) {
super.onViewRemoved(child); super.onViewRemoved(child);
if (mAnimationsEnabled && child instanceof StatusBarIconView) {
if (child instanceof StatusBarIconView) {
boolean isReplacingIcon = isReplacingIcon(child); boolean isReplacingIcon = isReplacingIcon(child);
final StatusBarIconView icon = (StatusBarIconView) child; final StatusBarIconView icon = (StatusBarIconView) child;
if (icon.getVisibleState() != StatusBarIconView.STATE_HIDDEN if (mAnimationsEnabled && icon.getVisibleState() != StatusBarIconView.STATE_HIDDEN
&& child.getVisibility() == VISIBLE && isReplacingIcon) { && child.getVisibility() == VISIBLE && isReplacingIcon) {
int animationStartIndex = findFirstViewIndexAfter(icon.getTranslationX()); int animationStartIndex = findFirstViewIndexAfter(icon.getTranslationX());
if (mAddAnimationStartIndex < 0) { if (mAddAnimationStartIndex < 0) {
@@ -329,7 +330,7 @@ public class NotificationIconContainer extends AlphaOptimizedFrameLayout {
} }
if (!mChangingViewPositions) { if (!mChangingViewPositions) {
mIconStates.remove(child); mIconStates.remove(child);
if (!isReplacingIcon) { if (mAnimationsEnabled && !isReplacingIcon) {
addTransientView(icon, 0); addTransientView(icon, 0);
boolean isIsolatedIcon = child == mIsolatedIcon; boolean isIsolatedIcon = child == mIsolatedIcon;
icon.setVisibleState(StatusBarIconView.STATE_HIDDEN, true /* animate */, icon.setVisibleState(StatusBarIconView.STATE_HIDDEN, true /* animate */,