Commit Graph

1224 Commits

Author SHA1 Message Date
timhypeng
e725d6f357 One of the HA will not be Active after switching sound path to Phone/Speaker during active call
- If first summary is unavailable, not to show second summary.

Bug: 132409181
Test: make -j42 RunSettingsRoboTests
Change-Id: I0d2e426b15dae8ed38e0a1b5a9219209e1a0026c
2019-08-20 08:44:46 +00:00
hughchen
41eab2c203 Fix flaky test error
Before this CL, we didn't consider the case of two
preferences timestamp are the same.

If 2 preferences timestamp are the same, the second preference
will first out. it will cause test case will fail some times.

In this CL, if two BluetoothDevicePreference's timestamp are the same,
The first BluetoothDevicePreference is first out.

Bug: 138547532
Test: make -j42 RunSettingsRoboTests
Change-Id: I7366275e8edf615c582481a570ea0c25b8d37a66
2019-08-16 01:26:42 +00:00
TreeHugger Robot
4f9595a88d Merge "Make Bluetooth settings page can be discoverable" 2019-08-13 09:57:39 +00:00
hughchen
a0b167e3da Make Bluetooth settings page can be discoverable
Bug: 118760361
Test: make -j42 RunSettingsRoboTests
Change-Id: I2f663197f3c0f6c58529609845bab4dd7e714348
2019-08-13 10:41:34 +08:00
Sunny Shao
660b36e061 Use FooterPreference in xml explicitly
- Removed the FooterPreferenceMixin from the BluetoothDetailsMacAddressController.
 - Added the common api addFooterPreference.

Fixes: 139104386
Test: manual test
Test: make RunSettingsRoboTests ROBOTEST_FILTER=com.android.settings.bluetooth
Change-Id: Iab40fa4c5be674290b1dc6d372c84609ccc2ea49
2019-08-08 18:42:26 +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
Lei Yu
7b1e40813f Use short summary in advanced BT header
So it only shows "Active" without battery level

Bug: 132640667
Test: Manual
Change-Id: Ib8ef2b6bec23c178f76925e89d447e5ac496313a
2019-05-13 16:04:09 -07:00
Amin Shaikh
3f1de20c7e Fix themed settings icons.
- Added android prefix for homeAsUpIndicator attribute
- Override ic_arrow_down_24dp from androidx
- Remove ic_lock drawable overlay
- Update date and time icon
- Dedupe ic_menu_add and ic_add_24dp

Bug: 131346125
Test: mp settings;
Change-Id: I7223249f2adccc5569a37e8b68cae5499e7c7620
2019-05-03 17:02:46 +00:00
Lei Yu
76a3e5bfac Merge "Update dialog text for untethered BT device" into qt-dev 2019-05-02 17:18:04 +00:00
timpeng
0dde3a3b34 [Fix] prevent Talkback from reading out Bluetooth ImageView ContentDescription
- set View.IMPORTANT_FOR_ACCESSIBILITY_NO to ImageView

Bug: 128396030
Test: RunSettingsRoboTests
Change-Id: I267921057ede734a3c9be7087f34c96631e04859
2019-05-02 02:05:00 +00:00
Lei Yu
d9ecc3ae9a Update dialog text for untethered BT device
Fixes: 122672631
Test: RunSettingsRoboTests
Change-Id: I380308acbb7025461ef34aeec68e535189714bf3
2019-05-01 12:37:55 -07:00
Fan Zhang
e2e104f563 Delete a broken test
The test has been broken for a while.

Fixes: 120505691
Test: robotest
Change-Id: I92537d1676ba1dc94595e87893ca7324d4740a70
2019-04-30 11:37:21 -07:00
TreeHugger Robot
7a237a40d7 Merge "Fix crash when no Bluetooth feature in Settings" into qt-dev 2019-04-24 02:45:09 +00:00
Lei Yu
125ab50a55 Merge "Add SettingsPolicy to control BT feature" into qt-dev 2019-04-19 19:44:53 +00:00
TreeHugger Robot
e69a25caad Merge "Remove all device from preference when BT is disabled" into qt-dev 2019-04-19 16:25:26 +00:00
hughchen
ef2c1a1526 Fix crash when no Bluetooth feature in Settings
- Move PreferenceGroup init method out of isAvailable() condition,
  then PreferenceGroup will not be null.
