Add DockUpdaterFeatureProvider and DockUpdater.

Add the new feature components for dock devices.

Bug: 77931823
Test: Build
Change-Id: I219a5256d02f2b1b8ea7cce1cff4219975f2eae2
This commit is contained in:
Ivan Chiang
2018-04-10 14:32:58 +08:00
parent e848603807
commit f2f03b8198
6 changed files with 127 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
/*
* Copyright (C) 2018 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.overlay;
import android.content.Context;
import com.android.settings.connecteddevice.DevicePreferenceCallback;
import com.android.settings.connecteddevice.dock.DockUpdater;
/** Feature provider for the dock updater. */
public interface DockUpdaterFeatureProvider {
/** Returns the DockUpdater of the connected dock device */
DockUpdater getConnectedDockUpdater(Context context,
DevicePreferenceCallback devicePreferenceCallback);
/** Returns the DockUpdater of the saved dock devices */
DockUpdater getSavedDockUpdater(Context context,
DevicePreferenceCallback devicePreferenceCallback);
}

View File

@@ -86,6 +86,8 @@ public abstract class FeatureFactory {
public abstract DashboardFeatureProvider getDashboardFeatureProvider(Context context);
public abstract DockUpdaterFeatureProvider getDockUpdaterFeatureProvider();
public abstract ApplicationFeatureProvider getApplicationFeatureProvider(Context context);
public abstract LocaleFeatureProvider getLocaleFeatureProvider();

View File

@@ -29,6 +29,7 @@ import com.android.settings.applications.ApplicationFeatureProvider;
import com.android.settings.applications.ApplicationFeatureProviderImpl;
import com.android.settings.bluetooth.BluetoothFeatureProvider;
import com.android.settings.bluetooth.BluetoothFeatureProviderImpl;
import com.android.settings.connecteddevice.dock.DockUpdaterFeatureProviderImpl;
import com.android.settings.dashboard.DashboardFeatureProvider;
import com.android.settings.dashboard.DashboardFeatureProviderImpl;
import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider;
@@ -63,6 +64,7 @@ public class FeatureFactoryImpl extends FeatureFactory {
private ApplicationFeatureProvider mApplicationFeatureProvider;
private MetricsFeatureProvider mMetricsFeatureProvider;
private DashboardFeatureProviderImpl mDashboardFeatureProvider;
private DockUpdaterFeatureProvider mDockUpdaterFeatureProvider;
private LocaleFeatureProvider mLocaleFeatureProvider;
private EnterprisePrivacyFeatureProvider mEnterprisePrivacyFeatureProvider;
private SearchFeatureProvider mSearchFeatureProvider;
@@ -105,6 +107,14 @@ public class FeatureFactoryImpl extends FeatureFactory {
return mDashboardFeatureProvider;
}
@Override
public DockUpdaterFeatureProvider getDockUpdaterFeatureProvider() {
if (mDockUpdaterFeatureProvider == null) {
mDockUpdaterFeatureProvider = new DockUpdaterFeatureProviderImpl();
}
return mDockUpdaterFeatureProvider;
}
@Override
public ApplicationFeatureProvider getApplicationFeatureProvider(Context context) {
if (mApplicationFeatureProvider == null) {