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

Commit ec54e9d3 authored by Chun-Ku Lin's avatar Chun-Ku Lin Committed by Android (Google) Code Review
Browse files

Merge "Clean up usages of flag update_always_on_a11y_service" into main

parents a036797e a15f81ca
Loading
Loading
Loading
Loading
+11 −18
Original line number Diff line number Diff line
@@ -53,7 +53,6 @@ import android.util.Slog;
import android.view.Window;
import android.view.WindowManager;
import android.view.accessibility.AccessibilityManager;
import android.view.accessibility.Flags;
import android.widget.Toast;

import com.android.internal.R;
@@ -369,7 +368,6 @@ public class AccessibilityShortcutController {
                        })
                .setPositiveButton(R.string.accessibility_shortcut_off,
                        (DialogInterface d, int which) -> {
                            if (Flags.updateAlwaysOnA11yService()) {
                            Set<String> targetServices =
                                    ShortcutUtils.getShortcutTargetsFromSettings(
                                            mContext,
@@ -381,11 +379,6 @@ public class AccessibilityShortcutController {
                                    userId);
                            ShortcutUtils.updateInvisibleToggleAccessibilityServiceEnableState(
                                    mContext, targetServices, userId);
                            } else {
                                Settings.Secure.putStringForUser(mContext.getContentResolver(),
                                        Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE, "",
                                        userId);
                            }

                            // If canceled, treat as if the dialog has never been shown
                            Settings.Secure.putIntForUser(mContext.getContentResolver(),
+3 −31
Original line number Diff line number Diff line
@@ -16,17 +16,11 @@

package com.android.internal.accessibility.dialog;

import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.HARDWARE;
import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
import static com.android.internal.accessibility.util.AccessibilityUtils.setAccessibilityServiceState;
import static com.android.internal.accessibility.util.ShortcutUtils.isComponentIdExistingInSettings;

import android.accessibilityservice.AccessibilityServiceInfo;
import android.annotation.NonNull;
import android.content.ComponentName;
import android.content.Context;
import android.os.UserHandle;
import android.view.accessibility.Flags;

import com.android.internal.accessibility.common.ShortcutConstants.AccessibilityFragmentType;
import com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType;
@@ -53,31 +47,9 @@ public class InvisibleToggleAccessibilityServiceTarget extends AccessibilityServ

    @Override
    public void onCheckedChanged(boolean isChecked) {
        final ComponentName componentName = ComponentName.unflattenFromString(getId());

        if (Flags.updateAlwaysOnA11yService()) {
        super.onCheckedChanged(isChecked);
        final ComponentName componentName = ComponentName.unflattenFromString(getId());
        ShortcutUtils.updateInvisibleToggleAccessibilityServiceEnableState(
                getContext(), Set.of(componentName.flattenToString()), UserHandle.myUserId());
        } else {
            if (!isComponentIdExistingInOtherShortcut()) {
                setAccessibilityServiceState(getContext(), componentName, isChecked);
            }

            super.onCheckedChanged(isChecked);
        }
    }

    private boolean isComponentIdExistingInOtherShortcut() {
        switch (getShortcutType()) {
            case SOFTWARE:
                return isComponentIdExistingInSettings(getContext(), UserShortcutType.HARDWARE,
                        getId());
            case HARDWARE:
                return isComponentIdExistingInSettings(getContext(), UserShortcutType.SOFTWARE,
                        getId());
            default:
                throw new IllegalStateException("Unexpected shortcut type");
        }
    }
}
+0 −10
Original line number Diff line number Diff line
@@ -64,9 +64,6 @@ import android.os.Build;
import android.os.Handler;
import android.os.Message;
import android.os.Vibrator;
import android.platform.test.annotations.RequiresFlagsEnabled;
import android.platform.test.flag.junit.CheckFlagsRule;
import android.platform.test.flag.junit.DeviceFlagsValueProvider;
import android.provider.Settings;
import android.speech.tts.TextToSpeech;
import android.speech.tts.Voice;
@@ -74,7 +71,6 @@ import android.test.mock.MockContentResolver;
import android.view.Window;
import android.view.WindowManager;
import android.view.accessibility.AccessibilityManager;
import android.view.accessibility.Flags;
import android.view.accessibility.IAccessibilityManager;
import android.widget.Toast;

@@ -87,7 +83,6 @@ import com.android.internal.util.test.FakeSettingsProvider;

import org.junit.AfterClass;
import org.junit.Before;
import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.ArgumentCaptor;
@@ -103,9 +98,6 @@ import java.util.Set;

@RunWith(AndroidJUnit4.class)
public class AccessibilityShortcutControllerTest {
    @Rule
    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();

    private static final String SERVICE_NAME_STRING = "fake.package/fake.service.name";
    private static final CharSequence PACKAGE_NAME_STRING = "Service name";
    private static final String SERVICE_NAME_SUMMARY = "Summary";
@@ -440,7 +432,6 @@ public class AccessibilityShortcutControllerTest {
    }

    @Test
    @RequiresFlagsEnabled(Flags.FLAG_UPDATE_ALWAYS_ON_A11Y_SERVICE)
    public void turnOffVolumeShortcutForAlwaysOnA11yService_shouldTurnOffA11yService()
            throws Exception {
        configureApplicationTargetSdkVersion(Build.VERSION_CODES.R);
@@ -452,7 +443,6 @@ public class AccessibilityShortcutControllerTest {
    }

    @Test
    @RequiresFlagsEnabled(Flags.FLAG_UPDATE_ALWAYS_ON_A11Y_SERVICE)
    public void turnOffVolumeShortcutForAlwaysOnA11yService_hasOtherTypesShortcut_shouldNotTurnOffA11yService()
            throws Exception {
        configureApplicationTargetSdkVersion(Build.VERSION_CODES.R);