From fa58a8daa6011dc6b23fd66f41a9eb10f596a70d Mon Sep 17 00:00:00 2001 From: Adam Powell Date: Tue, 12 Apr 2016 11:13:23 -0700 Subject: Dispatch View#onVisibilityAggregated to views becoming invisible When a view becomes newly invisible/gone via setFlags, its visibility state will have already changed by the time we dispatchVisibilityAggregated. Since we already do visibility filtering in the ViewGroup override when we traverse to child views, permit the normal View implementation to dispatch onVisibilityAggregated if we're not visible and dispatching visibility false. Bug 28123146 Change-Id: I528dffe95d2057ef938508b9fb4219c5338b060c --- core/java/android/view/View.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 7e5109637855..307e700e3655 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -10278,7 +10278,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback, */ @Visibility boolean dispatchVisibilityAggregated(boolean isVisible) { final boolean thisVisible = getVisibility() == VISIBLE; - if (thisVisible) { + // If we're not visible but something is telling us we are, ignore it. + if (thisVisible || !isVisible) { onVisibilityAggregated(isVisible); } return thisVisible && isVisible; -- cgit v1.2.3-59-g8ed1b