Commit Graph

1050 Commits

Author SHA1 Message Date
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
timhypeng
c95056d7b5 Make HearingAid code more generic
-handle UI updating when sub device connection state changes
-add test case

Bug: 112735753
Test: make -j42 RunSettingsRoboTests
Change-Id: Ie2643657c47a0956aac3f8cac4bfdbdea0399ce8
2018-10-25 04:06:40 +00:00
Ash_Chen
42f3dfe672 Filter out the connected device in "Available devices" screen(1/2)
Don't add connected devices under "Available devices"

Bug: 113568981
Test: Bluetooth Pairing Test with some devices and accessories
Change-Id: I2cce35cd5c237ea90cf1c128e951816474c7a658
2018-10-15 10:54:46 +08: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
Stanley Tng
69e1bb1cf3 Fix Connect State message in Device details for Hearing Aids
In the Device details of Settings App and when using two Hearing Aids
devices (left and right sides), this will fix the connect state messages
for these two devices. Also added Robo tests for the changes.

Bug: 116725094
Bug: 117074814
Test: Manual tests and also ran RunSettingsLibRoboTests and RunSettingsRoboTests.

Change-Id: I169cda4a1658b0a67cc7c7367b38d57a021e6953
Merged-In: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
Merged-In: I169cda4a1658b0a67cc7c7367b38d57a021e6953
2018-10-02 00:55:19 +00:00
timhypeng
79d7fdc4f3 To show hearing aids device in the available devices group
Bug: 116725094
Bug: 116044083
Bug: 79553082
Test: make -j50 RunSettingsRoboTests
Change-Id: I8fe5eb653d332ef5ac4a566146f150774581167c
Merged-In: I8fe5eb653d332ef5ac4a566146f150774581167c
(cherry picked from commit 1c21bff103)
2018-09-26 14:12:00 -07:00
jackqdyulei
b152e6dd1b Update "Previous connected device" preference
1. Show up to 3 devices in main page
2. Add "See all" preference to go ot detail page

Bug: 116350449
Test: Screenshot && RunSettingsRoboTests
Change-Id: Iee0de8a2b7f2543e946a117ba2d9ca9dde6c8678
2018-09-26 11:08:58 -07:00
timhypeng
eb230c76d9 Fix the logic error on PBAP permission assignment
-add test case

Bug: 114808220
Test: make -j42 RunSettingsRoboTests
Change-Id: Id77ade12c28e31a21c1c7a5dcb28906112d3465b
2018-09-25 01:51:40 +00:00
Lei Yu
ccbf7f3fff Merge "Fix null pointer crash in BT renaming dialog" 2018-09-21 02:25:34 +00:00
jackqdyulei
5b7fc8f3a5 Fix null pointer crash in BT renaming dialog
The dialog may become null after onDestroy has been invoked, so
we need to catch this case.

This CL also moves the listener outside to make it easy to test.

Change-Id: I4ce640c5bdaf1f201f9fecb14b3e5e38e10d4b79
Fixes: 115679393
Test: RunSettingsRoboTests
2018-09-18 14:41:37 -07:00
Lei Yu
16a0e416fd Merge "Revert "call getName() from CachedBluetoothDevice, not CachedBluetoothDeviceManager"" 2018-09-17 22:16:00 +00:00
Lei Yu
499013b05e Revert "call getName() from CachedBluetoothDevice, not CachedBluetoothDeviceManager"
This reverts commit 3029efc5f7.

Reason for revert:
To fix null pointer crash in Pairing dialog. Dialog maybe triggered by intent, in which LocalBluetoothManager couldn't have instance for BluetoothDevice and will return null. As a result, we need to depend on method in CachedBluetoothManager to handle it.

Bug: 115754654
Bug: 112735753
Change-Id: I1ebf1f1c2829cfb75e6c382df5acf785fe54a185
2018-09-17 22:15:14 +00:00
jackqdyulei
c05958ecdd Update PBAP info for all pairing dialogs. DO NOT MERGE am: ff171eff8e
am: 618b808b61

Change-Id: Id92a02a67661e0b7707564b7d83a7ff7f27854e1
2018-09-07 10:46:08 -07:00
jackqdyulei
618b808b61 Update PBAP info for all pairing dialogs. DO NOT MERGE
am: ff171eff8e

Change-Id: I21d048a1ad2d0e37870d380c30e95ee8e3a48091
2018-09-07 10:42:16 -07:00
jackqdyulei
ff171eff8e Update PBAP info for all pairing dialogs. DO NOT MERGE
This is a bug from ag/4210612, in which it only update PBAP info
for USER_ENTRY_DIALOG. So in other kind of dialogs it never upload
correct PBAP info to bluetooth backend.

This CL fix it by updating PBAP for all dialogs.

Change-Id: Ia39eee1acaece555e8e5a305ec2c803294d7efbd
Merged-In: Ia39eee1acaece555e8e5a305ec2c803294d7efbd
Bug: 109842273
Bug: 72872376
Test: RunSettingsRoboTests
(cherry picked from commit 7015e20a55)
2018-09-06 16:35:58 -07:00
Philip P. Moltmann
8a33bd5947 Merge "RestrictedLockUtils was split into ...Internal" 2018-08-31 04:47:28 +00:00