Add feature provider for Bluetooth

Also add method to check whether pairing page is enabled.

Bug: 38134564
Test: RunSettingsGoogleRoboTests
Change-Id: Ib74ece46f9624242895a366eac889957924f84c6
This commit is contained in:
jackqdyulei
2017-05-08 15:29:14 -07:00
parent 910f69c62a
commit 3db59a8430
5 changed files with 62 additions and 0 deletions

View File

@@ -22,6 +22,7 @@ import android.util.Log;
import com.android.settings.R;
import com.android.settings.applications.ApplicationFeatureProvider;
import com.android.settings.bluetooth.BluetoothFeatureProvider;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.dashboard.DashboardFeatureProvider;
import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider;
@@ -97,6 +98,8 @@ public abstract class FeatureFactory {
public abstract UserFeatureProvider getUserFeatureProvider(Context context);
public abstract BluetoothFeatureProvider getBluetoothFeatureProvider(Context context);
public static final class FactoryNotFoundException extends RuntimeException {
public FactoryNotFoundException(Throwable throwable) {
super("Unable to create factory. Did you misconfigure Proguard?", throwable);

View File

@@ -27,6 +27,8 @@ import com.android.settings.applications.ApplicationFeatureProvider;
import com.android.settings.applications.ApplicationFeatureProviderImpl;
import com.android.settings.applications.IPackageManagerWrapperImpl;
import com.android.settings.applications.PackageManagerWrapperImpl;
import com.android.settings.bluetooth.BluetoothFeatureProvider;
import com.android.settings.bluetooth.BluetoothFeatureProviderImpl;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.dashboard.DashboardFeatureProvider;
import com.android.settings.dashboard.DashboardFeatureProviderImpl;
@@ -66,6 +68,7 @@ public class FeatureFactoryImpl extends FeatureFactory {
private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
private AssistGestureFeatureProvider mAssistGestureFeatureProvider;
private UserFeatureProvider mUserFeatureProvider;
private BluetoothFeatureProvider mBluetoothFeatureProvider;
@Override
public SupportFeatureProvider getSupportFeatureProvider(Context context) {
@@ -168,6 +171,14 @@ public class FeatureFactoryImpl extends FeatureFactory {
return mUserFeatureProvider;
}
@Override
public BluetoothFeatureProvider getBluetoothFeatureProvider(Context context) {
if (mBluetoothFeatureProvider == null) {
mBluetoothFeatureProvider = new BluetoothFeatureProviderImpl();
}
return mBluetoothFeatureProvider;
}
@Override
public AssistGestureFeatureProvider getAssistGestureFeatureProvider() {
if (mAssistGestureFeatureProvider == null) {