- Update getAvailabilityStatus(), since the controller now may have usb
  and dock.

Bug: 110712414
Test: make -j42 RunSettingsRoboTests
Change-Id: I4d85a42c26fb20d319e7321177b271933be3fdb0
2019-04-19 14:09:40 +08:00
hughchen
d39fbe0f23 Remove all device from preference when BT is disabled
The issue is happened when BT is disabled then navigate to
"Connected devices". BluetoothDeviceUpdater didn't update
UI when BT is disabled. Remove all device from preference when
BT is disabled.

Bug: 80090956
Test: make -j42 RunSettingsRoboTests
Change-Id: Ia1fd8cfbcf95d712a1a702fdf101ff98186b76cd
2019-04-19 09:50:03 +08:00
Lei Yu
15899e8b0e Add SettingsPolicy to control BT feature
Fixes: 130302238
Test: RunSettingsRoboTests
Change-Id: I7e1bf55c476f8e4d3dec7a7dfc0e8d44e5bd53ae
2019-04-18 11:31:05 -07:00
Yanting Yang
118e7aee28 Turn off debug logging flags
Fixes: 130558346
Test: visual
Change-Id: Ie82bfe503f789435a3474697391fdfdeb94864ee
2019-04-17 19:55:54 +08:00
Ugo Yu
9f11ccf319 Align with Bluetooth metadata API changes
* Align with the changes of Bluetooth metadata APIs.
* Move metadata utils from Settings to SettingsLib.

Bug: 124448651
Test: make RunSettingsRoboTests
Change-Id: Ic9ad91536ef3ff6807a08bbffa3dd796ef1ad523
2019-04-10 14:23:54 +08:00
Lei Yu
72a162a17c Merge "Move bitmap recycle to onDestroy()" into qt-dev 2019-04-09 20:23:48 +00:00
Lei Yu
4350317580 Move bitmap recycle to onDestroy()
If we recycle it in OnStop() and this page isn't destoried,
it will crash when we revisit it.

Fixes: 130185099
Test: RunSettingsRoboTests
Change-Id: I4d3c1c12debcccb1ee7d676a1c5accece0b42e09
2019-04-08 16:25:47 -07:00
Sumit Deshmukh
c00e137a55 Settings: [BT] Wrong Pairing Popup is shown on new pairing request.
Usecase:
1. Start advertising from DUT (using BLE Smartertooth app).
2. Scan and connect from central device.
3. Now initiate bond from central and accept pairing request.
   (Consent Pairing Dialog will be shown on DUT)
4. Notification will be received for PASSKEY CONFIRMATION Dialog.
   Do not open notification and let it timeout.
5. Repeat steps 2 and 3. At step 3, Passkey Confirmation pairing
   dialog is show instead of Consent pairing dialog.

Issue:
Wrong Pairing Popup is shown. Passkey Confirmation pairing
dialog is show instead of Consent pairing dialog.

Reproducible Rate: 100%

Root Cause:
PendingIntent created for showing pairing notification are getting
reused as only FLAG_ONE_SHOT is used. This flag is not updating new
extra's in the pending intent.

Fix:
Use flag FLAG_UPDATE_CURRENT in pending Intent.

Test: Tested above mentioned testcase and pairing scenarios.

Fix: 129479787
Bug: 129456113

Change-Id: I46813f355cd796cee1b472774b494c8580b39784
2019-04-08 18:20:36 +00:00
TreeHugger Robot
2107255f52 Merge "Remove unnecessary notify in BT preference" 2019-04-02 19:36:30 +00:00
jackqdyulei
36948cefe9 Remove unnecessary notify in BT preference
notifyHierarchyChanged() is used before when we have
connected/disconnect deivce in same list. So only use it in
DevicePickerFragment.java, not other normal fragments.

Also that call will rebuild whole preference list, which is heavy.

