summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Adam Powell <adamp@google.com> 2016-04-12 11:13:23 -0700
committer Adam Powell <adamp@google.com> 2016-04-12 11:18:57 -0700
commitfa58a8daa6011dc6b23fd66f41a9eb10f596a70d (patch)
tree126a4d0b83bade6ec92c7eb13244b4f4c8204c15
parentf763ea3b0573a53543f0031a81bb48d99679977f (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.java3
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;