Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e598b1ae authored by Ivan Chiang's avatar Ivan Chiang Committed by android-build-merger
Browse files

Merge changes I3dd31855,Id5a75217 into pi-dev

am: 720a224e

Change-Id: Ibf611643afabea5ed181b0336da5e949d416e064
parents d7d1f98f 720a224e
Loading
Loading
Loading
Loading
+23 −7
Original line number Diff line number Diff line
@@ -22,16 +22,19 @@ import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceGroup;
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.core.BasePreferenceController;
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.overlay.DockUpdaterFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.lifecycle.events.OnStart;
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
@@ -47,6 +50,7 @@ public class ConnectedDeviceGroupController extends BasePreferenceController
    PreferenceGroup mPreferenceGroup;
    private BluetoothDeviceUpdater mBluetoothDeviceUpdater;
    private ConnectedUsbDeviceUpdater mConnectedUsbDeviceUpdater;
    private DockUpdater mConnectedDockUpdater;

    public ConnectedDeviceGroupController(Context context) {
        super(context, KEY);
@@ -56,12 +60,14 @@ public class ConnectedDeviceGroupController extends BasePreferenceController
    public void onStart() {
        mBluetoothDeviceUpdater.registerCallback();
        mConnectedUsbDeviceUpdater.registerCallback();
        mConnectedDockUpdater.registerCallback();
    }

    @Override
    public void onStop() {
        mConnectedUsbDeviceUpdater.unregisterCallback();
        mBluetoothDeviceUpdater.unregisterCallback();
        mConnectedDockUpdater.unregisterCallback();
    }

    @Override
@@ -74,6 +80,7 @@ public class ConnectedDeviceGroupController extends BasePreferenceController
            mBluetoothDeviceUpdater.setPrefContext(screen.getContext());
            mBluetoothDeviceUpdater.forceUpdate();
            mConnectedUsbDeviceUpdater.initUsbPreference(screen.getContext());
            mConnectedDockUpdater.forceUpdate();
        }
    }

@@ -107,13 +114,22 @@ public class ConnectedDeviceGroupController extends BasePreferenceController

    @VisibleForTesting
    public void init(BluetoothDeviceUpdater bluetoothDeviceUpdater,
            ConnectedUsbDeviceUpdater connectedUsbDeviceUpdater) {
            ConnectedUsbDeviceUpdater connectedUsbDeviceUpdater,
            DockUpdater connectedDockUpdater) {

        mBluetoothDeviceUpdater = bluetoothDeviceUpdater;
        mConnectedUsbDeviceUpdater = connectedUsbDeviceUpdater;
        mConnectedDockUpdater = connectedDockUpdater;
    }

    public void init(DashboardFragment fragment) {
        init(new ConnectedBluetoothDeviceUpdater(fragment.getContext(), fragment, this),
                new ConnectedUsbDeviceUpdater(fragment.getContext(), fragment, this));
        final Context context = fragment.getContext();
        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);
    }
}
+18 −1
Original line number Diff line number Diff line
@@ -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();
        }
    }

@@ -107,4 +119,9 @@ public class SavedDeviceGroupController extends BasePreferenceController
    public void setBluetoothDeviceUpdater(BluetoothDeviceUpdater bluetoothDeviceUpdater) {
        mBluetoothDeviceUpdater = bluetoothDeviceUpdater;
    }

    @VisibleForTesting
    public void setSavedDockUpdater(DockUpdater savedDockUpdater) {
        mSavedDockUpdater = savedDockUpdater;
    }
}
+8 −2
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ import static com.android.settings.core.BasePreferenceController.AVAILABLE;
import static com.android.settings.core.BasePreferenceController.DISABLED_UNSUPPORTED;

import static com.google.common.truth.Truth.assertThat;

import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.spy;
@@ -34,6 +35,7 @@ import android.support.v7.preference.PreferenceManager;
import android.support.v7.preference.PreferenceScreen;

import com.android.settings.bluetooth.ConnectedBluetoothDeviceUpdater;
import com.android.settings.connecteddevice.dock.DockUpdater;
import com.android.settings.connecteddevice.usb.ConnectedUsbDeviceUpdater;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.testutils.SettingsRobolectricTestRunner;
@@ -63,6 +65,8 @@ public class ConnectedDeviceGroupControllerTest {
    @Mock
    private ConnectedUsbDeviceUpdater mConnectedUsbDeviceUpdater;
    @Mock
    private DockUpdater mConnectedDockUpdater;
    @Mock
    private PreferenceScreen mPreferenceScreen;
    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
    private PreferenceManager mPreferenceManager;
@@ -87,8 +91,8 @@ public class ConnectedDeviceGroupControllerTest {
        doReturn(mContext).when(mDashboardFragment).getContext();

        mConnectedDeviceGroupController = new ConnectedDeviceGroupController(mContext);
        mConnectedDeviceGroupController
                .init(mConnectedBluetoothDeviceUpdater, mConnectedUsbDeviceUpdater);
        mConnectedDeviceGroupController.init(mConnectedBluetoothDeviceUpdater,
                mConnectedUsbDeviceUpdater, mConnectedDockUpdater);
        mConnectedDeviceGroupController.mPreferenceGroup = mPreferenceGroup;
    }

@@ -136,6 +140,7 @@ public class ConnectedDeviceGroupControllerTest {
        mConnectedDeviceGroupController.onStart();
        verify(mConnectedBluetoothDeviceUpdater).registerCallback();
        verify(mConnectedUsbDeviceUpdater).registerCallback();
        verify(mConnectedDockUpdater).registerCallback();
    }

    @Test
@@ -144,6 +149,7 @@ public class ConnectedDeviceGroupControllerTest {
        mConnectedDeviceGroupController.onStop();
        verify(mConnectedBluetoothDeviceUpdater).unregisterCallback();
        verify(mConnectedUsbDeviceUpdater).unregisterCallback();
        verify(mConnectedDockUpdater).unregisterCallback();
    }

    @Test
+7 −1
Original line number Diff line number Diff line
@@ -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() {