Add DockUpdaterFeatureProvider and DockUpdater.
Add the new feature components for dock devices. Bug: 77931823 Test: Build Change-Id: I219a5256d02f2b1b8ea7cce1cff4219975f2eae2
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* 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.connecteddevice.dock;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
/**
|
||||
* Update the dock devices. It notifies the upper level whether to add/remove the preference
|
||||
* through {@link DevicePreferenceCallback}
|
||||
*/
|
||||
public interface DockUpdater {
|
||||
|
||||
/**
|
||||
* Register the dock event callback and update the list
|
||||
*/
|
||||
default void registerCallback() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Unregister the dock event callback
|
||||
*/
|
||||
default void unregisterCallback() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Force to update the list of dock devices
|
||||
*/
|
||||
default void forceUpdate() {
|
||||
}
|
||||
}
|
@@ -0,0 +1,29 @@
|
||||
package com.android.settings.connecteddevice.dock;
|
||||
|
||||
import android.content.Context;
|
||||
|
||||
import com.android.settings.connecteddevice.DevicePreferenceCallback;
|
||||
import com.android.settings.connecteddevice.dock.DockUpdater;
|
||||
import com.android.settings.overlay.DockUpdaterFeatureProvider;
|
||||
|
||||
/**
|
||||
* Impl for {@link DockUpdaterFeatureProvider}
|
||||
*/
|
||||
public class DockUpdaterFeatureProviderImpl implements DockUpdaterFeatureProvider {
|
||||
|
||||
@Override
|
||||
public DockUpdater getConnectedDockUpdater(Context context,
|
||||
DevicePreferenceCallback devicePreferenceCallback) {
|
||||
final DockUpdater updater = new DockUpdater() {
|
||||
};
|
||||
return updater;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DockUpdater getSavedDockUpdater(Context context,
|
||||
DevicePreferenceCallback devicePreferenceCallback) {
|
||||
final DockUpdater updater = new DockUpdater() {
|
||||
};
|
||||
return updater;
|
||||
}
|
||||
}
|
@@ -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);
|
||||
|
||||
}
|
@@ -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();
|
||||
|
@@ -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) {
|
||||
|
@@ -30,6 +30,7 @@ import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider;
|
||||
import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
|
||||
import com.android.settings.gestures.AssistGestureFeatureProvider;
|
||||
import com.android.settings.localepicker.LocaleFeatureProvider;
|
||||
import com.android.settings.overlay.DockUpdaterFeatureProvider;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.overlay.SupportFeatureProvider;
|
||||
import com.android.settings.overlay.SurveyFeatureProvider;
|
||||
@@ -52,6 +53,7 @@ public class FakeFeatureFactory extends FeatureFactory {
|
||||
public final MetricsFeatureProvider metricsFeatureProvider;
|
||||
public final PowerUsageFeatureProvider powerUsageFeatureProvider;
|
||||
public final DashboardFeatureProvider dashboardFeatureProvider;
|
||||
public final DockUpdaterFeatureProvider dockUpdaterFeatureProvider;
|
||||
public final LocaleFeatureProvider localeFeatureProvider;
|
||||
public final ApplicationFeatureProvider applicationFeatureProvider;
|
||||
public final EnterprisePrivacyFeatureProvider enterprisePrivacyFeatureProvider;
|
||||
@@ -91,6 +93,7 @@ public class FakeFeatureFactory extends FeatureFactory {
|
||||
metricsFeatureProvider = mock(MetricsFeatureProvider.class);
|
||||
powerUsageFeatureProvider = mock(PowerUsageFeatureProvider.class);
|
||||
dashboardFeatureProvider = mock(DashboardFeatureProvider.class);
|
||||
dockUpdaterFeatureProvider = mock(DockUpdaterFeatureProvider.class);
|
||||
localeFeatureProvider = mock(LocaleFeatureProvider.class);
|
||||
applicationFeatureProvider = mock(ApplicationFeatureProvider.class);
|
||||
enterprisePrivacyFeatureProvider = mock(EnterprisePrivacyFeatureProvider.class);
|
||||
@@ -131,6 +134,11 @@ public class FakeFeatureFactory extends FeatureFactory {
|
||||
return dashboardFeatureProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DockUpdaterFeatureProvider getDockUpdaterFeatureProvider() {
|
||||
return dockUpdaterFeatureProvider;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApplicationFeatureProvider getApplicationFeatureProvider(Context context) {
|
||||
return applicationFeatureProvider;
|
||||
|
Reference in New Issue
Block a user