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
This commit is contained in:
@@ -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);
|
||||
|
@@ -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());
|
||||
|
||||
|
@@ -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);
|
||||
}
|
@@ -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;
|
||||
}
|
||||
}
|
@@ -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(
|
||||
|
@@ -17,7 +17,7 @@ package com.android.settings.overlay
|
||||
|
||||
import android.content.Context
|
||||
import com.android.settings.accessibility.AccessibilityFeedbackFeatureProvider
|
||||
import com.android.settings.accessibility.AccessibilityMetricsFeatureProvider
|
||||
import com.android.settings.accessibility.AccessibilityPageIdFeatureProvider
|
||||
import com.android.settings.accessibility.AccessibilitySearchFeatureProvider
|
||||
import com.android.settings.accounts.AccountFeatureProvider
|
||||
import com.android.settings.applications.ApplicationFeatureProvider
|
||||
@@ -145,9 +145,9 @@ abstract class FeatureFactory {
|
||||
abstract val accessibilitySearchFeatureProvider: AccessibilitySearchFeatureProvider
|
||||
|
||||
/**
|
||||
* Retrieves implementation for Accessibility metrics category feature.
|
||||
* Retrieves implementation for Accessibility page id category feature.
|
||||
*/
|
||||
abstract val accessibilityMetricsFeatureProvider: AccessibilityMetricsFeatureProvider
|
||||
abstract val accessibilityPageIdFeatureProvider: AccessibilityPageIdFeatureProvider
|
||||
|
||||
/**
|
||||
* Retrieves implementation for advanced vpn feature.
|
||||
|
@@ -22,8 +22,8 @@ import android.net.VpnManager
|
||||
import android.os.UserManager
|
||||
import com.android.settings.accessibility.AccessibilityFeedbackFeatureProvider
|
||||
import com.android.settings.accessibility.AccessibilityFeedbackFeatureProviderImpl
|
||||
import com.android.settings.accessibility.AccessibilityMetricsFeatureProvider
|
||||
import com.android.settings.accessibility.AccessibilityMetricsFeatureProviderImpl
|
||||
import com.android.settings.accessibility.AccessibilityPageIdFeatureProvider
|
||||
import com.android.settings.accessibility.AccessibilityPageIdFeatureProviderImpl
|
||||
import com.android.settings.accessibility.AccessibilitySearchFeatureProvider
|
||||
import com.android.settings.accessibility.AccessibilitySearchFeatureProviderImpl
|
||||
import com.android.settings.accounts.AccountFeatureProvider
|
||||
@@ -174,8 +174,8 @@ open class FeatureFactoryImpl : FeatureFactory() {
|
||||
AccessibilitySearchFeatureProviderImpl()
|
||||
}
|
||||
|
||||
override val accessibilityMetricsFeatureProvider: AccessibilityMetricsFeatureProvider by lazy {
|
||||
AccessibilityMetricsFeatureProviderImpl()
|
||||
override val accessibilityPageIdFeatureProvider: AccessibilityPageIdFeatureProvider by lazy {
|
||||
AccessibilityPageIdFeatureProviderImpl()
|
||||
}
|
||||
|
||||
override val advancedVpnFeatureProvider by lazy { AdvancedVpnFeatureProviderImpl() }
|
||||
|
@@ -20,7 +20,7 @@ import static org.mockito.Mockito.mock;
|
||||
import android.content.Context;
|
||||
|
||||
import com.android.settings.accessibility.AccessibilityFeedbackFeatureProvider;
|
||||
import com.android.settings.accessibility.AccessibilityMetricsFeatureProvider;
|
||||
import com.android.settings.accessibility.AccessibilityPageIdFeatureProvider;
|
||||
import com.android.settings.accessibility.AccessibilitySearchFeatureProvider;
|
||||
import com.android.settings.accounts.AccountFeatureProvider;
|
||||
import com.android.settings.applications.ApplicationFeatureProvider;
|
||||
@@ -94,7 +94,7 @@ public class FakeFeatureFactory extends FeatureFactory {
|
||||
public WifiTrackerLibProvider wifiTrackerLibProvider;
|
||||
public SecuritySettingsFeatureProvider securitySettingsFeatureProvider;
|
||||
public AccessibilitySearchFeatureProvider mAccessibilitySearchFeatureProvider;
|
||||
public AccessibilityMetricsFeatureProvider mAccessibilityMetricsFeatureProvider;
|
||||
public AccessibilityPageIdFeatureProvider mAccessibilityPageIdFeatureProvider;
|
||||
public AdvancedVpnFeatureProvider mAdvancedVpnFeatureProvider;
|
||||
public WifiFeatureProvider mWifiFeatureProvider;
|
||||
public KeyboardSettingsFeatureProvider mKeyboardSettingsFeatureProvider;
|
||||
@@ -145,7 +145,7 @@ public class FakeFeatureFactory extends FeatureFactory {
|
||||
wifiTrackerLibProvider = mock(WifiTrackerLibProvider.class);
|
||||
securitySettingsFeatureProvider = mock(SecuritySettingsFeatureProvider.class);
|
||||
mAccessibilitySearchFeatureProvider = mock(AccessibilitySearchFeatureProvider.class);
|
||||
mAccessibilityMetricsFeatureProvider = mock(AccessibilityMetricsFeatureProvider.class);
|
||||
mAccessibilityPageIdFeatureProvider = mock(AccessibilityPageIdFeatureProvider.class);
|
||||
mAdvancedVpnFeatureProvider = mock(AdvancedVpnFeatureProvider.class);
|
||||
mWifiFeatureProvider = mock(WifiFeatureProvider.class);
|
||||
mKeyboardSettingsFeatureProvider = mock(KeyboardSettingsFeatureProvider.class);
|
||||
@@ -294,8 +294,8 @@ public class FakeFeatureFactory extends FeatureFactory {
|
||||
}
|
||||
|
||||
@Override
|
||||
public AccessibilityMetricsFeatureProvider getAccessibilityMetricsFeatureProvider() {
|
||||
return mAccessibilityMetricsFeatureProvider;
|
||||
public AccessibilityPageIdFeatureProvider getAccessibilityPageIdFeatureProvider() {
|
||||
return mAccessibilityPageIdFeatureProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -18,7 +18,7 @@ package com.android.settings.testutils
|
||||
|
||||
import android.content.Context
|
||||
import com.android.settings.accessibility.AccessibilityFeedbackFeatureProvider
|
||||
import com.android.settings.accessibility.AccessibilityMetricsFeatureProvider
|
||||
import com.android.settings.accessibility.AccessibilityPageIdFeatureProvider
|
||||
import com.android.settings.accessibility.AccessibilitySearchFeatureProvider
|
||||
import com.android.settings.accounts.AccountFeatureProvider
|
||||
import com.android.settings.applications.ApplicationFeatureProvider
|
||||
@@ -130,7 +130,7 @@ class FakeFeatureFactory : FeatureFactory() {
|
||||
get() = TODO("Not yet implemented")
|
||||
override val accessibilitySearchFeatureProvider: AccessibilitySearchFeatureProvider
|
||||
get() = TODO("Not yet implemented")
|
||||
override val accessibilityMetricsFeatureProvider: AccessibilityMetricsFeatureProvider
|
||||
override val accessibilityPageIdFeatureProvider: AccessibilityPageIdFeatureProvider
|
||||
get() = TODO("Not yet implemented")
|
||||
override val advancedVpnFeatureProvider: AdvancedVpnFeatureProvider
|
||||
get() = TODO("Not yet implemented")
|
||||
|
@@ -20,7 +20,7 @@ import static org.mockito.Mockito.mock;
|
||||
import android.content.Context;
|
||||
|
||||
import com.android.settings.accessibility.AccessibilityFeedbackFeatureProvider;
|
||||
import com.android.settings.accessibility.AccessibilityMetricsFeatureProvider;
|
||||
import com.android.settings.accessibility.AccessibilityPageIdFeatureProvider;
|
||||
import com.android.settings.accessibility.AccessibilitySearchFeatureProvider;
|
||||
import com.android.settings.accounts.AccountFeatureProvider;
|
||||
import com.android.settings.applications.ApplicationFeatureProvider;
|
||||
@@ -93,7 +93,7 @@ public class FakeFeatureFactory extends FeatureFactory {
|
||||
public WifiTrackerLibProvider wifiTrackerLibProvider;
|
||||
public SecuritySettingsFeatureProvider securitySettingsFeatureProvider;
|
||||
public AccessibilitySearchFeatureProvider mAccessibilitySearchFeatureProvider;
|
||||
public AccessibilityMetricsFeatureProvider mAccessibilityMetricsFeatureProvider;
|
||||
public AccessibilityPageIdFeatureProvider mAccessibilityPageIdFeatureProvider;
|
||||
public AdvancedVpnFeatureProvider mAdvancedVpnFeatureProvider;
|
||||
public WifiFeatureProvider mWifiFeatureProvider;
|
||||
public KeyboardSettingsFeatureProvider mKeyboardSettingsFeatureProvider;
|
||||
@@ -146,7 +146,7 @@ public class FakeFeatureFactory extends FeatureFactory {
|
||||
wifiTrackerLibProvider = mock(WifiTrackerLibProvider.class);
|
||||
securitySettingsFeatureProvider = mock(SecuritySettingsFeatureProvider.class);
|
||||
mAccessibilitySearchFeatureProvider = mock(AccessibilitySearchFeatureProvider.class);
|
||||
mAccessibilityMetricsFeatureProvider = mock(AccessibilityMetricsFeatureProvider.class);
|
||||
mAccessibilityPageIdFeatureProvider = mock(AccessibilityPageIdFeatureProvider.class);
|
||||
mAdvancedVpnFeatureProvider = mock(AdvancedVpnFeatureProvider.class);
|
||||
mWifiFeatureProvider = mock(WifiFeatureProvider.class);
|
||||
mKeyboardSettingsFeatureProvider = mock(KeyboardSettingsFeatureProvider.class);
|
||||
@@ -295,8 +295,8 @@ public class FakeFeatureFactory extends FeatureFactory {
|
||||
}
|
||||
|
||||
@Override
|
||||
public AccessibilityMetricsFeatureProvider getAccessibilityMetricsFeatureProvider() {
|
||||
return mAccessibilityMetricsFeatureProvider;
|
||||
public AccessibilityPageIdFeatureProvider getAccessibilityPageIdFeatureProvider() {
|
||||
return mAccessibilityPageIdFeatureProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user