diff options
| author | 2016-04-12 11:13:23 -0700 | |
|---|---|---|
| committer | 2016-04-12 11:18:57 -0700 | |
| commit | fa58a8daa6011dc6b23fd66f41a9eb10f596a70d (patch) | |
| tree | 126a4d0b83bade6ec92c7eb13244b4f4c8204c15 | |
| parent | f763ea3b0573a53543f0031a81bb48d99679977f (diff) | |
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
| -rw-r--r-- | core/java/android/view/View.java | 3 |
1 files changed, 2 insertions, 1 deletions
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; |