From 2689c3696b9a71232e7340266565d65a39a20fe0 Mon Sep 17 00:00:00 2001 From: TYM Tsai Date: Tue, 7 Apr 2020 17:33:46 +0800 Subject: [PATCH] Fine tune performance for notifyContentCapture() Notify ContentCapture only when the visible has changed Bug: 149561198 Test: manual on Chat Change-Id: Ifb5eb9a71c91f4994f5c1e8e7faed809ef4667e1 --- core/java/android/view/View.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index da186087a34ad..8abe72fc91e8e 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -14684,17 +14684,19 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } } } - if (isAccessibilityPane()) { - if (isVisible != oldVisible) { + + if (isVisible != oldVisible) { + if (isAccessibilityPane()) { notifyViewAccessibilityStateChangedIfNeeded(isVisible ? AccessibilityEvent.CONTENT_CHANGE_TYPE_PANE_APPEARED : AccessibilityEvent.CONTENT_CHANGE_TYPE_PANE_DISAPPEARED); } - } - notifyAppearedOrDisappearedForContentCaptureIfNeeded(isVisible); - if (!getSystemGestureExclusionRects().isEmpty() && isVisible != oldVisible) { - postUpdateSystemGestureExclusionRects(); + notifyAppearedOrDisappearedForContentCaptureIfNeeded(isVisible); + + if (!getSystemGestureExclusionRects().isEmpty()) { + postUpdateSystemGestureExclusionRects(); + } } }