diff --git a/src/com/android/settings/dashboard/DashboardFeatureProvider.java b/src/com/android/settings/dashboard/DashboardFeatureProvider.java new file mode 100644 index 00000000000..e4976f52091 --- /dev/null +++ b/src/com/android/settings/dashboard/DashboardFeatureProvider.java @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2016 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.android.settings.dashboard; + +import android.content.Context; + +/** + * FeatureProvider for dashboard (aka settings homepage). + */ +public interface DashboardFeatureProvider { + + boolean shouldUseNewIALayout(Context context); +} diff --git a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java new file mode 100644 index 00000000000..d07729a2860 --- /dev/null +++ b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings.dashboard; + +import android.content.Context; + +/** + * Impl for {@code DashboardFeatureProvider}. + */ +public class DashboardFeatureProviderImpl implements DashboardFeatureProvider { + + @Override + public boolean shouldUseNewIALayout(Context context) { + return false; + } + +} diff --git a/src/com/android/settings/overlay/FeatureFactory.java b/src/com/android/settings/overlay/FeatureFactory.java index 83ea2979784..7099b3f2d3d 100644 --- a/src/com/android/settings/overlay/FeatureFactory.java +++ b/src/com/android/settings/overlay/FeatureFactory.java @@ -22,6 +22,7 @@ import android.util.Log; import com.android.settings.R; import com.android.settings.core.instrumentation.MetricsFeatureProvider; +import com.android.settings.dashboard.DashboardFeatureProvider; import com.android.settings.fuelgauge.PowerUsageFeatureProvider; /** @@ -67,6 +68,8 @@ public abstract class FeatureFactory { public abstract PowerUsageFeatureProvider getPowerUsageFeatureProvider(); + public abstract DashboardFeatureProvider getDashboardFeatureProvider(); + public static final class FactoryNotFoundException extends RuntimeException { public FactoryNotFoundException(Throwable throwable) { super("Unable to create factory. Did you misconfigure Proguard?", throwable); diff --git a/src/com/android/settings/overlay/FeatureFactoryImpl.java b/src/com/android/settings/overlay/FeatureFactoryImpl.java index 035a7f9dc71..8f7136358ef 100644 --- a/src/com/android/settings/overlay/FeatureFactoryImpl.java +++ b/src/com/android/settings/overlay/FeatureFactoryImpl.java @@ -21,6 +21,8 @@ import android.support.annotation.Keep; import com.android.settings.core.instrumentation.MetricsFeatureProvider; 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; /** @@ -30,6 +32,7 @@ import com.android.settings.fuelgauge.PowerUsageFeatureProvider; public final class FeatureFactoryImpl extends FeatureFactory { private MetricsFeatureProvider mMetricsFeatureProvider; + private DashboardFeatureProviderImpl mDashboardFeatureProvider; @Override public SupportFeatureProvider getSupportFeatureProvider(Context context) { @@ -49,4 +52,12 @@ public final class FeatureFactoryImpl extends FeatureFactory { return null; } + @Override + public DashboardFeatureProvider getDashboardFeatureProvider() { + if (mDashboardFeatureProvider == null) { + mDashboardFeatureProvider = new DashboardFeatureProviderImpl(); + } + return mDashboardFeatureProvider; + } + }