Merge "Make parents important for Content Capture"
This commit is contained in:
committed by
Android (Google) Code Review
commit
5ae3992b71
@@ -10199,6 +10199,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
||||
setNotifiedContentCaptureAppeared();
|
||||
|
||||
if (ai != null) {
|
||||
makeParentImportantAndNotifyAppearedEventIfNeed();
|
||||
ai.delayNotifyContentCaptureEvent(session, this, appeared);
|
||||
} else {
|
||||
if (DEBUG_CONTENT_CAPTURE) {
|
||||
@@ -10226,6 +10227,22 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
||||
}
|
||||
}
|
||||
|
||||
private void makeParentImportantAndNotifyAppearedEventIfNeed() {
|
||||
// If view sent the appeared event to Content Capture, Content Capture also
|
||||
// would like to receive its parents' appeared events. So checks its parents
|
||||
// whether the appeared event is sent or not. If not, send the appeared event.
|
||||
final ViewParent parent = getParent();
|
||||
if (parent instanceof View) {
|
||||
View p = ((View) parent);
|
||||
if (p.getNotifiedContentCaptureAppeared()) {
|
||||
return;
|
||||
}
|
||||
// Set important for content capture in the cache.
|
||||
p.mPrivateFlags4 |= PFLAG4_CONTENT_CAPTURE_IMPORTANCE_MASK;
|
||||
p.notifyAppearedOrDisappearedForContentCaptureIfNeeded(/* appeared */ true);
|
||||
}
|
||||
}
|
||||
|
||||
private void setNotifiedContentCaptureAppeared() {
|
||||
mPrivateFlags4 |= PFLAG4_NOTIFIED_CONTENT_CAPTURE_APPEARED;
|
||||
mPrivateFlags4 &= ~PFLAG4_NOTIFIED_CONTENT_CAPTURE_DISAPPEARED;
|
||||
|
||||
Reference in New Issue
Block a user