Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 97fd036e authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Clear shortcuts associated to an A11yActivity when the A11yActivity...

Merge "Clear shortcuts associated to an A11yActivity when the A11yActivity becomes A11yService with the same componentName" into main
parents 5b658d76 3ce8ae76
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -44,6 +44,16 @@ flag {
    }
}

flag {
    name: "clear_shortcuts_when_activity_updates_to_service"
    namespace: "accessibility"
    description: "When an a11y activity is updated to an a11y service, clears the associated shortcuts so that we don't skip the AccessibilityServiceWarning."
    bug: "358092445"
    metadata {
        purpose: PURPOSE_BUGFIX
    }
}

flag {
    name: "compute_window_changes_on_a11y_v2"
    namespace: "accessibility"
+13 −0
Original line number Diff line number Diff line
@@ -2513,6 +2513,19 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
    private boolean readInstalledAccessibilityShortcutLocked(AccessibilityUserState userState,
            List<AccessibilityShortcutInfo> parsedAccessibilityShortcutInfos) {
        if (!parsedAccessibilityShortcutInfos.equals(userState.mInstalledShortcuts)) {
            if (Flags.clearShortcutsWhenActivityUpdatesToService()) {
                List<String> componentNames = userState.mInstalledShortcuts.stream()
                        .filter(a11yActivity ->
                                !parsedAccessibilityShortcutInfos.contains(a11yActivity))
                        .map(a11yActivity -> a11yActivity.getComponentName().flattenToString())
                        .toList();
                if (!componentNames.isEmpty()) {
                    enableShortcutsForTargets(
                            /* enable= */ false, UserShortcutType.ALL,
                            componentNames, userState.mUserId);
                }
            }

            userState.mInstalledShortcuts.clear();
            userState.mInstalledShortcuts.addAll(parsedAccessibilityShortcutInfos);
            userState.updateTileServiceMapForAccessibilityActivityLocked();