Merge changes I3dd31855,Id5a75217 into pi-dev am: 720a224e00
am: e598b1ae03
Change-Id: I715f7dba77f7ba10314ed4114b9eda1019171253
This commit is contained in:
@@ -22,16 +22,19 @@ import androidx.preference.Preference;
|
|||||||
import androidx.preference.PreferenceGroup;
|
import androidx.preference.PreferenceGroup;
|
||||||
import androidx.preference.PreferenceScreen;
|
import androidx.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 androidx.preference.PreferenceGroup} for all
|
* Controller to maintain the {@link androidx.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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -24,9 +24,12 @@ import androidx.preference.PreferenceScreen;
|
|||||||
|
|
||||||
import com.android.settings.bluetooth.BluetoothDeviceUpdater;
|
import com.android.settings.bluetooth.BluetoothDeviceUpdater;
|
||||||
import com.android.settings.bluetooth.SavedBluetoothDeviceUpdater;
|
import com.android.settings.bluetooth.SavedBluetoothDeviceUpdater;
|
||||||
|
import com.android.settings.connecteddevice.dock.DockUpdater;
|
||||||
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.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.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
import com.android.settingslib.core.lifecycle.LifecycleObserver;
|
||||||
import com.android.settingslib.core.lifecycle.events.OnStart;
|
import com.android.settingslib.core.lifecycle.events.OnStart;
|
||||||
@@ -45,19 +48,27 @@ public class SavedDeviceGroupController extends BasePreferenceController
|
|||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
PreferenceGroup mPreferenceGroup;
|
PreferenceGroup mPreferenceGroup;
|
||||||
private BluetoothDeviceUpdater mBluetoothDeviceUpdater;
|
private BluetoothDeviceUpdater mBluetoothDeviceUpdater;
|
||||||
|
private DockUpdater mSavedDockUpdater;
|
||||||
|
|
||||||
public SavedDeviceGroupController(Context context) {
|
public SavedDeviceGroupController(Context context) {
|
||||||
super(context, KEY);
|
super(context, KEY);
|
||||||
|
|
||||||
|
DockUpdaterFeatureProvider dockUpdaterFeatureProvider =
|
||||||
|
FeatureFactory.getFactory(context).getDockUpdaterFeatureProvider();
|
||||||
|
mSavedDockUpdater =
|
||||||
|
dockUpdaterFeatureProvider.getSavedDockUpdater(context, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onStart() {
|
public void onStart() {
|
||||||
mBluetoothDeviceUpdater.registerCallback();
|
mBluetoothDeviceUpdater.registerCallback();
|
||||||
|
mSavedDockUpdater.registerCallback();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onStop() {
|
public void onStop() {
|
||||||
mBluetoothDeviceUpdater.unregisterCallback();
|
mBluetoothDeviceUpdater.unregisterCallback();
|
||||||
|
mSavedDockUpdater.unregisterCallback();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -67,6 +78,7 @@ public class SavedDeviceGroupController extends BasePreferenceController
|
|||||||
mPreferenceGroup.setVisible(false);
|
mPreferenceGroup.setVisible(false);
|
||||||
mBluetoothDeviceUpdater.setPrefContext(screen.getContext());
|
mBluetoothDeviceUpdater.setPrefContext(screen.getContext());
|
||||||
mBluetoothDeviceUpdater.forceUpdate();
|
mBluetoothDeviceUpdater.forceUpdate();
|
||||||
|
mSavedDockUpdater.forceUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -105,6 +117,11 @@ public class SavedDeviceGroupController extends BasePreferenceController
|
|||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
public void setBluetoothDeviceUpdater(BluetoothDeviceUpdater bluetoothDeviceUpdater) {
|
public void setBluetoothDeviceUpdater(BluetoothDeviceUpdater bluetoothDeviceUpdater) {
|
||||||
mBluetoothDeviceUpdater = bluetoothDeviceUpdater;
|
mBluetoothDeviceUpdater = bluetoothDeviceUpdater;
|
||||||
|
}
|
||||||
|
|
||||||
|
@VisibleForTesting
|
||||||
|
public void setSavedDockUpdater(DockUpdater savedDockUpdater) {
|
||||||
|
mSavedDockUpdater = savedDockUpdater;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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 androidx.preference.PreferenceManager;
|
|||||||
import androidx.preference.PreferenceScreen;
|
import androidx.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
|
||||||
|
@@ -27,6 +27,7 @@ import android.content.Context;
|
|||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import androidx.preference.PreferenceManager;
|
import androidx.preference.PreferenceManager;
|
||||||
import com.android.settings.bluetooth.BluetoothDeviceUpdater;
|
import com.android.settings.bluetooth.BluetoothDeviceUpdater;
|
||||||
|
import com.android.settings.connecteddevice.dock.DockUpdater;
|
||||||
import com.android.settings.dashboard.DashboardFragment;
|
import com.android.settings.dashboard.DashboardFragment;
|
||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||||
@@ -47,6 +48,8 @@ public class SavedDeviceGroupControllerTest {
|
|||||||
private DashboardFragment mDashboardFragment;
|
private DashboardFragment mDashboardFragment;
|
||||||
@Mock
|
@Mock
|
||||||
private BluetoothDeviceUpdater mBluetoothDeviceUpdater;
|
private BluetoothDeviceUpdater mBluetoothDeviceUpdater;
|
||||||
|
@Mock
|
||||||
|
private DockUpdater mSavedDockUpdater;
|
||||||
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
|
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
|
||||||
private PreferenceManager mPreferenceManager;
|
private PreferenceManager mPreferenceManager;
|
||||||
@Mock
|
@Mock
|
||||||
@@ -67,6 +70,7 @@ public class SavedDeviceGroupControllerTest {
|
|||||||
doReturn(mPackageManager).when(mContext).getPackageManager();
|
doReturn(mPackageManager).when(mContext).getPackageManager();
|
||||||
mSavedDeviceGroupController = new SavedDeviceGroupController(mContext);
|
mSavedDeviceGroupController = new SavedDeviceGroupController(mContext);
|
||||||
mSavedDeviceGroupController.setBluetoothDeviceUpdater(mBluetoothDeviceUpdater);
|
mSavedDeviceGroupController.setBluetoothDeviceUpdater(mBluetoothDeviceUpdater);
|
||||||
|
mSavedDeviceGroupController.setSavedDockUpdater(mSavedDockUpdater);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
@@ -74,12 +78,14 @@ public class SavedDeviceGroupControllerTest {
|
|||||||
// register the callback in onStart()
|
// register the callback in onStart()
|
||||||
mSavedDeviceGroupController.onStart();
|
mSavedDeviceGroupController.onStart();
|
||||||
verify(mBluetoothDeviceUpdater).registerCallback();
|
verify(mBluetoothDeviceUpdater).registerCallback();
|
||||||
|
verify(mSavedDockUpdater).registerCallback();
|
||||||
}
|
}
|
||||||
@Test
|
@Test
|
||||||
public void testUnregister() {
|
public void testUnregister() {
|
||||||
// unregister the callback in onStop()
|
// unregister the callback in onStop()
|
||||||
mSavedDeviceGroupController.onStop();
|
mSavedDeviceGroupController.onStop();
|
||||||
verify(mBluetoothDeviceUpdater).unregisterCallback();
|
verify(mBluetoothDeviceUpdater).unregisterCallback();
|
||||||
|
verify(mSavedDockUpdater).unregisterCallback();
|
||||||
}
|
}
|
||||||
@Test
|
@Test
|
||||||
public void testGetAvailabilityStatus_noBluetoothFeature_returnUnSupported() {
|
public void testGetAvailabilityStatus_noBluetoothFeature_returnUnSupported() {
|
||||||
@@ -93,4 +99,4 @@ public class SavedDeviceGroupControllerTest {
|
|||||||
assertThat(mSavedDeviceGroupController.getAvailabilityStatus()).isEqualTo(
|
assertThat(mSavedDeviceGroupController.getAvailabilityStatus()).isEqualTo(
|
||||||
AVAILABLE);
|
AVAILABLE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user