Commit Graph

17 Commits

Author SHA1 Message Date
hughchen
76dcfdedf2 Fix incorrect UI issue of "previously connected devices"
This CL before, the bt device still showing on
"previously connected devices" after forgot that bt device.
It because the list of getMostRecentlyConnectedDevices()
will not include BOND_NONE device. We need to remove the
device that not include in list of getMostRecentlyConnectedDevices() .

This CL add removePreferenceIfNecessary() to check the device whether
is contained in getMostRecentlyConnectedDevices(). If not, remove the
preference.

Bug: 149193092
Test: make -j42 RunSettingsRoboTests
Change-Id: I94bedf222b64d9f05dc6f979b79dbc8794c0f97d
2020-02-10 19:16:56 +08:00
hughchen
1b3f570a67 Fix bluetooth settings force close
This CL include following change:

- Add null check of cacedBluetoothDevice, cachedBluetooth could be null
  if the input BluetoothDevice can't found in
  CachedBluetoothDeviceManager.
- Move addPreference() and removePreference() to update() method,
  because update() will be called to update UI when recevice Bluetooth
  device change event.
- Add test case to test CachedBluetoothDevice null check.

Bug: 149068434
Test: make -j42 RunSettingsRoboTests
Change-Id: I90016bf1175925821b0d9b634c62cf796289a734
2020-02-10 10:45:51 +08:00
hughchen
0ab3283ccf Update api name
Use CachedBluetoothDevice.connect() instead of
CachedBluetoothDevice.connect(boolean) to connect
Bluetooth device.

Fixes: 141582844
Test: manually
Change-Id: I8c50678bdfd6de89fb8d56122bfa38bdd5ac5c9d
2020-01-14 16:10:06 +08:00
hughchen
14e0fe2707 Put newly discovered devices to the bottom of the list
Add two type SortType.TYPE_DEFAULT and SortType.TYPE_FIFO in BluetoothDevicePreference.
It needs to decide the sort type when you create the BluetoothDevicePreference.
TYPE_DEFAULT - According to the CacheBluetoothDevice state to sort
TYPE_FIFO - According to the timestamp to sort

Bug: 112546918
Test: make -j42 RunSettingsRoboTests
Change-Id: Icd25d9b76a44d5a105f8daf64e5bc1f9ead8cd92
2019-07-24 15:27:17 +08:00
jackqdyulei
a2208c008b Fix broken bluetooth robo tests
Bug: 129159331
Test: RunSettingsRoboTests
Change-Id: I3e64659e59fd9b2ac58bf697116e1ee34928a3cd
2019-03-25 13:15:30 -07:00
James Lemieux
f1dade40d2 Use binary resource support in robolectric
The resources available to tests are now exactly the merged resources
located in the APK under test.

Bug: 74359828
Test: make -j56 RunSettingsRoboTests
Change-Id: I050db81a92decefea23314b5ec7a62f77ff4bb2b
2018-12-12 19:53:49 -08:00
jackqdyulei
0edde89f83 Add ACL state listener for bt devices
Bug: 79947085
Test: RunSettingsRoboTests
Change-Id: Ic8bee34fa940f95265ed838f7c7f038ba3cf8143
2018-10-30 15:54:41 -07:00
jackqdyulei
8800b9e1ff Use isConnected in CachedBluetoothDevice
This method check whether it has connected profile, not physical
connection between devices.

It make more sense to use it in settings:
1. We only care about whether it has active profile(i.e. A2dp, hfp..)
2. Sometime when profile is disconnected, BluetoothDevice.isConnected()
still return true. This may make UI flaky.

Bug: 79947085
Test: RunSettingsRoboTests
Change-Id: I44039704508a742c7a8aef0a035afcf169b08939
2018-10-02 15:55:21 -07:00
timhypeng
f43a1f185d Remove test-purpose constructor from SavedBluetoothDeviceUpdater
- replace mock object with ShadowBluetoothAdapter

Bug: 111848213
Test: make -j50 RunSettingsRoboTests
Change-Id: Iff69ed511b23846078925609bb603ae414956ea3
2018-08-16 01:25:01 +00:00
hughchen
70758584dc Check the device is connected when receive onProfileConnectionStateChanged()
Use isFilterMatched() to decide the prefernce should be added
or removed when receive onProfileConnectionStateChanged()

Bug: 80161203
Test: make -j42 RunSettingsRoboTests
Change-Id: Icccdb9007b587d3f481a23856edd7b2f7c9b04e0
2018-07-31 16:49:12 +08:00
Fan Zhang
c7162cd24d Reorder and clean up imports.
Test: rebuild
Change-Id: I178485c84ae7146f991fd77b6d7504b029942a68
2018-06-18 15:45:09 -07:00
timhypeng
1ae09fe2bf Click left side of list in "previously connected devices" should connect to the device
* For fix the TreeHugger error in pi-dev, cherry pick the ag/3943978 in
  master and fix TreeHugger error. Change android.support.v7.* to androidx.*
* In "previously connected devices", to connect device
* In "Available media devices", to activate device

Bug: 77607104
Test: make -j50 RunSettingsRoboTests
Change-Id: If5005031bd3f5dc4950abf2c77575785cd6f67b1
2018-05-14 11:26:43 +08:00
ryanywlin
5365eaa6db Use another callback to notify the updater that UI should be updated
Replace onConnectionStateChanged callback
with onProfileConnectionStateChanged. While
updater is notified, isFilterMatched(cachedDevice)
will decide whether to add/remove from UI based
on audio profiles and audio mode.

Bug: 76447449
Test: make RunSettingsRoboTests -j28
Change-Id: Icfba1ce2297e4638679158f9f99bae276940d885
2018-05-11 05:44:43 +00:00
hughchen
aa31bd43a3 Implement previously connected device UI
* Move save device group to "Previously connected devices"

Bug: 74134939
Test: make -j60 RunSettingsRoboTests
Change-Id: Iff7894033df402d42dcc0ccaea6db3106edb7013
Merged-In: Iff7894033df402d42dcc0ccaea6db3106edb7013
2018-04-12 17:10:40 +00:00
James Lemieux
22a39c2b93 Use external/robolectric-shadows/run_robotests.mk
This allows Settings to test against the latest framework changes.

Also replaced TestConfig with traditional robolectric.properties.

Bug: 73173204
Bug: 73892008
Test: make -j56 RunSettingsRoboTests
Change-Id: I3135b4fa5f095ba79b282a76f45dd9baa2584bc7
2018-03-04 03:50:08 -08:00
jeffreyhuang
cbfb099a40 Rename SDK_VERSION_O to SDK_VERSION
Test: make RunSettingsRoboTests -j40
Change-Id: I6715062d8addadda441e32809db1af55f15e3a90
2017-12-05 16:43:54 -08:00
jackqdyulei
aec5543841 Add preference group for saved devcies.
Currently it only contains bluetooth devices.

Bug: 3240835
Test: RunSettingsRoboTests
Change-Id: Ief102e7174a4c4610dbda6b728419b303ff928f9
2017-11-27 12:56:44 -08:00