Commit Graph

921 Commits

Author SHA1 Message Date
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
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
Philip P. Moltmann
8a33bd5947 Merge "RestrictedLockUtils was split into ...Internal" 2018-08-31 04:47:28 +00:00
Philip P. Moltmann
e3f721132a RestrictedLockUtils was split into ...Internal
This means that in some cases RestrictedLockUtils has to be used and in
some RestrictedLockUtilsInternal.

This causes a lot of trivial code changes.

I also updated the ordering of the imports in all affected files.

Bug: 110953302
Test: Built
      make -j RunSettingsRoboTests
Change-Id: I9bdf8b89134f853bae4f38c81af436715c73e924
2018-08-30 08:11:39 -07:00
timhypeng
3029efc5f7 call getName() from CachedBluetoothDevice, not CachedBluetoothDeviceManager
-add test case "onGetDeviceName"

Bug: 112735753
Test: make -j42 RunSettingsRoboTests
Change-Id: Id62b6eb8be38fb6ac69ca371563be899b8d61aff
2018-08-30 08:06:19 +00:00
Fan Zhang
c21f4a512a Merge "Sort imports" 2018-08-29 00:19:53 +00:00
Fan Zhang
23f8d59d02 Sort imports
Having consistent import order will reduce chance of merge
conflict between internal and external master

Test: rebuild
Change-Id: I0b1a170967ddcce7f388603fd521f6ed1eeba30b
2018-08-28 22:13:15 +00:00
TreeHugger Robot
064af9a48e Merge "Show bonded devices in "Pair new device"(2/2)" 2018-08-28 14:32:04 +00:00
Ash_Chen
8f7092a15e Show bonded devices in "Pair new device"(2/2)
Some users forgot they had paired devices and couldn't see their BT device
when they search device in "Pair new device". (b/80382940, b/80133137).
Need to change the behavior to let paired devices can be shown on "Available devices".

Bug: 111738593
Test: Bluetooth Pairing Test
Change-Id: Ib499785abaa8e4efc1875be113ac87bdbe0c89ba
2018-08-28 11:39:38 +08:00
TreeHugger Robot
dcd8e75b3e Merge "Use BluetoothDevice.ACCESS_* instead of CachedBluetoothDevice.ACCESS_*" 2018-08-23 19:09:48 +00:00
hughchen
ab1bc299d8 Use BluetoothDevice.ACCESS_* instead of CachedBluetoothDevice.ACCESS_*
1. Use BluetoothDevice.ACCESS_* instead of CachedBluetoothDevice.ACCESS_*
2. Use BluetoothDevice.setPhonebookAccessPermission() directly.
3. Use BluetoothDevice.setMessageAccessPermission() directly.
4. Use BluetoothDevice.getPhonebookAccessPermission() directly.
5. Use BluetoothDevice.getMessageAccessPermission() directly.
6. Use BluetoothDevice.getSimAccessPermission() directly.

Bug: 112517004
Test: make -j42 RunSettingsRoboTests
Change-Id: Ibe6b207b891b9bd2b328a2e2c7264a9a78cb498f
2018-08-23 11:27:49 +08:00
TreeHugger Robot
e97c21b58d Merge "Update the method name from isA2dpDevice() to isConnectedA2dpDevice()" 2018-08-20 18:02:35 +00:00
timhypeng
f00a43a3e3 Update the method name from isHfpDevice() to isConnectedHfpDevice()
Bug: 110072747
Test: make -j50 RunSettingsRoboTests
Change-Id: I4f42a4d55a107c870c76761434f4e5999ac76904
2018-08-20 16:05:02 +08:00
timhypeng
156d52e14f Update the method name from isA2dpDevice() to isConnectedA2dpDevice()
Bug: 110072747
Test: make -j50 RunSettingsRoboTests
Change-Id: Id3ceb3a62b888a2bde82a1372edf26454e525ea1
2018-08-20 15:53:37 +08:00
Hemant Gupta
6fdf8c225d Merge "Bluetooth: PBAP not disconnected on disabling contact sharing" am: 84bb2293ae am: ff985c6bc7
am: 0c75671a5f

