Commit Graph

1115 Commits

Author SHA1 Message Date
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
Chienyuan
10b21a605b Always save message permission choice
For current design, message sharing option only display when
mapPermisson != CachedBluetoothDevice.ACCESS_UNKNOWN. MAP permisson only
saved when user reject requset twice or accept request, if user just
reject once, permission will be ACCESS_UNKNOWN and message sharing
option will not display. This patch remove the check of
MessageRejectionCount and always save message permission choice.

Bug: 120291728
Test: reject message access request and check device details page
Change-Id: I071491d3c4134ed348e195f054b6557e397cdd6a
2018-12-06 19:19:21 +08:00
tmfang
8ad18fb3eb Use SettingsLib's ActionButtonsPreference
Since we moved old ActionButtonPreference into
SettingsLib, we need to update new imports and
declaration in Settings source code.

Test: robotest, manual test
Bug: 120005054
Change-Id: I1e3514ba68a856071c81534d54c99c3d1a11a8ca
2018-12-03 15:12:41 +00:00
Raff Tsai
626c6e0b17 Replace SliceAction deprecated method
- Replace new SliceAction with SliceAction.createDeeplink() or
SliceAction.create()

Test: make RunSettingsRoboTests
Change-Id: Ied34469d2220d8220a2dcc6c2fb4d32dd9cd9b8c
Fixes: 119879284
2018-12-01 06:21:01 +08:00
Fan Zhang
53f75f0df9 Move all custom slice uris to a registry class.
Change-Id: I192320f95ac81d14c8891ce2531d603912e59f56
Fixes: 119776308
Test: robotests
2018-11-29 16:41:21 -08:00
tmfang
fe03fa546a Connect button should have correct icon
Test: visual
Change-Id: I3688a309a538112c60f5d6084c774c08a2ac05d5
Fixes: 119758987
2018-11-29 15:21:27 +08:00
tmfang
dce94bb237 Use SettingsLib's LayoutPreference
- Remove LayoutPreference in Settings source code.
- Remove unused style, layout
- Replace old imports to com.android.settingslib.widget.LayoutPreference
- Replace old XML tag to com.android.settingslib.widget.LayoutPreference

Test: robotest, manual test
Bug: 120005054
Change-Id: I9ae1ae14a16f443e11ac5d75b6038c7c5e253844
2018-11-27 13:12:53 +08:00
tmfang
5c7f4de999 Remove setButtonPositive method
Since new UI design only exist two button in layout,
we don't need these methods anymore.

Test: robotest
Bug: 116346008
Change-Id: If2e8f7dddb9c13e480438f36fe3c5d6affa4e9ff
2018-11-16 14:33:16 +08:00
tmfang
3adb74ea60 Apply new action button visual design
- Add some icon resources.
- Add icon for each button in action button preference.
- Update "Enable" and "Disable" string to "Install" and "uninstall".
- Remove unused string.
- Add divider between entity header and action buttons.

Test: visual, robotest
Fixes: 119203074
Bug: 116346008
Change-Id: Ib8d7aeb2943d39d257e977b84f165f002bf47559
2018-11-16 14:33:03 +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