From b79e0d4279de0057f35514e1b9d8e44df04f3556 Mon Sep 17 00:00:00 2001 From: jackqdyulei Date: Tue, 21 Nov 2017 16:54:51 -0800 Subject: [PATCH] Add preferences in new connected device page 1. Add device preference 2. connection preference This cl add click action for Add device preference. Action for connection preference will be added in future cl. Bug: 69333961 Test: Screenshot | RunSettingsRoboTests Change-Id: Ifb1afc8371ee45165ea22a7a195a774ba04fdeea --- res/values/strings.xml | 6 +++++ res/xml/connected_devices.xml | 14 +++++++++++ .../bluetooth/BluetoothPairingDetail.java | 12 +++++++++- .../ConnectedDeviceDashboardFragment.java | 2 +- .../bluetooth/BluetoothPairingDetailTest.java | 24 +++++++++++++++---- 5 files changed, 51 insertions(+), 7 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 3fb50e5e09b..40152f73cb7 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -398,6 +398,12 @@ Currently connected Saved devices + + Add device + + Bluetooth will turn on to enable pairing + + Connection preferences Date & time diff --git a/res/xml/connected_devices.xml b/res/xml/connected_devices.xml index 497a485166f..5417051103c 100644 --- a/res/xml/connected_devices.xml +++ b/res/xml/connected_devices.xml @@ -16,6 +16,7 @@ @@ -26,4 +27,17 @@ + + + + diff --git a/src/com/android/settings/bluetooth/BluetoothPairingDetail.java b/src/com/android/settings/bluetooth/BluetoothPairingDetail.java index fcfa3e2336e..a9756a6951b 100644 --- a/src/com/android/settings/bluetooth/BluetoothPairingDetail.java +++ b/src/com/android/settings/bluetooth/BluetoothPairingDetail.java @@ -73,10 +73,20 @@ public class BluetoothPairingDetail extends DeviceListPreferenceFragment impleme public void onStart() { super.onStart(); - updateContent(mLocalAdapter.getBluetoothState()); + updateBluetooth(); mAvailableDevicesCategory.setProgress(mLocalAdapter.isDiscovering()); } + @VisibleForTesting + void updateBluetooth() { + if (mLocalAdapter.isEnabled()) { + updateContent(mLocalAdapter.getBluetoothState()); + } else { + // Turn on bluetooth if it is disabled + mLocalAdapter.enable(); + } + } + @Override public void onStop() { super.onStop(); diff --git a/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java b/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java index e4a6a64c3e6..e9ae11ef408 100644 --- a/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java +++ b/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java @@ -64,8 +64,8 @@ public class ConnectedDeviceDashboardFragment extends DashboardFragment { controllers.add(new ConnectedDeviceGroupController(this, lifecycle)); controllers.add(new SavedDeviceGroupController(this, lifecycle)); - return controllers; + return controllers; } @VisibleForTesting diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDetailTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDetailTest.java index 2b30ae404cf..f434186a088 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDetailTest.java +++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDetailTest.java @@ -31,7 +31,6 @@ import static org.mockito.Mockito.verify; import android.bluetooth.BluetoothAdapter; import android.content.Context; import android.content.res.Resources; -import android.os.UserManager; import android.support.v7.preference.PreferenceGroup; import com.android.settings.R; @@ -55,8 +54,6 @@ import org.robolectric.annotation.Config; @Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION_O) public class BluetoothPairingDetailTest { - @Mock - private UserManager mUserManager; @Mock private Resources mResource; @Mock @@ -133,6 +130,25 @@ public class BluetoothPairingDetailTest { verify(mFragment).finish(); } + @Test + public void testUpdateBluetooth_bluetoothOff_turnOnBluetooth() { + doReturn(false).when(mLocalAdapter).isEnabled(); + + mFragment.updateBluetooth(); + + verify(mLocalAdapter).enable(); + } + + @Test + public void testUpdateBluetooth_bluetoothOn_updateState() { + doReturn(true).when(mLocalAdapter).isEnabled(); + doNothing().when(mFragment).updateContent(anyInt()); + + mFragment.updateBluetooth(); + + verify(mFragment).updateContent(anyInt()); + } + @Test public void testOnScanningStateChanged_restartScanAfterInitialScanning() { mFragment.mAvailableDevicesCategory = mAvailableDevicesCategory; @@ -181,6 +197,4 @@ public class BluetoothPairingDetailTest { verify(mAvailableDevicesCategory, times(1)).removeAll(); } - - }