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

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

Merge "Flag removeal: restore_a11y_secure_settings_on_hsum_device" into main

parents c5ca82e2 a80b27a6
Loading
Loading
Loading
Loading
+0 −10
Original line number Diff line number Diff line
@@ -249,16 +249,6 @@ flag {
    is_exported: true
}

flag {
    name: "restore_a11y_secure_settings_on_hsum_device"
    namespace: "accessibility"
    description: "Grab the a11y settings and send the settings restored broadcast for current visible foreground user"
    bug: "381294327"
    metadata {
        purpose: PURPOSE_BUGFIX
    }
}

flag {
    name: "restore_a11y_shortcut_target_service"
    namespace: "accessibility"
+6 −19
Original line number Diff line number Diff line
@@ -222,15 +222,11 @@ public class SettingsHelper {
        if (sendBroadcast) {
            // TODO: http://b/22388012
            oldValue = table.lookup(cr, name, UserHandle.USER_SYSTEM);
        } else if (sendBroadcastSystemUI) {
        } else if (sendBroadcastSystemUI || sendBroadcastAccessibility) {
            // This is only done for broadcasts sent to system ui as the consumers are known.
            // It would probably be correct to do it for the ones sent to the system, but consumers
            // may be depending on the current behavior.
            oldValue = table.lookup(cr, name, context.getUserId());
        } else if (sendBroadcastAccessibility) {
            int userId = android.view.accessibility.Flags.restoreA11ySecureSettingsOnHsumDevice()
                    ? context.getUserId() : UserHandle.USER_SYSTEM;
            oldValue = table.lookup(cr, name, userId);
        }

        try {
@@ -336,11 +332,8 @@ public class SettingsHelper {
                    context.sendBroadcastAsUser(intent, context.getUser(), null);
                }
                if (sendBroadcastAccessibility) {
                    UserHandle userHandle =
                            android.view.accessibility.Flags.restoreA11ySecureSettingsOnHsumDevice()
                                    ? context.getUser() : UserHandle.SYSTEM;
                    intent.setPackage("android");
                    context.sendBroadcastAsUser(intent, userHandle, null);
                    context.sendBroadcastAsUser(intent, context.getUser(), null);
                }
            }
        }
@@ -508,18 +501,12 @@ public class SettingsHelper {
    }

    private boolean shouldSkipAndLetBroadcastHandlesRestoreLogic(String settingName) {
        boolean restoreHandledByBroadcast = Settings.Secure.ACCESSIBILITY_QS_TARGETS.equals(
                settingName)
                || Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE.equals(settingName);
        if (android.view.accessibility.Flags.restoreA11ySecureSettingsOnHsumDevice()) {
            restoreHandledByBroadcast |=
                    Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS.equals(settingName)
        return Settings.Secure.ACCESSIBILITY_QS_TARGETS.equals(settingName)
                || Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE.equals(settingName)
                || Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS.equals(settingName)
                || Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES.equals(settingName);
    }

        return restoreHandledByBroadcast;
    }

    private void setAutoRestore(boolean enabled) {
        try {
            IBackupManager bm = IBackupManager.Stub.asInterface(
+0 −2
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@ import android.platform.test.annotations.EnableFlags;
import android.platform.test.flag.junit.SetFlagsRule;
import android.provider.Settings;
import android.provider.SettingsStringUtil;
import android.view.accessibility.Flags;

import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.platform.app.InstrumentationRegistry;
@@ -318,7 +317,6 @@ public class SettingsHelperRestoreTest {
                .isEqualTo(Build.VERSION.SDK_INT);
    }

    @EnableFlags(Flags.FLAG_RESTORE_A11Y_SECURE_SETTINGS_ON_HSUM_DEVICE)
    @Test
    public void restoreAccessibilityShortcutTargets_broadcastSent()
            throws ExecutionException, InterruptedException {
+1 −3
Original line number Diff line number Diff line
@@ -1085,9 +1085,7 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub
                            intent.getStringExtra(Intent.EXTRA_SETTING_NEW_VALUE);
                    final int restoredFromSdk =
                            intent.getIntExtra(Intent.EXTRA_SETTING_RESTORED_FROM_SDK_INT, 0);
                    final int userId =
                            android.view.accessibility.Flags.restoreA11ySecureSettingsOnHsumDevice()
                                    ? getSendingUserId() : UserHandle.USER_SYSTEM;
                    final int userId = getSendingUserId();
                    switch (which) {
                        case Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES -> {
                            synchronized (mLock) {
+0 −45
Original line number Diff line number Diff line
@@ -1682,15 +1682,6 @@ public class AccessibilityManagerServiceTest {
    }

    @Test
    @DisableFlags(android.view.accessibility.Flags.FLAG_RESTORE_A11Y_SECURE_SETTINGS_ON_HSUM_DEVICE)
    public void restoreShortcutTargetsAssumeUser0_qs_a11yQsTargetsRestored() {
        assumeTrue("The test is setup to run as a user 0",
                mTestableContext.getUserId() == UserHandle.USER_SYSTEM);
        restoreShortcutTargets_qs_a11yQsTargetsRestored();
    }

    @Test
    @EnableFlags(android.view.accessibility.Flags.FLAG_RESTORE_A11Y_SECURE_SETTINGS_ON_HSUM_DEVICE)
    public void restoreShortcutTargets_qs_a11yQsTargetsRestored() {
        String daltonizerTile =
                AccessibilityShortcutController.DALTONIZER_COMPONENT_NAME.flattenToString();
@@ -1771,15 +1762,6 @@ public class AccessibilityManagerServiceTest {
    }

    @Test
    @DisableFlags(android.view.accessibility.Flags.FLAG_RESTORE_A11Y_SECURE_SETTINGS_ON_HSUM_DEVICE)
    public void restoreShortcutTargetsAssumeUser0_hardware_targetsMerged() {
        assumeTrue("The test is setup to run as a user 0",
                mTestableContext.getUserId() == UserHandle.USER_SYSTEM);
        restoreShortcutTargets_hardware_targetsMerged();
    }

    @Test
    @EnableFlags(android.view.accessibility.Flags.FLAG_RESTORE_A11Y_SECURE_SETTINGS_ON_HSUM_DEVICE)
    public void restoreShortcutTargets_hardware_targetsMerged() {
        mFakePermissionEnforcer.grant(Manifest.permission.MANAGE_ACCESSIBILITY);
        final String servicePrevious = TARGET_ALWAYS_ON_A11Y_SERVICE.flattenToString();
@@ -1804,15 +1786,6 @@ public class AccessibilityManagerServiceTest {
    }

    @Test
    @DisableFlags(android.view.accessibility.Flags.FLAG_RESTORE_A11Y_SECURE_SETTINGS_ON_HSUM_DEVICE)
    public void restoreShortcutTargetsAssumeUser0_hardware_alreadyHadDefaultService_doesNotClear() {
        assumeTrue("The test is setup to run as a user 0",
                mTestableContext.getUserId() == UserHandle.USER_SYSTEM);
        restoreShortcutTargets_hardware_alreadyHadDefaultService_doesNotClear();
    }

    @Test
    @EnableFlags(android.view.accessibility.Flags.FLAG_RESTORE_A11Y_SECURE_SETTINGS_ON_HSUM_DEVICE)
    public void restoreShortcutTargets_hardware_alreadyHadDefaultService_doesNotClear() {
        final String serviceDefault = TARGET_STANDARD_A11Y_SERVICE_NAME;
        mTestableContext.getOrCreateTestableResources().addOverride(
@@ -1838,15 +1811,6 @@ public class AccessibilityManagerServiceTest {
    }

    @Test
    @DisableFlags(android.view.accessibility.Flags.FLAG_RESTORE_A11Y_SECURE_SETTINGS_ON_HSUM_DEVICE)
    public void restoreShortcutTargetsAsUser0_hardware_noDefaultService_clearsDefaultService() {
        assumeTrue("The test is setup to run as a user 0",
                mTestableContext.getUserId() == UserHandle.USER_SYSTEM);
        restoreShortcutTargets_hardware_didNotHaveDefaultService_clearsDefaultService();
    }

    @Test
    @EnableFlags(android.view.accessibility.Flags.FLAG_RESTORE_A11Y_SECURE_SETTINGS_ON_HSUM_DEVICE)
    public void restoreShortcutTargets_hardware_didNotHaveDefaultService_clearsDefaultService() {
        final String serviceDefault = TARGET_STANDARD_A11Y_SERVICE_NAME;
        final String serviceRestored = TARGET_ALWAYS_ON_A11Y_SERVICE.flattenToString();
@@ -1871,15 +1835,6 @@ public class AccessibilityManagerServiceTest {
    }

    @Test
    @DisableFlags(android.view.accessibility.Flags.FLAG_RESTORE_A11Y_SECURE_SETTINGS_ON_HSUM_DEVICE)
    public void restoreShortcutTargetsAssumeUser0_hardware_nullSetting_clearsDefaultService() {
        assumeTrue("The test is setup to run as a user 0",
                mTestableContext.getUserId() == UserHandle.USER_SYSTEM);
        restoreShortcutTargets_hardware_nullSetting_clearsDefaultService();
    }

    @Test
    @EnableFlags(android.view.accessibility.Flags.FLAG_RESTORE_A11Y_SECURE_SETTINGS_ON_HSUM_DEVICE)
    public void restoreShortcutTargets_hardware_nullSetting_clearsDefaultService() {
        final String serviceDefault = TARGET_STANDARD_A11Y_SERVICE_NAME;
        final String serviceRestored = TARGET_ALWAYS_ON_A11Y_SERVICE.flattenToString();