Show Dock devices in Connected devices page
Implement Connected Dock Devices part into ConnectedDeviceGroupController. Bug: 77945034 Test: m -j SettingsRoboTests RunSettingsRoboTests Change-Id: Id5a75217f64d84038222604fca40613361e6f45d
This commit is contained in:
@@ -22,16 +22,19 @@ import android.support.v7.preference.Preference;
|
|||||||
import android.support.v7.preference.PreferenceGroup;
|
import android.support.v7.preference.PreferenceGroup;
|
||||||
import android.support.v7.preference.PreferenceScreen;
|
import android.support.v7.preference.PreferenceScreen;
|
||||||
|
|
||||||
|
import com.android.settings.bluetooth.BluetoothDeviceUpdater;
|
||||||
|
import com.android.settings.bluetooth.ConnectedBluetoothDeviceUpdater;
|
||||||
|
import com.android.settings.connecteddevice.dock.DockUpdater;
|
||||||
import com.android.settings.connecteddevice.usb.ConnectedUsbDeviceUpdater;
|
import com.android.settings.connecteddevice.usb.ConnectedUsbDeviceUpdater;
|
||||||
import com.android.settings.core.BasePreferenceController;
|
import com.android.settings.core.BasePreferenceController;
|
||||||
import com.android.settings.core.PreferenceControllerMixin;
|
import com.android.settings.core.PreferenceControllerMixin;
|
||||||
import com.android.settings.bluetooth.BluetoothDeviceUpdater;
|
|
||||||
import com.android.settings.bluetooth.ConnectedBluetoothDeviceUpdater;
|
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
|
||||||
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
|
||||||
import com.android.settings.dashboard.DashboardFragment;
|
import com.android.settings.dashboard.DashboardFragment;
|
||||||
|
import com.android.settings.overlay.DockUpdaterFeatureProvider;
|
||||||
|
import com.android.settings.overlay.FeatureFactory;
|
||||||
import com.android.settingslib.core.lifecycle.events.OnStart;
|
import com.android.settingslib.core.lifecycle.events.OnStart;
|
||||||
import com.android.settingslib.core.lifecycle.events.OnStop;
|
import com.android.settingslib.core.lifecycle.events.OnStop;
|
||||||
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
|
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Controller to maintain the {@link android.support.v7.preference.PreferenceGroup} for all
|
* Controller to maintain the {@link android.support.v7.preference.PreferenceGroup} for all
|
||||||
@@ -47,6 +50,7 @@ public class ConnectedDeviceGroupController extends BasePreferenceController
|
|||||||
PreferenceGroup mPreferenceGroup;
|
PreferenceGroup mPreferenceGroup;
|
||||||
private BluetoothDeviceUpdater mBluetoothDeviceUpdater;
|
private BluetoothDeviceUpdater mBluetoothDeviceUpdater;
|
||||||
private ConnectedUsbDeviceUpdater mConnectedUsbDeviceUpdater;
|
private ConnectedUsbDeviceUpdater mConnectedUsbDeviceUpdater;
|
||||||
|
private DockUpdater mConnectedDockUpdater;
|
||||||
|
|
||||||
public ConnectedDeviceGroupController(Context context) {
|
public ConnectedDeviceGroupController(Context context) {
|
||||||
super(context, KEY);
|
super(context, KEY);
|
||||||
@@ -56,12 +60,14 @@ public class ConnectedDeviceGroupController extends BasePreferenceController
|
|||||||
public void onStart() {
|
public void onStart() {
|
||||||
mBluetoothDeviceUpdater.registerCallback();
|
mBluetoothDeviceUpdater.registerCallback();
|
||||||
mConnectedUsbDeviceUpdater.registerCallback();
|
mConnectedUsbDeviceUpdater.registerCallback();
|
||||||
|
mConnectedDockUpdater.registerCallback();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onStop() {
|
public void onStop() {
|
||||||
mConnectedUsbDeviceUpdater.unregisterCallback();
|
mConnectedUsbDeviceUpdater.unregisterCallback();
|
||||||
mBluetoothDeviceUpdater.unregisterCallback();
|
mBluetoothDeviceUpdater.unregisterCallback();
|
||||||
|
mConnectedDockUpdater.unregisterCallback();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -74,6 +80,7 @@ public class ConnectedDeviceGroupController extends BasePreferenceController
|
|||||||
mBluetoothDeviceUpdater.setPrefContext(screen.getContext());
|
mBluetoothDeviceUpdater.setPrefContext(screen.getContext());
|
||||||
mBluetoothDeviceUpdater.forceUpdate();
|
mBluetoothDeviceUpdater.forceUpdate();
|
||||||
mConnectedUsbDeviceUpdater.initUsbPreference(screen.getContext());
|
mConnectedUsbDeviceUpdater.initUsbPreference(screen.getContext());
|
||||||
|
mConnectedDockUpdater.forceUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -107,13 +114,22 @@ public class ConnectedDeviceGroupController extends BasePreferenceController
|
|||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
public void init(BluetoothDeviceUpdater bluetoothDeviceUpdater,
|
public void init(BluetoothDeviceUpdater bluetoothDeviceUpdater,
|
||||||
ConnectedUsbDeviceUpdater connectedUsbDeviceUpdater) {
|
ConnectedUsbDeviceUpdater connectedUsbDeviceUpdater,
|
||||||
|
DockUpdater connectedDockUpdater) {
|
||||||
|
|
||||||
mBluetoothDeviceUpdater = bluetoothDeviceUpdater;
|
mBluetoothDeviceUpdater = bluetoothDeviceUpdater;
|
||||||
mConnectedUsbDeviceUpdater = connectedUsbDeviceUpdater;
|
mConnectedUsbDeviceUpdater = connectedUsbDeviceUpdater;
|
||||||
|
mConnectedDockUpdater = connectedDockUpdater;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void init(DashboardFragment fragment) {
|
public void init(DashboardFragment fragment) {
|
||||||
init(new ConnectedBluetoothDeviceUpdater(fragment.getContext(), fragment, this),
|
final Context context = fragment.getContext();
|
||||||
new ConnectedUsbDeviceUpdater(fragment.getContext(), fragment, this));
|
DockUpdaterFeatureProvider dockUpdaterFeatureProvider =
|
||||||
|
FeatureFactory.getFactory(context).getDockUpdaterFeatureProvider();
|
||||||
|
final DockUpdater connectedDockUpdater =
|
||||||
|
dockUpdaterFeatureProvider.getConnectedDockUpdater(context, this);
|
||||||
|
init(new ConnectedBluetoothDeviceUpdater(context, fragment, this),
|
||||||
|
new ConnectedUsbDeviceUpdater(context, fragment, this),
|
||||||
|
connectedDockUpdater);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -19,6 +19,7 @@ import static com.android.settings.core.BasePreferenceController.AVAILABLE;
|
|||||||
import static com.android.settings.core.BasePreferenceController.DISABLED_UNSUPPORTED;
|
import static com.android.settings.core.BasePreferenceController.DISABLED_UNSUPPORTED;
|
||||||
|
|
||||||
import static com.google.common.truth.Truth.assertThat;
|
import static com.google.common.truth.Truth.assertThat;
|
||||||
|
|
||||||
import static org.mockito.Matchers.anyString;
|
import static org.mockito.Matchers.anyString;
|
||||||
import static org.mockito.Mockito.doReturn;
|
import static org.mockito.Mockito.doReturn;
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
@@ -34,6 +35,7 @@ import android.support.v7.preference.PreferenceManager;
|
|||||||
import android.support.v7.preference.PreferenceScreen;
|
import android.support.v7.preference.PreferenceScreen;
|
||||||
|
|
||||||
import com.android.settings.bluetooth.ConnectedBluetoothDeviceUpdater;
|
import com.android.settings.bluetooth.ConnectedBluetoothDeviceUpdater;
|
||||||
|
import com.android.settings.connecteddevice.dock.DockUpdater;
|
||||||
import com.android.settings.connecteddevice.usb.ConnectedUsbDeviceUpdater;
|
import com.android.settings.connecteddevice.usb.ConnectedUsbDeviceUpdater;
|
||||||
import com.android.settings.dashboard.DashboardFragment;
|
import com.android.settings.dashboard.DashboardFragment;
|
||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||||
@@ -63,6 +65,8 @@ public class ConnectedDeviceGroupControllerTest {
|
|||||||
@Mock
|
@Mock
|
||||||
private ConnectedUsbDeviceUpdater mConnectedUsbDeviceUpdater;
|
private ConnectedUsbDeviceUpdater mConnectedUsbDeviceUpdater;
|
||||||
@Mock
|
@Mock
|
||||||
|
private DockUpdater mConnectedDockUpdater;
|
||||||
|
@Mock
|
||||||
private PreferenceScreen mPreferenceScreen;
|
private PreferenceScreen mPreferenceScreen;
|
||||||
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
|
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
|
||||||
private PreferenceManager mPreferenceManager;
|
private PreferenceManager mPreferenceManager;
|
||||||
@@ -87,8 +91,8 @@ public class ConnectedDeviceGroupControllerTest {
|
|||||||
doReturn(mContext).when(mDashboardFragment).getContext();
|
doReturn(mContext).when(mDashboardFragment).getContext();
|
||||||
|
|
||||||
mConnectedDeviceGroupController = new ConnectedDeviceGroupController(mContext);
|
mConnectedDeviceGroupController = new ConnectedDeviceGroupController(mContext);
|
||||||
mConnectedDeviceGroupController
|
mConnectedDeviceGroupController.init(mConnectedBluetoothDeviceUpdater,
|
||||||
.init(mConnectedBluetoothDeviceUpdater, mConnectedUsbDeviceUpdater);
|
mConnectedUsbDeviceUpdater, mConnectedDockUpdater);
|
||||||
mConnectedDeviceGroupController.mPreferenceGroup = mPreferenceGroup;
|
mConnectedDeviceGroupController.mPreferenceGroup = mPreferenceGroup;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -136,6 +140,7 @@ public class ConnectedDeviceGroupControllerTest {
|
|||||||
mConnectedDeviceGroupController.onStart();
|
mConnectedDeviceGroupController.onStart();
|
||||||
verify(mConnectedBluetoothDeviceUpdater).registerCallback();
|
verify(mConnectedBluetoothDeviceUpdater).registerCallback();
|
||||||
verify(mConnectedUsbDeviceUpdater).registerCallback();
|
verify(mConnectedUsbDeviceUpdater).registerCallback();
|
||||||
|
verify(mConnectedDockUpdater).registerCallback();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -144,6 +149,7 @@ public class ConnectedDeviceGroupControllerTest {
|
|||||||
mConnectedDeviceGroupController.onStop();
|
mConnectedDeviceGroupController.onStop();
|
||||||
verify(mConnectedBluetoothDeviceUpdater).unregisterCallback();
|
verify(mConnectedBluetoothDeviceUpdater).unregisterCallback();
|
||||||
verify(mConnectedUsbDeviceUpdater).unregisterCallback();
|
verify(mConnectedUsbDeviceUpdater).unregisterCallback();
|
||||||
|
verify(mConnectedDockUpdater).unregisterCallback();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Reference in New Issue
Block a user