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

Commit 99a91711 authored by menghanli's avatar menghanli
Browse files

Customized accessibility framework features quick setting tooltips content

- Lowercase for one-handed mode, color correction, color inversion, extra dim in quick settings tooltips if these words are not first words.

Bug: 220655084
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AccessibilityShortcutPreferenceFragmentTest ToggleFeaturePreferenceFragmentTest LaunchAccessibilityActivityPreferenceFragmentTest ToggleAccessibilityServicePreferenceFragmentTest
Change-Id: I309ca48cecb80942112c9d5adde5857c062706c8
parent 21419dc9
Loading
Loading
Loading
Loading
+19 −3
Original line number Diff line number Diff line
@@ -5552,11 +5552,27 @@
    <string name="accessibility_service_primary_switch_title">Use <xliff:g id="accessibility_app_name" example="TalkBack">%1$s</xliff:g></string>
    <!-- Used in the accessibility service settings to open the activity. [CHAR LIMIT=NONE] -->
    <string name="accessibility_service_primary_open_title">Open <xliff:g id="accessibility_app_name" example="TalkBack">%1$s</xliff:g></string>
    <!-- Used in the accessibility service settings to show quick settings tooltips for auto-added feature. [CHAR LIMIT=NONE] -->
    <!-- Used in the accessibility service settings to show quick settings tooltip for auto-added feature. [CHAR LIMIT=NONE] -->
    <string name="accessibility_service_auto_added_qs_tooltips_content"><xliff:g id="accessibility_app_name" example="TalkBack">%1$s</xliff:g> added to Quick Settings. Swipe down to turn it on or off anytime.</string>
    <!-- Used in the accessibility service settings to show quick settings tooltips. [CHAR LIMIT=NONE] -->
    <!-- Used in the accessibility service settings to show quick settings tooltip. [CHAR LIMIT=NONE] -->
    <string name="accessibility_service_qs_tooltips_content">You can also add <xliff:g id="accessibility_app_name" example="TalkBack">%1$s</xliff:g> to Quick Settings from the top of your screen</string>
    <!-- Used in the accessibility action for accessibility quick settings tooltips to dismiss. [CHAR LIMIT=NONE] -->
    <!-- Used in the color correction settings to show quick settings tooltip for auto-added feature. [CHAR LIMIT=NONE] -->
    <string name="accessibility_color_correction_auto_added_qs_tooltip_content">Color correction added to Quick Settings. Swipe down to turn it on or off anytime.</string>
    <!-- Used in the color correction settings to show quick settings tooltip. [CHAR LIMIT=NONE] -->
    <string name="accessibility_color_correction_qs_tooltip_content">You can also add color correction to Quick Settings from the top of your screen</string>
    <!-- Used in the color inversion settings to show quick settings tooltip for auto-added feature. [CHAR LIMIT=NONE] -->
    <string name="accessibility_color_inversion_auto_added_qs_tooltip_content">Color inversion added to Quick Settings. Swipe down to turn it on or off anytime.</string>
    <!-- Used in the color inversion settings to show quick settings tooltip. [CHAR LIMIT=NONE] -->
    <string name="accessibility_color_inversion_qs_tooltip_content">You can also add color inversion to Quick Settings from the top of your screen</string>
    <!-- Used in the reduce bright colors settings to show quick settings tooltip for auto-added feature. [CHAR LIMIT=NONE] -->
    <string name="accessibility_reduce_bright_colors_auto_added_qs_tooltip_content">Extra dim added to Quick Settings. Swipe down to turn it on or off anytime.</string>
    <!-- Used in the reduce bright colors settings to show quick settings tooltip. [CHAR LIMIT=NONE] -->
    <string name="accessibility_reduce_bright_colors_qs_tooltip_content">You can also add extra dim to Quick Settings from the top of your screen</string>
    <!-- Used in the One-hand mode color to show quick settings tooltip for auto-added feature. [CHAR LIMIT=NONE] -->
    <string name="accessibility_one_handed_mode_auto_added_qs_tooltip_content">One-handed mode added to Quick Settings. Swipe down to turn it on or off anytime.</string>
    <!-- Used in the One-hand mode settings to show quick settings tooltip. [CHAR LIMIT=NONE] -->
    <string name="accessibility_one_handed_mode_qs_tooltip_content">You can also add one-handed mode to Quick Settings from the top of your screen</string>
    <!-- Used in the accessibility action for accessibility quick settings tooltip to dismiss. [CHAR LIMIT=NONE] -->
    <string name="accessibility_quick_settings_tooltips_dismiss">Dismiss</string>
    <!-- Intro for color correction settings screen to control turning on/off the feature entirely. [CHAR LIMIT=NONE] -->
    <string name="accessibility_daltonizer_about_intro_text" product="default">Adjust how colors display on your phone</string>