Change-Id: Icc7d90a0e440d3d8f462d61821c602b26f79dbb7
2018-08-17 13:41:13 -07:00
Treehugger Robot
84bb2293ae Merge "Bluetooth: PBAP not disconnected on disabling contact sharing" 2018-08-17 18:05:21 +00:00
TreeHugger Robot
090d9b22df Merge "Remove LocalBluetoothAdapter from CachedBluetoothDeviceManager::addDevice()" 2018-08-17 08:51:17 +00: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
timhypeng
47a6dbcd94 Remove test-purpose constructor from AvailableMediaBluetoothDeviceUpdater
- replace mock object with ShadowCachedBluetoothDeviceManager to test CachedBluetoothDevice
- rename cachedDevices to mCachedDevices

Bug: 111848213
Test: make -j50 RunSettingsRoboTests
Change-Id: I3028a6fe06c39c48e7cee33976bdfcab2c8b73c8
2018-08-16 01:24:52 +00:00
timhypeng
273c6d3918 Remove test-purpose constructor from ConnectedBluetoothDeviceUpdater
- replace mock object with ShadowCachedBluetoothDeviceManager to test CachedBluetoothDevice
- rename cachedDevices to mCachedDevices

Bug: 111848213
Test: make -j50 RunSettingsRoboTests
Change-Id: Ib024a3e9c3af745b1ab0be36361165a547cfa756
2018-08-16 01:24:40 +00:00
timhypeng
f5c0145912 Remove LocalBluetoothAdapter from CachedBluetoothDeviceManager::addDevice()
Bug: 111815935
Test: make -j50 RunSettingsRoboTests

Change-Id: I5294439853ce35bccd883ed2aa21b33802d76cb1
2018-08-15 03:52:52 +00:00
TreeHugger Robot
ac6f2d29cb Merge "Clear connected Bluetooth device from preference when Bluetooth state is off" 2018-08-10 08:35:33 +00:00
hughchen
8ee474a369 Clear connected Bluetooth device from preference when Bluetooth state is off
1. Clear connected Bluetooth device from preference when Bluetooth state
   is off.
2. Do not force to update the list of Bluetooth device when Bluetooth is
   disable.
3. Add test to verify following situations:
   1. Do not force to update the list of Bluetooth device when Bluetooth
      is disable.
   2. Force to update the list of Bluetooth device when Bluetooth is
      enable.
   3. Force to update the list of Bluetooth device when Bluetooth state
      is on.
   4. Clear the connected Bluetooth device from preference when
      Bluetooth state is off.

Bug: 110178164
Test: make -j42 RunSettingsRoboTests
Change-Id: I8b17c5d761e010e4eab620355c8b9185543e85ed
2018-08-10 15:37:09 +08:00
Jason Monk
fee23c456a Follow slice API finalization
Test: build
Change-Id: I5671b180a949d5038f9a73caf84a6d266ef90cfa
2018-08-09 17:03:33 -07:00
TreeHugger Robot
27c9e13c92 Merge "Fix RequestPermissionActivity crash" 2018-08-09 15:58:56 +00:00
tmfang
fe50f43f3f Fix RequestPermissionActivity crash
- Dialog needs to use AppCompat theme.
- Activity needs to finish itself when user closed AlertDialog.
If we don't fix it, you can see a window after AlertDialog was dismissed.

Change-Id: Idfbd6b68bcdd3b577f1459657b635b7af9397276
Fixes: 112018696
Test: robo test, manual test
2018-08-09 12:48:58 +08:00
TreeHugger Robot
05bec1d1d3 Merge "Remove the function that not used in BluetoothCallback" 2018-08-08 04:17:53 +00:00
hughchen
de6d3202e1 Remove the function that not used in BluetoothCallback
Bug: 111811266
Test: Build pass
Change-Id: Ib33ec31607931f5e67d5119cf9b0cb6b894794a0
2018-08-06 17:53:08 +08:00