Bug: 119479725
Test: Manual
Change-Id: I06cf221588001b38634fec9f02dee8bc1e561ea8
2019-04-01 12:39:24 -07:00
hughchen
9d4b634535 Remove method that used to get rainbow bt icon
Move get rainbow bt icon method to settingsLib

Bug: 128570540
Test: RunSettingsRoboTests
Change-Id: Iee022bd1471f1da057b1852bb648e9c7ce334727
2019-03-28 10:58:55 +08:00
jackqdyulei
281cf17d89 Skip lifecycle if controller is not available
Fixes: 129076378
Test: RunSettingsRoboTests
Change-Id: If1e49785c2378ec2cf0f7d2837bc7d4c0ff915a0
2019-03-26 17:00:36 -07:00
jackqdyulei
36ce63dcb5 Add fp icon with background shape
Fixes: 126425211
Test: RunSettingsRoboTests

Change-Id: I779f76f597b80d73b6dd6eb9e43a96abc9fee0bb
2019-03-22 12:06:36 -07:00
jackqdyulei
7fb5e75752 Make BT icon colorful
Add new method to get rainbow bt icon and also refactor
AdaptiveHomepageIcon:
1. Rename
2. Add ConstantState

Bug: 126425211
Test: RunSettingsRoboTests

Change-Id: Idb8aaf253d0d9e2ab33d8852f093e6689ebadde4
2019-03-19 12:22:38 -07:00
TreeHugger Robot
3776476764 Merge "Use ThemedBatteryDrawable in settings" 2019-02-27 06:02:49 +00:00
Evan Laird
35e35622d9 Use ThemedBatteryDrawable in settings
Changed out BatteryMeterDrawable to inherit from ThemedBatteryDrawable
instead of BatteryMeterDrawableBase. Also removed warning text paint
because it seemed unused and simplified the interface.

Bug: 123705805
Test: visual
Change-Id: I30496e3d8881803d9d3d8a316c10387482a8f610
2019-02-26 14:11:58 -05:00
Lei Yu
2c1672c482 Merge "Add Bluetooth metadata listenr" 2019-02-26 01:30:13 +00:00
jackqdyulei
344d761e60 Add Bluetooth metadata listenr
If it is updated, we need to refresh UI to display latest information

Fixes: 124455912
Test: RunSettingsRoboTests
Change-Id: I73b03f4931e3c2b0d367bbd2d3b2057b26c84b59
2019-02-25 15:02:10 -08:00
jackqdyulei
c51e5aae59 Remove hardcoded Uri to get slice settings
Now we get it from BluetoothDevice.getMetaData()

Bug: 124121451
Test: RunSettingsRoboTests
Change-Id: Id96480f257b93dd03bb290c954e01cde9dcf30ad
2019-02-22 14:49:30 -08:00
jackqdyulei
5e5dd25b8f Fix issues in BT detail header
1. Update isAvailable() in controller
2. Update method to get fast pair icon

Bug: 124455912
Test: RunSettingsRoboTests
Change-Id: I24a04c8c91d74e9b8b7e8746ad6279fafa37f0a9
2019-02-22 14:46:10 -08:00
jackqdyulei
5cb4d251ee Update advanced bt header
1. Add callback to listen to device update
2. Add charging support for bt battery icon
3. When disconnected, only show main icon

Follow CL will update battery icon to show exclamation when it is
low.

Bug: 124455912
Test: RunSettingsRoboTests
Change-Id: I03fb3bf4c4b77711e14b1f2f53733771b525fe4b
2019-02-21 12:43:29 -08:00
Fan Zhang
7db118e367 Mass clean up: don't cast class when not needed.
Bug: none
Test: rebuild
Change-Id: Ie3f58a3d5ae99ade28a33dcac80c18de90d4d5b2
2019-02-14 12:26:09 -08:00
jackqdyulei
715408e592 Add intent action for BT device detail page
Also update detail page to accept cold start:
1. Check whether profile is ready
2. When it is ready, refresh UI

