Support ability to add different page id for different accessibility service page in settings.

Bug: 190344664
Test: build pass
Change-Id: I6cc90b27dcbb5075d13e3c59fe754309182b4d0a
This commit is contained in:
jasonwshsu
2021-09-10 19:07:30 +08:00
parent 01cc290446
commit 3d0f12d043
8 changed files with 132 additions and 9 deletions

View File

@@ -23,6 +23,7 @@ import android.util.Log;
import androidx.annotation.Nullable;
import com.android.settings.R;
import com.android.settings.accessibility.AccessibilityMetricsFeatureProvider;
import com.android.settings.accessibility.AccessibilitySearchFeatureProvider;
import com.android.settings.accounts.AccountFeatureProvider;
import com.android.settings.applications.ApplicationFeatureProvider;
@@ -111,13 +112,13 @@ public abstract class FeatureFactory {
public abstract PowerUsageFeatureProvider getPowerUsageFeatureProvider(Context context);
/**
* Retrieve implementation for Battery Status feature.
* Retrieves implementation for Battery Status feature.
*/
public abstract BatteryStatusFeatureProvider getBatteryStatusFeatureProvider(
Context context);
/**
* Get implementation for Battery Settings provider.
* Gets implementation for Battery Settings provider.
*/
public abstract BatterySettingsFeatureProvider getBatterySettingsFeatureProvider(
Context context);
@@ -161,25 +162,30 @@ public abstract class FeatureFactory {
public abstract WifiTrackerLibProvider getWifiTrackerLibProvider();
/**
* Retrieve implementation for Extra App Info feature.
* Retrieves implementation for Extra App Info feature.
*/
public abstract ExtraAppInfoFeatureProvider getExtraAppInfoFeatureProvider();
/**
* Retrieve implementation for SecuritySettings feature.
* Retrieves implementation for SecuritySettings feature.
*/
public abstract SecuritySettingsFeatureProvider getSecuritySettingsFeatureProvider();
/**
* Retrieve implementation for Game Settings feature.
* Retrieves implementation for Game Settings feature.
*/
public abstract GameSettingsFeatureProvider getGameSettingsFeatureProvider();
/**
* Retrieve implementation for Accessibility search index feature.
* Retrieves implementation for Accessibility search index feature.
*/
public abstract AccessibilitySearchFeatureProvider getAccessibilitySearchFeatureProvider();
/**
* Retrieves implementation for Accessibility metrics category feature.
*/
public abstract AccessibilityMetricsFeatureProvider getAccessibilityMetricsFeatureProvider();
public static final class FactoryNotFoundException extends RuntimeException {
public FactoryNotFoundException(Throwable throwable) {
super("Unable to create factory. Did you misconfigure Proguard?", throwable);

View File

@@ -25,6 +25,8 @@ import android.os.UserManager;
import androidx.annotation.Keep;
import com.android.settings.accessibility.AccessibilityMetricsFeatureProvider;
import com.android.settings.accessibility.AccessibilityMetricsFeatureProviderImpl;
import com.android.settings.accessibility.AccessibilitySearchFeatureProvider;
import com.android.settings.accessibility.AccessibilitySearchFeatureProviderImpl;
import com.android.settings.accounts.AccountFeatureProvider;
@@ -109,6 +111,7 @@ public class FeatureFactoryImpl extends FeatureFactory {
private SecuritySettingsFeatureProvider mSecuritySettingsFeatureProvider;
private GameSettingsFeatureProvider mGameSettingsFeatureProvider;
private AccessibilitySearchFeatureProvider mAccessibilitySearchFeatureProvider;
private AccessibilityMetricsFeatureProvider mAccessibilityMetricsFeatureProvider;
@Override
public SupportFeatureProvider getSupportFeatureProvider(Context context) {
@@ -346,4 +349,12 @@ public class FeatureFactoryImpl extends FeatureFactory {
}
return mAccessibilitySearchFeatureProvider;
}
@Override
public AccessibilityMetricsFeatureProvider getAccessibilityMetricsFeatureProvider() {
if (mAccessibilityMetricsFeatureProvider == null) {
mAccessibilityMetricsFeatureProvider = new AccessibilityMetricsFeatureProviderImpl();
}
return mAccessibilityMetricsFeatureProvider;
}
}