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

Commit 6b76e347 authored by Ivan Chiang's avatar Ivan Chiang
Browse files

Show docks on previously connected devices page

Implement previously connected Dock Devices part into
SavedDeviceGroupController.

Bug: 78095209
Test: m -j SettingsRoboTests RunSettingsRoboTests
Change-Id: I3dd318556167c98bc90c0c1c7281804177b9ff74
parent 98e37691
Loading
Loading
Loading
Loading
+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;
    }
}
+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() {