Merge "Add DockUpdaterFeatureProvider and DockUpdater." into pi-dev am: 820a26c6bd
am: e7f3afba9d
Change-Id: I0b1e8dd9f23b2077051341a991f309ace42cbb34
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 DashboardFeatureProvider getDashboardFeatureProvider(Context context);
|
||||||
|
|
||||||
|
public abstract DockUpdaterFeatureProvider getDockUpdaterFeatureProvider();
|
||||||
|
|
||||||
public abstract ApplicationFeatureProvider getApplicationFeatureProvider(Context context);
|
public abstract ApplicationFeatureProvider getApplicationFeatureProvider(Context context);
|
||||||
|
|
||||||
public abstract LocaleFeatureProvider getLocaleFeatureProvider();
|
public abstract LocaleFeatureProvider getLocaleFeatureProvider();
|
||||||
|
@@ -29,6 +29,7 @@ import com.android.settings.applications.ApplicationFeatureProvider;
|
|||||||
import com.android.settings.applications.ApplicationFeatureProviderImpl;
|
import com.android.settings.applications.ApplicationFeatureProviderImpl;
|
||||||
import com.android.settings.bluetooth.BluetoothFeatureProvider;
|
import com.android.settings.bluetooth.BluetoothFeatureProvider;
|
||||||
import com.android.settings.bluetooth.BluetoothFeatureProviderImpl;
|
import com.android.settings.bluetooth.BluetoothFeatureProviderImpl;
|
||||||
|
import com.android.settings.connecteddevice.dock.DockUpdaterFeatureProviderImpl;
|
||||||
import com.android.settings.dashboard.DashboardFeatureProvider;
|
import com.android.settings.dashboard.DashboardFeatureProvider;
|
||||||
import com.android.settings.dashboard.DashboardFeatureProviderImpl;
|
import com.android.settings.dashboard.DashboardFeatureProviderImpl;
|
||||||
import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider;
|
import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider;
|
||||||
@@ -63,6 +64,7 @@ public class FeatureFactoryImpl extends FeatureFactory {
|
|||||||
private ApplicationFeatureProvider mApplicationFeatureProvider;
|
private ApplicationFeatureProvider mApplicationFeatureProvider;
|
||||||
private MetricsFeatureProvider mMetricsFeatureProvider;
|
private MetricsFeatureProvider mMetricsFeatureProvider;
|
||||||
private DashboardFeatureProviderImpl mDashboardFeatureProvider;
|
private DashboardFeatureProviderImpl mDashboardFeatureProvider;
|
||||||
|
private DockUpdaterFeatureProvider mDockUpdaterFeatureProvider;
|
||||||
private LocaleFeatureProvider mLocaleFeatureProvider;
|
private LocaleFeatureProvider mLocaleFeatureProvider;
|
||||||
private EnterprisePrivacyFeatureProvider mEnterprisePrivacyFeatureProvider;
|
private EnterprisePrivacyFeatureProvider mEnterprisePrivacyFeatureProvider;
|
||||||
private SearchFeatureProvider mSearchFeatureProvider;
|
private SearchFeatureProvider mSearchFeatureProvider;
|
||||||
@@ -105,6 +107,14 @@ public class FeatureFactoryImpl extends FeatureFactory {
|
|||||||
return mDashboardFeatureProvider;
|
return mDashboardFeatureProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DockUpdaterFeatureProvider getDockUpdaterFeatureProvider() {
|
||||||
|
if (mDockUpdaterFeatureProvider == null) {
|
||||||
|
mDockUpdaterFeatureProvider = new DockUpdaterFeatureProviderImpl();
|
||||||
|
}
|
||||||
|
return mDockUpdaterFeatureProvider;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApplicationFeatureProvider getApplicationFeatureProvider(Context context) {
|
public ApplicationFeatureProvider getApplicationFeatureProvider(Context context) {
|
||||||
if (mApplicationFeatureProvider == null) {
|
if (mApplicationFeatureProvider == null) {
|
||||||
|
@@ -30,6 +30,7 @@ import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider;
|
|||||||
import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
|
import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
|
||||||
import com.android.settings.gestures.AssistGestureFeatureProvider;
|
import com.android.settings.gestures.AssistGestureFeatureProvider;
|
||||||
import com.android.settings.localepicker.LocaleFeatureProvider;
|
import com.android.settings.localepicker.LocaleFeatureProvider;
|
||||||
|
import com.android.settings.overlay.DockUpdaterFeatureProvider;
|
||||||
import com.android.settings.overlay.FeatureFactory;
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
import com.android.settings.overlay.SupportFeatureProvider;
|
import com.android.settings.overlay.SupportFeatureProvider;
|
||||||
import com.android.settings.overlay.SurveyFeatureProvider;
|
import com.android.settings.overlay.SurveyFeatureProvider;
|
||||||
@@ -52,6 +53,7 @@ public class FakeFeatureFactory extends FeatureFactory {
|
|||||||
public final MetricsFeatureProvider metricsFeatureProvider;
|
public final MetricsFeatureProvider metricsFeatureProvider;
|
||||||
public final PowerUsageFeatureProvider powerUsageFeatureProvider;
|
public final PowerUsageFeatureProvider powerUsageFeatureProvider;
|
||||||
public final DashboardFeatureProvider dashboardFeatureProvider;
|
public final DashboardFeatureProvider dashboardFeatureProvider;
|
||||||
|
public final DockUpdaterFeatureProvider dockUpdaterFeatureProvider;
|
||||||
public final LocaleFeatureProvider localeFeatureProvider;
|
public final LocaleFeatureProvider localeFeatureProvider;
|
||||||
public final ApplicationFeatureProvider applicationFeatureProvider;
|
public final ApplicationFeatureProvider applicationFeatureProvider;
|
||||||
public final EnterprisePrivacyFeatureProvider enterprisePrivacyFeatureProvider;
|
public final EnterprisePrivacyFeatureProvider enterprisePrivacyFeatureProvider;
|
||||||
@@ -91,6 +93,7 @@ public class FakeFeatureFactory extends FeatureFactory {
|
|||||||
metricsFeatureProvider = mock(MetricsFeatureProvider.class);
|
metricsFeatureProvider = mock(MetricsFeatureProvider.class);
|
||||||
powerUsageFeatureProvider = mock(PowerUsageFeatureProvider.class);
|
powerUsageFeatureProvider = mock(PowerUsageFeatureProvider.class);
|
||||||
dashboardFeatureProvider = mock(DashboardFeatureProvider.class);
|
dashboardFeatureProvider = mock(DashboardFeatureProvider.class);
|
||||||
|
dockUpdaterFeatureProvider = mock(DockUpdaterFeatureProvider.class);
|
||||||
localeFeatureProvider = mock(LocaleFeatureProvider.class);
|
localeFeatureProvider = mock(LocaleFeatureProvider.class);
|
||||||
applicationFeatureProvider = mock(ApplicationFeatureProvider.class);
|
applicationFeatureProvider = mock(ApplicationFeatureProvider.class);
|
||||||
enterprisePrivacyFeatureProvider = mock(EnterprisePrivacyFeatureProvider.class);
|
enterprisePrivacyFeatureProvider = mock(EnterprisePrivacyFeatureProvider.class);
|
||||||
@@ -131,6 +134,11 @@ public class FakeFeatureFactory extends FeatureFactory {
|
|||||||
return dashboardFeatureProvider;
|
return dashboardFeatureProvider;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DockUpdaterFeatureProvider getDockUpdaterFeatureProvider() {
|
||||||
|
return dockUpdaterFeatureProvider;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApplicationFeatureProvider getApplicationFeatureProvider(Context context) {
|
public ApplicationFeatureProvider getApplicationFeatureProvider(Context context) {
|
||||||
return applicationFeatureProvider;
|
return applicationFeatureProvider;
|
||||||
|
Reference in New Issue
Block a user