Add summary provider for system tile.

Refactored getLocaleNames() into a FeatureProvider interface so it's
reusable and testable.

Bug: 31801428
Test: RunSettingsRoboTests
Change-Id: I2d31a66a4b32cfa7a364a4cfef1f6eea87084577
This commit is contained in:
Fan Zhang
2016-10-14 10:23:38 -07:00
parent 60f0107b3a
commit e0c253fccb
10 changed files with 208 additions and 17 deletions

View File

@@ -24,6 +24,7 @@ import com.android.settings.R;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.dashboard.DashboardFeatureProvider;
import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
import com.android.settings.localepicker.LocaleFeatureProvider;
/**
* Abstract class for creating feature controllers. Allows OEM implementations to define their own
@@ -70,6 +71,9 @@ public abstract class FeatureFactory {
public abstract DashboardFeatureProvider getDashboardFeatureProvider(Context context);
public abstract LocaleFeatureProvider getLocaleFeatureProvider();
public static final class FactoryNotFoundException extends RuntimeException {
public FactoryNotFoundException(Throwable throwable) {
super("Unable to create factory. Did you misconfigure Proguard?", throwable);

View File

@@ -24,6 +24,8 @@ import com.android.settings.core.instrumentation.MetricsFeatureProviderImpl;
import com.android.settings.dashboard.DashboardFeatureProvider;
import com.android.settings.dashboard.DashboardFeatureProviderImpl;
import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
import com.android.settings.localepicker.LocaleFeatureProvider;
import com.android.settings.localepicker.LocaleFeatureProviderImpl;
/**
* {@link FeatureFactory} implementation for AOSP Settings.
@@ -33,6 +35,7 @@ public final class FeatureFactoryImpl extends FeatureFactory {
private MetricsFeatureProvider mMetricsFeatureProvider;
private DashboardFeatureProviderImpl mDashboardFeatureProvider;
private LocaleFeatureProvider mLocaleFeatureProvider;
@Override
public SupportFeatureProvider getSupportFeatureProvider(Context context) {
@@ -60,4 +63,11 @@ public final class FeatureFactoryImpl extends FeatureFactory {
return mDashboardFeatureProvider;
}
@Override
public LocaleFeatureProvider getLocaleFeatureProvider() {
if (mLocaleFeatureProvider == null) {
mLocaleFeatureProvider = new LocaleFeatureProviderImpl();
}
return mLocaleFeatureProvider;
}
}