Merge changes I3dd31855,Id5a75217 into pi-dev am: 720a224e00

am: e598b1ae03

Change-Id: I715f7dba77f7ba10314ed4114b9eda1019171253
This commit is contained in:
Ivan Chiang
2018-04-26 19:13:07 -07:00
committed by android-build-merger
4 changed files with 56 additions and 11 deletions

View File

@@ -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);
} }
} }

View File

@@ -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;
} }
} }

View File

@@ -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

View File

@@ -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() {