diff options
9 files changed, 24 insertions, 17 deletions
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 3c61854c89f0..85d3688a9a1e 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -104,7 +104,7 @@ import static android.view.WindowManager.PROPERTY_COMPAT_ALLOW_SANDBOXING_VIEW_B import static android.view.WindowManagerGlobal.RELAYOUT_RES_CANCEL_AND_REDRAW; import static android.view.WindowManagerGlobal.RELAYOUT_RES_CONSUME_ALWAYS_SYSTEM_BARS; import static android.view.WindowManagerGlobal.RELAYOUT_RES_SURFACE_CHANGED; -import static android.view.accessibility.Flags.fixMergedContentChangeEvent; +import static android.view.accessibility.Flags.fixMergedContentChangeEventV2; import static android.view.accessibility.Flags.forceInvertColor; import static android.view.accessibility.Flags.reduceWindowContentChangedEventThrottle; import static android.view.flags.Flags.toolkitFrameRateTypingReadOnly; @@ -11796,7 +11796,7 @@ public final class ViewRootImpl implements ViewParent, } if (mSource != null) { - if (fixMergedContentChangeEvent()) { + if (fixMergedContentChangeEventV2()) { View newSource = getCommonPredecessor(mSource, source); if (newSource != null) { newSource = newSource.getSelfOrParentImportantForA11y(); diff --git a/core/java/android/view/accessibility/flags/accessibility_flags.aconfig b/core/java/android/view/accessibility/flags/accessibility_flags.aconfig index 91bd4ea0bc87..eefc72b82c24 100644 --- a/core/java/android/view/accessibility/flags/accessibility_flags.aconfig +++ b/core/java/android/view/accessibility/flags/accessibility_flags.aconfig @@ -56,9 +56,12 @@ flag { flag { namespace: "accessibility" - name: "fix_merged_content_change_event" + name: "fix_merged_content_change_event_v2" description: "Fixes event type and source of content change event merged in ViewRootImpl" bug: "277305460" + metadata { + purpose: PURPOSE_BUGFIX + } } flag { diff --git a/services/accessibility/accessibility.aconfig b/services/accessibility/accessibility.aconfig index 997f3af3533e..04b19ffd4dfc 100644 --- a/services/accessibility/accessibility.aconfig +++ b/services/accessibility/accessibility.aconfig @@ -24,10 +24,13 @@ flag { } flag { - name: "compute_window_changes_on_a11y" + name: "compute_window_changes_on_a11y_v2" namespace: "accessibility" description: "Computes accessibility window changes in accessibility instead of wm package." bug: "322444245" + metadata { + purpose: PURPOSE_BUGFIX + } } flag { diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityWindowManager.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityWindowManager.java index d30748478741..6007bfd99e7b 100644 --- a/services/accessibility/java/com/android/server/accessibility/AccessibilityWindowManager.java +++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityWindowManager.java @@ -445,7 +445,7 @@ public class AccessibilityWindowManager { public void onWindowsForAccessibilityChanged(boolean forceSend, int topFocusedDisplayId, IBinder topFocusedWindowToken, @NonNull List<WindowInfo> windows) { synchronized (mLock) { - if (!Flags.computeWindowChangesOnA11y()) { + if (!Flags.computeWindowChangesOnA11yV2()) { // If the flag is enabled, it's already done in #createWindowInfoListLocked. updateWindowsByWindowAttributesLocked(windows); } @@ -491,7 +491,7 @@ public class AccessibilityWindowManager { /** * Called when the windows for accessibility changed. This is called if - * {@link com.android.server.accessibility.Flags.FLAG_COMPUTE_WINDOW_CHANGES_ON_A11Y} is + * {@link com.android.server.accessibility.Flags.FLAG_COMPUTE_WINDOW_CHANGES_ON_A11Y_V2} is * true. * * @param forceSend Send the windows for accessibility even if they haven't @@ -996,7 +996,7 @@ public class AccessibilityWindowManager { final int windowId = findWindowIdLocked(userId, window.token); // With the flag enabled, createWindowInfoListLocked() already removes invalid windows. - if (!Flags.computeWindowChangesOnA11y()) { + if (!Flags.computeWindowChangesOnA11yV2()) { if (windowId < 0) { return null; } diff --git a/services/core/java/com/android/server/wm/AccessibilityController.java b/services/core/java/com/android/server/wm/AccessibilityController.java index 418998870f16..27dd0c7c3b56 100644 --- a/services/core/java/com/android/server/wm/AccessibilityController.java +++ b/services/core/java/com/android/server/wm/AccessibilityController.java @@ -1678,7 +1678,7 @@ final class AccessibilityController { mA11yWindowsPopulator.populateVisibleWindowsOnScreenLocked( mDisplayId, visibleWindows); - if (!com.android.server.accessibility.Flags.computeWindowChangesOnA11y()) { + if (!com.android.server.accessibility.Flags.computeWindowChangesOnA11yV2()) { windows = buildWindowInfoListLocked(visibleWindows, screenSize); } @@ -1687,7 +1687,7 @@ final class AccessibilityController { topFocusedWindowToken = topFocusedWindowState.mClient.asBinder(); } - if (com.android.server.accessibility.Flags.computeWindowChangesOnA11y()) { + if (com.android.server.accessibility.Flags.computeWindowChangesOnA11yV2()) { mCallback.onAccessibilityWindowsChanged(forceSend, topFocusedDisplayId, topFocusedWindowToken, screenSize, visibleWindows); } else { @@ -1702,7 +1702,7 @@ final class AccessibilityController { mInitialized = true; } - // Here are old code paths, called when computeWindowChangesOnA11y flag is disabled. + // Here are old code paths, called when computeWindowChangesOnA11yV2 flag is disabled. // LINT.IfChange /** diff --git a/services/core/java/com/android/server/wm/AccessibilityWindowsPopulator.java b/services/core/java/com/android/server/wm/AccessibilityWindowsPopulator.java index ac3251c9bb12..f6afc52fd8d8 100644 --- a/services/core/java/com/android/server/wm/AccessibilityWindowsPopulator.java +++ b/services/core/java/com/android/server/wm/AccessibilityWindowsPopulator.java @@ -722,7 +722,7 @@ public final class AccessibilityWindowsPopulator extends WindowInfosListener { } // Compute system bar insets frame if needed. - if (com.android.server.accessibility.Flags.computeWindowChangesOnA11y() + if (com.android.server.accessibility.Flags.computeWindowChangesOnA11yV2() && windowState != null && instance.isUntouchableNavigationBar()) { final InsetsSourceProvider provider = windowState.getControllableInsetProvider(); diff --git a/services/core/java/com/android/server/wm/WindowManagerInternal.java b/services/core/java/com/android/server/wm/WindowManagerInternal.java index daf8129f1683..7e2ffd486c7e 100644 --- a/services/core/java/com/android/server/wm/WindowManagerInternal.java +++ b/services/core/java/com/android/server/wm/WindowManagerInternal.java @@ -160,7 +160,7 @@ public abstract class WindowManagerInternal { /** * Called when the windows for accessibility changed. This is called if - * {@link com.android.server.accessibility.Flags.FLAG_COMPUTE_WINDOW_CHANGES_ON_A11Y} is + * {@link com.android.server.accessibility.Flags.FLAG_COMPUTE_WINDOW_CHANGES_ON_A11Y_V2} is * false. * * @param forceSend Send the windows for accessibility even if they haven't changed. @@ -173,7 +173,7 @@ public abstract class WindowManagerInternal { /** * Called when the windows for accessibility changed. This is called if - * {@link com.android.server.accessibility.Flags.FLAG_COMPUTE_WINDOW_CHANGES_ON_A11Y} is + * {@link com.android.server.accessibility.Flags.FLAG_COMPUTE_WINDOW_CHANGES_ON_A11Y_V2} is * true. * TODO(b/322444245): Remove screenSize parameter by getting it from * DisplayManager#getDisplay(int).getRealSize() on the a11y side. diff --git a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityWindowManagerTest.java b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityWindowManagerTest.java index 8717a0500e57..403930d96a12 100644 --- a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityWindowManagerTest.java +++ b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityWindowManagerTest.java @@ -86,11 +86,12 @@ import java.util.List; // LINT.IfChange /** - * Tests for the AccessibilityWindowManager with Flags.FLAG_COMPUTE_WINDOW_CHANGES_ON_A11Y enabled. + * Tests for the AccessibilityWindowManager with Flags.FLAG_COMPUTE_WINDOW_CHANGES_ON_A11Y_V2 + * enabled. * TODO(b/322444245): Merge with AccessibilityWindowManagerWithAccessibilityWindowTest * after completing the flag migration. */ -@RequiresFlagsDisabled(Flags.FLAG_COMPUTE_WINDOW_CHANGES_ON_A11Y) +@RequiresFlagsDisabled(Flags.FLAG_COMPUTE_WINDOW_CHANGES_ON_A11Y_V2) public class AccessibilityWindowManagerTest { private static final String PACKAGE_NAME = "com.android.server.accessibility"; private static final boolean FORCE_SEND = true; diff --git a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityWindowManagerWithAccessibilityWindowTest.java b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityWindowManagerWithAccessibilityWindowTest.java index f44879fa54d9..9083a1e28e2c 100644 --- a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityWindowManagerWithAccessibilityWindowTest.java +++ b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityWindowManagerWithAccessibilityWindowTest.java @@ -89,11 +89,11 @@ import java.util.Arrays; import java.util.List; /** - * Tests for the AccessibilityWindowManager with Flags.FLAG_COMPUTE_WINDOW_CHANGES_ON_A11Y + * Tests for the AccessibilityWindowManager with Flags.FLAG_COMPUTE_WINDOW_CHANGES_ON_A11Y_V2 * TODO(b/322444245): Merge with AccessibilityWindowManagerTest * after completing the flag migration. */ -@RequiresFlagsEnabled(Flags.FLAG_COMPUTE_WINDOW_CHANGES_ON_A11Y) +@RequiresFlagsEnabled(Flags.FLAG_COMPUTE_WINDOW_CHANGES_ON_A11Y_V2) public class AccessibilityWindowManagerWithAccessibilityWindowTest { private static final String PACKAGE_NAME = "com.android.server.accessibility"; private static final boolean FORCE_SEND = true; |