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

Commit b511fe69 authored by Menghan Li's avatar Menghan Li
Browse files

refactor(A11yFeedback): Rename AccessibilityMetricsFeatureProvider

The AccessibilityMetricsFeatureProvider currently provides page IDs
derived from component names, primarily for metrics purposes.
However, its functionality should be expanded to also support
feedback needs, not just metrics collection, by returning
appropriate settings enum values.

Bug: 393980229
Test: atest AccessibilityMetricsFeatureProviderGoogleImplTest
Flag: com.android.server.accessibility.enable_low_vision_generic_feedback
Change-Id: I2d64db866010ae5e3c6a9738f92860df3d0b86aa
parent 9ffca7cb
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -127,14 +127,13 @@ public class AccessibilityActivityPreference extends RestrictedPreference {
        final String htmlDescription = mA11yShortcutInfo.loadHtmlDescription(mPm);
        final String settingsClassName = mA11yShortcutInfo.getSettingsActivityName();
        final String tileServiceClassName = mA11yShortcutInfo.getTileServiceName();
        final int metricsCategory = FeatureFactory.getFeatureFactory()
                .getAccessibilityMetricsFeatureProvider()
                .getDownloadedFeatureMetricsCategory(mComponentName);
        final int pageIdCategory = FeatureFactory.getFeatureFactory()
                .getAccessibilityPageIdFeatureProvider().getCategory(mComponentName);

        ThreadUtils.getUiThreadHandler().post(() -> {
            RestrictedPreferenceHelper.putBasicExtras(
                    this, prefKey, getTitle(), intro, description, imageRes,
                    htmlDescription, mComponentName, metricsCategory);
                    htmlDescription, mComponentName, pageIdCategory);
            RestrictedPreferenceHelper.putSettingsExtras(this, getPackageName(), settingsClassName);
            RestrictedPreferenceHelper.putTileServiceExtras(
                    this, getPackageName(), tileServiceClassName);
+4 −5
Original line number Diff line number Diff line
@@ -228,11 +228,10 @@ public class AccessibilityDetailsSettingsFragment extends InstrumentedFragment {
                    new ComponentName(packageName, tileServiceClassName).flattenToString());
        }

        final int metricsCategory = FeatureFactory.getFeatureFactory()
                .getAccessibilityMetricsFeatureProvider()
                .getDownloadedFeatureMetricsCategory(componentName);
        extras.putInt(AccessibilitySettings.EXTRA_METRICS_CATEGORY, metricsCategory);
        extras.putInt(AccessibilitySettings.EXTRA_FEEDBACK_CATEGORY, metricsCategory);
        final int pageIdCategory = FeatureFactory.getFeatureFactory()
                .getAccessibilityPageIdFeatureProvider().getCategory(componentName);
        extras.putInt(AccessibilitySettings.EXTRA_METRICS_CATEGORY, pageIdCategory);
        extras.putInt(AccessibilitySettings.EXTRA_FEEDBACK_CATEGORY, pageIdCategory);
        extras.putParcelable(AccessibilitySettings.EXTRA_COMPONENT_NAME, componentName);
        extras.putInt(AccessibilitySettings.EXTRA_ANIMATED_IMAGE_RES, info.getAnimatedImageRes());

+3 −3
Original line number Diff line number Diff line
@@ -21,9 +21,9 @@ import android.content.ComponentName;
import androidx.annotation.Nullable;

/**
 * Provider for Accessibility metrics related features.
 * Provider for Accessibility page id related features.
 */
public interface AccessibilityMetricsFeatureProvider {
public interface AccessibilityPageIdFeatureProvider {

    /**
     * Returns {@link android.app.settings.SettingsEnums} value according to the {@code
@@ -32,5 +32,5 @@ public interface AccessibilityMetricsFeatureProvider {
     * @param componentName the component name of the downloaded service or activity
     * @return value in {@link android.app.settings.SettingsEnums}
     */
    int getDownloadedFeatureMetricsCategory(@Nullable ComponentName componentName);
    int getCategory(@Nullable ComponentName componentName);
}
+6 −4
Original line number Diff line number Diff line
@@ -19,14 +19,16 @@ package com.android.settings.accessibility;
import android.app.settings.SettingsEnums;
import android.content.ComponentName;

import androidx.annotation.Nullable;

/**
 * Provider implementation for Accessibility metrics related features.
 * Provider implementation for Accessibility page id related features.
 */
public class AccessibilityMetricsFeatureProviderImpl implements
        AccessibilityMetricsFeatureProvider {
public class AccessibilityPageIdFeatureProviderImpl implements
        AccessibilityPageIdFeatureProvider {

    @Override
    public int getDownloadedFeatureMetricsCategory(ComponentName componentName) {
    public int getCategory(@Nullable ComponentName componentName) {
        return SettingsEnums.ACCESSIBILITY_SERVICE;
    }
}
+3 −4
Original line number Diff line number Diff line
@@ -123,13 +123,12 @@ public class AccessibilityServicePreference extends RestrictedPreference {
        final String settingsClassName = mA11yServiceInfo.getSettingsActivityName();
        final String tileServiceClassName = mA11yServiceInfo.getTileServiceName();
        final ResolveInfo resolveInfo = mA11yServiceInfo.getResolveInfo();
        final int metricsCategory = FeatureFactory.getFeatureFactory()
                .getAccessibilityMetricsFeatureProvider()
                .getDownloadedFeatureMetricsCategory(mComponentName);
        final int pageIdCategory = FeatureFactory.getFeatureFactory()
                .getAccessibilityPageIdFeatureProvider().getCategory(mComponentName);
        ThreadUtils.getUiThreadHandler().post(() -> {
            RestrictedPreferenceHelper.putBasicExtras(
                    this, prefKey, getTitle(), intro, description, imageRes,
                    htmlDescription, mComponentName, metricsCategory);
                    htmlDescription, mComponentName, pageIdCategory);
            RestrictedPreferenceHelper.putServiceExtras(this, resolveInfo, mServiceEnabled);
            RestrictedPreferenceHelper.putSettingsExtras(this, getPackageName(), settingsClassName);
            RestrictedPreferenceHelper.putTileServiceExtras(
Loading