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

Commit 43daeb90 authored by jasonwshsu's avatar jasonwshsu
Browse files

Change the name of accessibility service fragment type to more descriptive names

Bug: 155052371
Test: manual test
Change-Id: I097138c84083528acd4d16a145921227ffe3f736
parent 7f15836d
Loading
Loading
Loading
Loading
+10 −7
Original line number Diff line number Diff line
@@ -269,7 +269,7 @@ public class AccessibilitySettings extends DashboardFragment {

        final CharSequence serviceState;
        final int fragmentType = AccessibilityUtil.getAccessibilityServiceFragmentType(info);
        if (fragmentType == AccessibilityServiceFragmentType.INVISIBLE) {
        if (fragmentType == AccessibilityServiceFragmentType.INVISIBLE_TOGGLE) {
            final ComponentName componentName = new ComponentName(
                    info.getResolveInfo().serviceInfo.packageName,
                    info.getResolveInfo().serviceInfo.name);
@@ -652,13 +652,16 @@ public class AccessibilitySettings extends DashboardFragment {
        }

        private String getAccessibilityServiceFragmentTypeName(AccessibilityServiceInfo info) {
            switch (AccessibilityUtil.getAccessibilityServiceFragmentType(
                    info)) {
                case AccessibilityServiceFragmentType.LEGACY:
                    return LegacyAccessibilityServicePreferenceFragment.class.getName();
                case AccessibilityServiceFragmentType.INVISIBLE:
            // Shorten the name to avoid exceeding 100 characters in one line.
            final String volumeShortcutToggleAccessibilityServicePreferenceFragment =
                    VolumeShortcutToggleAccessibilityServicePreferenceFragment.class.getName();

            switch (AccessibilityUtil.getAccessibilityServiceFragmentType(info)) {
                case AccessibilityServiceFragmentType.VOLUME_SHORTCUT_TOGGLE:
                    return volumeShortcutToggleAccessibilityServicePreferenceFragment;
                case AccessibilityServiceFragmentType.INVISIBLE_TOGGLE:
                    return InvisibleToggleAccessibilityServicePreferenceFragment.class.getName();
                case AccessibilityServiceFragmentType.INTUITIVE:
                case AccessibilityServiceFragmentType.TOGGLE:
                    return ToggleAccessibilityServicePreferenceFragment.class.getName();
                default:
                    // impossible status
+6 −6
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@

package com.android.settings.accessibility;

import static com.android.settings.accessibility.AccessibilityUtil.AccessibilityServiceFragmentType.LEGACY;
import static com.android.settings.accessibility.AccessibilityUtil.AccessibilityServiceFragmentType.VOLUME_SHORTCUT_TOGGLE;

import android.accessibilityservice.AccessibilityServiceInfo;
import android.app.settings.SettingsEnums;
@@ -102,10 +102,10 @@ public class AccessibilitySettingsForSetupWizard extends SettingsPreferenceFragm
        super.onResume();
        updateAccessibilityServicePreference(mScreenReaderPreference,
                SCREEN_READER_PACKAGE_NAME, SCREEN_READER_SERVICE_NAME,
                LegacyToggleScreenReaderPreferenceFragmentForSetupWizard.class.getName());
                VolumeShortcutToggleScreenReaderPreferenceFragmentForSetupWizard.class.getName());
        updateAccessibilityServicePreference(mSelectToSpeakPreference,
                SELECT_TO_SPEAK_PACKAGE_NAME, SELECT_TO_SPEAK_SERVICE_NAME,
                LegacyToggleSelectToSpeakPreferenceFragmentForSetupWizard.class.getName());
                VolumeShortcutToggleSelectToSpeakPreferenceFragmentForSetupWizard.class.getName());
        configureMagnificationPreferenceIfNeeded(mDisplayMagnificationPreference);
    }

@@ -147,7 +147,7 @@ public class AccessibilitySettingsForSetupWizard extends SettingsPreferenceFragm
    }

    private void updateAccessibilityServicePreference(Preference preference,
            String packageName, String serviceName, String targetLegacyFragment) {
            String packageName, String serviceName, String targetFragment) {
        final AccessibilityServiceInfo info = findService(packageName, serviceName);
        if (info == null) {
            getPreferenceScreen().removePreference(preference);
@@ -159,8 +159,8 @@ public class AccessibilitySettingsForSetupWizard extends SettingsPreferenceFragm
        preference.setTitle(title);
        ComponentName componentName = new ComponentName(serviceInfo.packageName, serviceInfo.name);
        preference.setKey(componentName.flattenToString());
        if (AccessibilityUtil.getAccessibilityServiceFragmentType(info) == LEGACY) {
            preference.setFragment(targetLegacyFragment);
        if (AccessibilityUtil.getAccessibilityServiceFragmentType(info) == VOLUME_SHORTCUT_TOGGLE) {
            preference.setFragment(targetFragment);
        }

        // Update the extras.
+14 −13
Original line number Diff line number Diff line
@@ -46,22 +46,23 @@ final class AccessibilityUtil {
    /**
     * Annotation for different accessibilityService fragment UI type.
     *
     * {@code LEGACY} for displaying appearance aligned with sdk version Q accessibility service
     * page, but only hardware shortcut allowed.
     * {@code INVISIBLE} for displaying appearance without switch bar.
     * {@code INTUITIVE} for displaying appearance with new design.
     * {@code VOLUME_SHORTCUT_TOGGLE} for displaying basic accessibility service fragment but
     * only hardware shortcut allowed.
     * {@code INVISIBLE_TOGGLE} for displaying basic accessibility service fragment without
     * switch bar.
     * {@code TOGGLE} for displaying basic accessibility service fragment.
     */
    @Retention(RetentionPolicy.SOURCE)
    @IntDef({
            AccessibilityServiceFragmentType.LEGACY,
            AccessibilityServiceFragmentType.INVISIBLE,
            AccessibilityServiceFragmentType.INTUITIVE,
            AccessibilityServiceFragmentType.VOLUME_SHORTCUT_TOGGLE,
            AccessibilityServiceFragmentType.INVISIBLE_TOGGLE,
            AccessibilityServiceFragmentType.TOGGLE,
    })

    public @interface AccessibilityServiceFragmentType {
        int LEGACY = 0;
        int INVISIBLE = 1;
        int INTUITIVE = 2;
        int VOLUME_SHORTCUT_TOGGLE = 0;
        int INVISIBLE_TOGGLE = 1;
        int TOGGLE = 2;
    }

    // TODO(b/147021230): Will move common functions and variables to
@@ -162,11 +163,11 @@ final class AccessibilityUtil {
                & AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON) != 0;

        if (targetSdk <= Build.VERSION_CODES.Q) {
            return AccessibilityServiceFragmentType.LEGACY;
            return AccessibilityServiceFragmentType.VOLUME_SHORTCUT_TOGGLE;
        }
        return requestA11yButton
                ? AccessibilityServiceFragmentType.INVISIBLE
                : AccessibilityServiceFragmentType.INTUITIVE;
                ? AccessibilityServiceFragmentType.INVISIBLE_TOGGLE
                : AccessibilityServiceFragmentType.TOGGLE;
    }

    /**
+1 −1
Original line number Diff line number Diff line
@@ -34,7 +34,7 @@ import com.google.common.collect.ImmutableSet;
 *
 * <p>For accessibility services that target SDK <= Q.
 */
public class LegacyAccessibilityServicePreferenceFragment extends
public class VolumeShortcutToggleAccessibilityServicePreferenceFragment extends
        ToggleAccessibilityServicePreferenceFragment {

    @Override
+2 −2
Original line number Diff line number Diff line
@@ -21,8 +21,8 @@ import android.os.Bundle;
import android.view.View;

/** For accessibility services that target SDK <= Q in setup wizard. */
public class LegacyToggleScreenReaderPreferenceFragmentForSetupWizard
        extends LegacyAccessibilityServicePreferenceFragment {
public class VolumeShortcutToggleScreenReaderPreferenceFragmentForSetupWizard
        extends VolumeShortcutToggleAccessibilityServicePreferenceFragment {

    private boolean mToggleSwitchWasInitiallyChecked;

Loading