+2 −2
Original line number Diff line number Diff line
@@ -80,7 +80,7 @@ public class AccessibilityQuickSettingsTooltipWindow extends PopupWindow {
     * @param text text to be displayed
     * @param imageResId the resource ID of the image drawable
     */
    public void setup(String text, @DrawableRes int imageResId) {
    public void setup(CharSequence text, @DrawableRes int imageResId) {
        this.setup(text, imageResId, /* closeDelayTimeMillis= */ 0);
    }

@@ -94,7 +94,7 @@ public class AccessibilityQuickSettingsTooltipWindow extends PopupWindow {
     * @param imageResId the resource ID of the image drawable
     * @param closeDelayTimeMillis how long the popup window be auto-closed
     */
    public void setup(String text, @DrawableRes int imageResId, long closeDelayTimeMillis) {
    public void setup(CharSequence text, @DrawableRes int imageResId, long closeDelayTimeMillis) {
        this.mCloseDelayTimeMillis = closeDelayTimeMillis;

        setBackgroundDrawable(new ColorDrawable(mContext.getColor(android.R.color.transparent)));
+7 −11
Original line number Diff line number Diff line
@@ -83,8 +83,8 @@ public abstract class AccessibilityShortcutPreferenceFragment extends DashboardF
    /** Returns the accessibility tile component name. */
    protected abstract ComponentName getTileComponentName();

    /** Returns the accessibility tile feature name. */
    protected abstract CharSequence getTileName();
    /** Returns the accessibility tile tooltip content. */
    protected abstract CharSequence getTileTooltipContent(@QuickSettingsTooltipType int type);

    @Override
    public void onCreate(Bundle savedInstanceState) {
@@ -148,7 +148,7 @@ public abstract class AccessibilityShortcutPreferenceFragment extends DashboardF
    public void onViewCreated(View view, Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

        // Reshow tooltips when activity recreate, such as rotate device.
        // Reshow tooltip when activity recreate, such as rotate device.
        if (mNeedsQSTooltipReshow) {
            getView().post(this::showQuickSettingsTooltipIfNeeded);
        }
@@ -499,21 +499,17 @@ public abstract class AccessibilityShortcutPreferenceFragment extends DashboardF
            return;
        }

        final CharSequence tileName = getTileName();
        if (TextUtils.isEmpty(tileName)) {
            // Returns if no title of tile service assigned.
        final CharSequence content = getTileTooltipContent(mNeedsQSTooltipType);
        if (TextUtils.isEmpty(content)) {
            // Returns if no content of tile tooltip assigned.
            return;
        }

        final int titleResId = mNeedsQSTooltipType == QuickSettingsTooltipType.GUIDE_TO_EDIT
                ? R.string.accessibility_service_qs_tooltips_content
                : R.string.accessibility_service_auto_added_qs_tooltips_content;
        final String title = getString(titleResId, tileName);
        final int imageResId = mNeedsQSTooltipType == QuickSettingsTooltipType.GUIDE_TO_EDIT
                ? R.drawable.accessibility_qs_tooltips_illustration
                : R.drawable.accessibility_auto_added_qs_tooltips_illustration;
        mTooltipWindow = new AccessibilityQuickSettingsTooltipWindow(getContext());
        mTooltipWindow.setup(title, imageResId);
        mTooltipWindow.setup(content, imageResId);
        mTooltipWindow.showAtTopCenter(getView());
        AccessibilityQuickSettingUtils.optInValueToSharedPreferences(getContext(),
                tileComponentName);
+12 −2
Original line number Diff line number Diff line
@@ -41,6 +41,7 @@ import androidx.annotation.Nullable;
import androidx.preference.Preference;

import com.android.settings.R;
import com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType;
import com.android.settings.overlay.FeatureFactory;

import java.util.ArrayList;
@@ -128,12 +129,21 @@ public class LaunchAccessibilityActivityPreferenceFragment extends ToggleFeature
    }

    @Override
    CharSequence getTileName() {
    CharSequence getTileTooltipContent(@QuickSettingsTooltipType int type) {
        final ComponentName componentName = getTileComponentName();
        if (componentName == null) {
            return null;
        }
        return loadTileLabel(getPrefContext(), componentName);

        final CharSequence tileName = loadTileLabel(getPrefContext(), componentName);
        if (tileName == null) {
            return null;
        }

        final int titleResId = type == QuickSettingsTooltipType.GUIDE_TO_EDIT
                ? R.string.accessibility_service_qs_tooltips_content
                : R.string.accessibility_service_auto_added_qs_tooltips_content;
        return getString(titleResId, tileName);
    }

    @Override
+12 −2
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ import android.widget.Switch;
import androidx.annotation.Nullable;

import com.android.settings.R;
import com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType;
import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.accessibility.AccessibilityUtils;
@@ -239,12 +240,21 @@ public class ToggleAccessibilityServicePreferenceFragment extends
    }

    @Override
    CharSequence getTileName() {
    CharSequence getTileTooltipContent(@QuickSettingsTooltipType int type) {
        final ComponentName componentName = getTileComponentName();
        if (componentName == null) {
            return null;
        }
        return loadTileLabel(getPrefContext(), componentName);

        final CharSequence tileName = loadTileLabel(getPrefContext(), componentName);
        if (tileName == null) {
            return null;
        }

        final int titleResId = type == QuickSettingsTooltipType.GUIDE_TO_EDIT
                ? R.string.accessibility_service_qs_tooltips_content
                : R.string.accessibility_service_auto_added_qs_tooltips_content;
        return getString(titleResId, tileName);
    }

    @Override
Loading