Made WindowState.mChildWindow private scoped
This involved:
- Moving method that operated on mChildWindows and mostly touched
WindowState fields into WindowState class.
- Creating new methods for getting information about child windows
outside WindowState class instead of accessing the child list directly.
- And, tests ;)
Bug: 30060889
Change-Id: I339cecb926b44b5db7ead1970e356304d5429c8f
diff --git a/services/core/java/com/android/server/wm/AccessibilityController.java b/services/core/java/com/android/server/wm/AccessibilityController.java
index 894c27c..1d6cc32 100644
--- a/services/core/java/com/android/server/wm/AccessibilityController.java
+++ b/services/core/java/com/android/server/wm/AccessibilityController.java
@@ -1206,33 +1206,10 @@
(int) windowFrame.right, (int) windowFrame.bottom);
}
- private static WindowInfo obtainPopulatedWindowInfo(WindowState windowState,
- Rect boundsInScreen) {
- WindowInfo window = WindowInfo.obtain();
- window.type = windowState.mAttrs.type;
- window.layer = windowState.mLayer;
- window.token = windowState.mClient.asBinder();
- window.title = windowState.mAttrs.accessibilityTitle;
- window.accessibilityIdOfAnchor = windowState.mAttrs.accessibilityIdOfAnchor;
-
- if (windowState.isChildWindow()) {
- window.parentToken = windowState.mParentWindow.mClient.asBinder();
- }
-
- window.focused = windowState.isFocused();
+ private static WindowInfo obtainPopulatedWindowInfo(
+ WindowState windowState, Rect boundsInScreen) {
+ final WindowInfo window = windowState.getWindowInfo();
window.boundsInScreen.set(boundsInScreen);
-
- final int childCount = windowState.mChildWindows.size();
- if (childCount > 0) {
- if (window.childTokens == null) {
- window.childTokens = new ArrayList<IBinder>();
- }
- for (int j = 0; j < childCount; j++) {
- WindowState child = windowState.mChildWindows.get(j);
- window.childTokens.add(child.mClient.asBinder());
- }
- }
-
return window;
}