diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java b/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java index 9afb3846b0285..e35ef4469773c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ActivatableNotificationView.java @@ -744,6 +744,7 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView } if (!mWasCancelled) { enableAppearDrawing(false); + onAppearAnimationFinished(isAppearing); } } @@ -760,6 +761,9 @@ public abstract class ActivatableNotificationView extends ExpandableOutlineView mAppearAnimator.start(); } + protected void onAppearAnimationFinished(boolean wasAppearing) { + } + private void cancelAppearAnimation() { if (mAppearAnimator != null) { mAppearAnimator.cancel(); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java index 58d402bb74327..02fdd3fc6424c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/ExpandableNotificationRow.java @@ -598,7 +598,7 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { } private NotificationHeaderView getVisibleNotificationHeader() { - if (mIsSummaryWithChildren) { + if (mIsSummaryWithChildren && !mShowingPublic) { return mChildrenContainer.getHeaderView(); } return getShowingLayout().getVisibleNotificationHeader(); @@ -1442,12 +1442,29 @@ public class ExpandableNotificationRow extends ActivatableNotificationView { @Override protected View getContentView() { - if (mIsSummaryWithChildren) { + if (mIsSummaryWithChildren && !mShowingPublic) { return mChildrenContainer; } return getShowingLayout(); } + @Override + protected void onAppearAnimationFinished(boolean wasAppearing) { + super.onAppearAnimationFinished(wasAppearing); + if (wasAppearing) { + // During the animation the visible view might have changed, so let's make sure all + // alphas are reset + if (mChildrenContainer != null) { + mChildrenContainer.setAlpha(1.0f); + mChildrenContainer.setLayerType(LAYER_TYPE_NONE, null); + } + mPrivateLayout.setAlpha(1.0f); + mPrivateLayout.setLayerType(LAYER_TYPE_NONE, null); + mPublicLayout.setAlpha(1.0f); + mPublicLayout.setLayerType(LAYER_TYPE_NONE, null); + } + } + @Override public int getExtraBottomPadding() { if (mIsSummaryWithChildren && isGroupExpanded()) {