diff --git a/src/com/android/settings/connecteddevice/SavedDeviceGroupController.java b/src/com/android/settings/connecteddevice/SavedDeviceGroupController.java index b1f83601013..f80c87792a5 100644 --- a/src/com/android/settings/connecteddevice/SavedDeviceGroupController.java +++ b/src/com/android/settings/connecteddevice/SavedDeviceGroupController.java @@ -24,9 +24,12 @@ import android.support.v7.preference.PreferenceScreen; import com.android.settings.bluetooth.BluetoothDeviceUpdater; import com.android.settings.bluetooth.SavedBluetoothDeviceUpdater; +import com.android.settings.connecteddevice.dock.DockUpdater; import com.android.settings.core.BasePreferenceController; import com.android.settings.core.PreferenceControllerMixin; import com.android.settings.dashboard.DashboardFragment; +import com.android.settings.overlay.DockUpdaterFeatureProvider; +import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.LifecycleObserver; import com.android.settingslib.core.lifecycle.events.OnStart; @@ -45,19 +48,27 @@ public class SavedDeviceGroupController extends BasePreferenceController @VisibleForTesting PreferenceGroup mPreferenceGroup; private BluetoothDeviceUpdater mBluetoothDeviceUpdater; + private DockUpdater mSavedDockUpdater; public SavedDeviceGroupController(Context context) { super(context, KEY); + + DockUpdaterFeatureProvider dockUpdaterFeatureProvider = + FeatureFactory.getFactory(context).getDockUpdaterFeatureProvider(); + mSavedDockUpdater = + dockUpdaterFeatureProvider.getSavedDockUpdater(context, this); } @Override public void onStart() { mBluetoothDeviceUpdater.registerCallback(); + mSavedDockUpdater.registerCallback(); } @Override public void onStop() { mBluetoothDeviceUpdater.unregisterCallback(); + mSavedDockUpdater.unregisterCallback(); } @Override @@ -67,6 +78,7 @@ public class SavedDeviceGroupController extends BasePreferenceController mPreferenceGroup.setVisible(false); mBluetoothDeviceUpdater.setPrefContext(screen.getContext()); mBluetoothDeviceUpdater.forceUpdate(); + mSavedDockUpdater.forceUpdate(); } } @@ -105,6 +117,11 @@ public class SavedDeviceGroupController extends BasePreferenceController @VisibleForTesting public void setBluetoothDeviceUpdater(BluetoothDeviceUpdater bluetoothDeviceUpdater) { - mBluetoothDeviceUpdater = bluetoothDeviceUpdater; + mBluetoothDeviceUpdater = bluetoothDeviceUpdater; + } + + @VisibleForTesting + public void setSavedDockUpdater(DockUpdater savedDockUpdater) { + mSavedDockUpdater = savedDockUpdater; } } diff --git a/tests/robotests/src/com/android/settings/connecteddevice/SavedDeviceGroupControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/SavedDeviceGroupControllerTest.java index 1b1b88dc6bd..71c101085fe 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/SavedDeviceGroupControllerTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/SavedDeviceGroupControllerTest.java @@ -27,6 +27,7 @@ import android.content.Context; import android.content.pm.PackageManager; import android.support.v7.preference.PreferenceManager; import com.android.settings.bluetooth.BluetoothDeviceUpdater; +import com.android.settings.connecteddevice.dock.DockUpdater; import com.android.settings.dashboard.DashboardFragment; import com.android.settings.testutils.SettingsRobolectricTestRunner; import com.android.settingslib.core.lifecycle.Lifecycle; @@ -47,6 +48,8 @@ public class SavedDeviceGroupControllerTest { private DashboardFragment mDashboardFragment; @Mock private BluetoothDeviceUpdater mBluetoothDeviceUpdater; + @Mock + private DockUpdater mSavedDockUpdater; @Mock(answer = Answers.RETURNS_DEEP_STUBS) private PreferenceManager mPreferenceManager; @Mock @@ -67,6 +70,7 @@ public class SavedDeviceGroupControllerTest { doReturn(mPackageManager).when(mContext).getPackageManager(); mSavedDeviceGroupController = new SavedDeviceGroupController(mContext); mSavedDeviceGroupController.setBluetoothDeviceUpdater(mBluetoothDeviceUpdater); + mSavedDeviceGroupController.setSavedDockUpdater(mSavedDockUpdater); } @Test @@ -74,12 +78,14 @@ public class SavedDeviceGroupControllerTest { // register the callback in onStart() mSavedDeviceGroupController.onStart(); verify(mBluetoothDeviceUpdater).registerCallback(); + verify(mSavedDockUpdater).registerCallback(); } @Test public void testUnregister() { // unregister the callback in onStop() mSavedDeviceGroupController.onStop(); verify(mBluetoothDeviceUpdater).unregisterCallback(); + verify(mSavedDockUpdater).unregisterCallback(); } @Test public void testGetAvailabilityStatus_noBluetoothFeature_returnUnSupported() { @@ -93,4 +99,4 @@ public class SavedDeviceGroupControllerTest { assertThat(mSavedDeviceGroupController.getAvailabilityStatus()).isEqualTo( AVAILABLE); } -} \ No newline at end of file +}