Bug: 123665527
Test: SettingsRoboTests
Change-Id: I39382fd97e9da46fca08cd2e4a3ef15d32703664
2019-02-11 13:48:16 -08:00
Lei Yu
cda45e5d66 Merge changes Ifb5507cb,Ide044cf9
* changes:
  Update BT header using BT metadata
  Add layout for advanced BT detail header
2019-01-29 01:29:23 +00:00
Amin Shaikh
9391361438 Move SettingsLib icons to android.
Bug: 122263617
Test: make
Change-Id: Ia2ab06561824656951fbd0019e9c921442c714e1
2019-01-28 13:46:54 -05:00
jackqdyulei
47123c8224 Update BT header using BT metadata
As for unthethered headset, get BT data from BT metadata, rather than
CachedBluetoothDevice

Bug: 122460277
Test: RunSettingsRoboTests
Change-Id: Ifb5507cbbce9602726ba272c12d1bf95eff91001
2019-01-28 17:12:17 +08:00
jackqdyulei
1fc7629dda Add layout for advanced BT detail header
If device supports metadata, then we display advanced UI in Bluetooth
details header. This CL adds layout for this header.

In advanced layout, it will show:
1. Device name
2. Left, right and case icon
3. Left, right and case battery level

Once API is ready, following CL will get metadata from it and set it
to UI.
Bug: 122460277
Test: RunSettingsRoboTests
Change-Id: Ide044cf9705f350b431b2cb3a9ad82cc4425a17e
2019-01-28 14:12:49 +08:00
jackqdyulei
511b5fe9f2 Update SlicePreferenceController
Make sure setSliceUri is invoked even when it is null, where we create
SliceLiveData.

Then in lifecycle, if LiveData is not null, we will register observer.

Bug: 120803703
Test: Manual

Change-Id: I56caf2abf04c4a251ebafa5deb599d44b1c7fe92
2019-01-22 10:43:24 -08:00
Fan Zhang
31b210017b Migrate all MetricsProto enums to SettingsEnums
Bug: 122855168
Test: rebuild
Change-Id: I962d9a71179f86b7cae9dc5e9a00e0aa1557dc76
2019-01-17 14:55:42 -08:00
hjchangliao
c37973f073 Move edit icon from header to action bar
Move edit icon in bluetooth detail page,
from header back to action bar.

Change-Id: I6afd7c611fe4db8c6c27921b5da316d8a1a000db
Fixes: 76206922
Test: make RunSettingsRoboTests
2019-01-12 07:36:32 +08:00
Lei Yu
aa8de12e8d Merge "Add UiBlocker for DashboardFragment" 2019-01-11 18:17:56 +00:00
jackqdyulei
22904a05b7 Add UiBlocker for DashboardFragment
If DashboardFragment detects blocker controllers, it won't display
until:
1. All blocking controllers finish bg works.
2. Timeout

This CL adds UiBlockerController to control this behavior and
BlockingSlicePreferenceController as an example.

Bug: 120803703
Test: atest SettingsUnitTests
Change-Id: I66fc194776d46ee49b3ec7685f3167834e673ba2
2019-01-10 14:25:43 -08:00
jackqdyulei
7b2ca324d0 Display BT device even without legal name
So user has ability to forget this device in settings app.

Change-Id: I756df1e3df1a14c00ad7c68c34b6ad6ccc8d835c
Fixes: 120474281
Test: Manual
2019-01-02 13:49:19 -08:00
jackqdyulei
bdc4ea6336 Add feature provider for bluetooth settings
Also add method to get settings uri for specific device. Use feature
provider here because it give us more flexibility.

Bug: 120803703
Test: RunSettingsRoboTests
Change-Id: I6f4840e76279c02a75b95fdecd822a72cb0b42e5
2018-12-18 14:42:49 -08:00
jackqdyulei
cf6374e427 Build infra to inject slice to PreferenceFragment
Reuse the PreferenceController and LayoutPreference however create
specific one for slice:
1. SlicePreference: container to inject slice view
2. SlicePreferenceController: handle updates for slice

Also add styles for it with default layout.

Bug: 120803703
Test: RunSettingsRoboTests

Change-Id: I6ab083ad57117e6198dcba37702a25213da78719
2018-12-18 14:38:25 -08:00