Commit Graph

1154 Commits

Author SHA1 Message Date
Alice Kuo
ebea73e36b Handle csip set member automatic pair in Setting
Move the set member handle to setting. SystemUI and Setting have the
individual settingLib instance. If we trigger pairing inside settingLib,
the action would be called twice. SystemUI does not contain the concept
to handle the pair interaction. Setting would take the action to
createBond for CSIP automatically.

Bug: 201758444
Bug: 150670922
Test: Pair the coordinated set devices, and check the set member pairing
would be done automatically without the pairing dialog

Change-Id: Idbdd21a1f15b04cc91cbc2d30a5cb4e9b24174b9
2021-10-15 18:09:51 +08:00
Chienyuan
5be9255ddf Remove connection preferences "Files received via Bluetooth"
Bug: 197609370
Bug: 201630499
Test: manual
Change-Id: I597a2105ca851dd41d92109f7b1a5d0137942601
2021-10-09 01:19:00 +08:00
Alice Kuo
a6d549fee3 Do not update the previously connected devices for the sub device
As bluetooth turn on, and device reboot, UI will show the sub device
entry for hearing aid device or csip device. Check if the device is a sub device, do not update the cachedDevice information.

Bug: 150670922
Bug: 178981521
Test: bonded with a coordinated set. Check the UI only have one entry as Bluetooth turn on and device reboot.
Change-Id: I03dfdc25b57e614194fb8de2c9265edd50760d30
2021-09-28 10:25:06 +00:00
Alice Kuo
e920efeb3a Accept the pairing request automatically for the set member pairing
Check the pairing request from which device that if it's the outgoing
set member pairing, accept the pairing request automatically to make the
CSIP pairing seamless.

Bug: 178981521
Bug: 150670922
Test: Pair one of the CSIP device, and confirm the other set member can
paired without the confirmation from user

Change-Id: I40afabb09b4cb12a0253035452c9f6974799ed05
2021-09-23 14:38:52 +00:00
Alice Kuo
133c2cc1cc Show the multiple Mac address for the coordinated set
Show the mac address for all the devices if the device detail combine
with the multiple connections based on CSIP.

Screenshot: https://screenshot.googleplex.com/qQjc2pxNTr3tMUV

Bug: 178981521
Test: pair with the coordinated set, and check the UI
Change-Id: I01e0ec91e5c856481318d6435d174b5a2018d820
2021-09-23 08:31:07 +00:00
Alice Kuo
02cadb9b32 Add the pairing string for CSIP supported device
Show the pairing dialog with the hint message
that pairing this device will pair all of the
set member of a coordinated set. If the device
supports CSIP, the message will be shown.

Screenshot: https://screenshot.googleplex.com/8WcrdgBoLRgJjHs

Bug: 178981521
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BlueotohPairingDialog
Change-Id: I5432b7264652dd4485e2669f6004caa4f7459238
2021-09-18 01:15:51 +08:00
TreeHugger Robot
b05bffeb71 Merge "Log when DEBUG is on" into sc-qpr1-dev am: 736bce563e am: 2cb6e12f11
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15598813

Change-Id: Ia3d1839519b3135a4ef29405226bc9eebc961719
2021-08-31 22:41:11 +00:00
TreeHugger Robot
736bce563e Merge "Log when DEBUG is on" into sc-qpr1-dev 2021-08-31 22:19:19 +00:00
Neha Jain
92171172ec Merge "Remove CDM entries in Connected Device." into sc-dev am: abd0f6a5f6 am: bc0cf0d87f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15486674

Change-Id: I575d9f32e028249f49360b37dacfab9df9404e7f
2021-08-18 18:12:40 +00:00
Neha Jain
abd0f6a5f6 Merge "Remove CDM entries in Connected Device." into sc-dev 2021-08-18 18:01:00 +00:00
Hansong Zhang
13f41075d4 Log when DEBUG is on
Bug: 181588752
Test: manual

Change-Id: I43331ad011c9667d05ca752f523bc65883977c3c
2021-08-17 12:27:50 -07:00
Treehugger Robot
f5ddc8ffaa Merge "Add owner to the connected device folder" am: 6cbb4dfbe1 am: 004f5168d4
Original change: https://android-review.googlesource.com/c/platform/packages/apps/Settings/+/1793371

Change-Id: Ic41c5d666d0740dc8a6f4bdbb9e644ad981adee1
2021-08-12 04:54:18 +00:00
Treehugger Robot
6cbb4dfbe1 Merge "Add owner to the connected device folder" 2021-08-12 04:23:29 +00:00
Hugh Chen
ddf63eac87 Add owner to the connected device folder
Bug: 196287361
Test: local test
Change-Id: Ib800955f04bbd6c23b9a1700faa918f8b1126d79
2021-08-12 11:16:18 +08:00
Guojing Yuan
11655705db Remove CDM entries in Connected Device.
BUG: 191992001

Test: Robotest
Change-Id: Ie9cea79f825b78495b1f93527f3fa980f9b975e3
2021-08-06 23:24:24 +00:00
Bill Yi
7976c5bc51 Merge RQ3A.210705.001 to aosp-master - DO NOT MERGE
Merged-In: Ie37d07ed9cbce12b9dcd39b332ed2ae66f3edf6c
Merged-In: I777bae14ea865ecf1607e1d660fe3102a9b8fa6d
Merged-In: I777bae14ea865ecf1607e1d660fe3102a9b8fa6d
Change-Id: I0f793ed1ea64127903c6dc906c5afa1db15fff48
2021-07-12 11:08:29 -07:00
Guojing Yuan
40dc9d519f Merge "[CDM] Remove CDM companion apps from Connected Devices detail Settings" into sc-dev 2021-07-07 16:50:01 +00:00
Guojing Yuan
69a9368325 [CDM] Remove CDM companion apps from Connected Devices detail Settings
Remove CDM companion apps from Connected Devices details Settings when
there's a FastPair slice.

BUG: 191992001

Test: Manual

Change-Id: Ic373736ff6e32765f8c9d13e7358455a82cd8333
2021-07-02 23:02:38 +00:00
Rahul Sabnis
bec574dca7 Merge "Ensure settings maintains its Bluetooth device inquiry state" 2021-07-02 22:01:50 +00:00
Rahul Sabnis
0b365c3e69 Ensure settings maintains its Bluetooth device inquiry state
Bug: 187165224
Test: Manual
Merged-In: I4dafb7bf5b410d99cba7e30ee17f966611458db7
Change-Id: I4dafb7bf5b410d99cba7e30ee17f966611458db7
2021-07-02 20:27:17 +00:00
Jeff Sharkey
7025a83f39 Update to modern Bluetooth permissions.
The Settings app offers several Bluetooth intents, and they need to
be updated to enforce the new "Nearby devices" runtime permission
model, since the old BLUETOOTH and BLUETOOTH_ADMIN permissions have
been deprecated.

Bug: 191174082
Test: TH
Change-Id: I0d812f486bc3dadc517d5b04d3082d4f56f60ef4
2021-06-23 08:53:05 -06:00
TreeHugger Robot
367fe0eae0 Merge "Fix phishing attacks over Bluetooth due to unclear warning message" into sc-dev 2021-06-04 06:17:01 +00:00
Hugh Chen
10e4599219 Fix phishing attacks over Bluetooth due to unclear warning message
This CL add more prompts presented for users to avoid phishing attacks.

Screenshot:
https://screenshot.googleplex.com/p5PZbphN46ddPFV.png
https://screenshot.googleplex.com/6Q2wKfPbNQmTtx8.png
https://screenshot.googleplex.com/987VpYgNUZL2K4T.png
https://screenshot.googleplex.com/9eVg6SAGScVXU8U.png

Bug: 167403112
Test: manually test
Change-Id: Iadec059b662fd91754ad573bbe688702cdd3c9af
2021-06-03 16:42:09 +08:00
TreeHugger Robot
bc587c4d1f Merge "Fix bluetooth pairing notification could not be removed" into sc-dev 2021-05-31 02:07:17 +00:00
Hugh Chen
b2af6ce1bd Fix bluetooth pairing notification could not be removed
Remove the notification when deivce is not bonding.

Bug: 189284833
Test: manually test
Change-Id: Iaa7f04175dac2016777b0de287122108b74b34d8
2021-05-27 10:08:24 +08:00
TreeHugger Robot
8cb761e3d7 Merge "Fix connected devices settings jank issue" into sc-dev 2021-05-26 12:36:44 +00:00
Hugh Chen
51b6605aef Fix connected devices settings jank issue
Completed the UI in displayPreference() to fix jank issue.

Bug: 188752628
Test: make RunSettingsRoboTests
Change-Id: Ib97b76e1b8622424ad481597f63d3540fb0bfc5b
2021-05-26 17:37:13 +08:00
Patty
c491216243 Fix pairing dialog doesn't show the correct pairing key.
When the pairing dialog doesn't show in the foreground at the first time, the pairing key will display incorrectly.
This is caused by the intent doesn't contain the parameter BluetoothDevice.EXTRA_PAIRING_KEY.

Correct the pairing key by passing the pairing key to intent pairingDialogIntent.

Tag: #stability
Bug: 188614067
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothPairingServiceTest
Change-Id: I3c91bf6ea51fa3fb77b4c4a5c17555606160603e
2021-05-26 15:46:00 +08:00
Rahul Sabnis
43c3ba86cd Ensure settings maintains its Bluetooth device inquiry state
Bug: 187165224
Test: Manual
Change-Id: I4dafb7bf5b410d99cba7e30ee17f966611458db7
2021-05-24 18:29:05 -07:00
Hugh Chen
cdf9a1509b RESTRICT AUTOMERGE Fix unable to send file via OPP
Bluetooth app will indicate BluetoothOppReceiver to receive
device picker intent. But for fix the security issue we
removed the setClassName() method in ag/14111132 to avoid attack.
It causes BluetoothOppReceiver cannot receive the intent.

This CL will compare to calling package name with launch package name.
If they are not equal, the setClassName() will not invoke.

Bug: 186490534
Bug: 179386960
Bug: 179386068

Test: make RunSettingsRoboTests -j56
Change-Id: Ia51528f2a44ab73edbc86899ca0846d3262fe1f0
(cherry picked from commit bb5be240c0)
(cherry picked from commit c556938807)
2021-05-20 00:01:42 +00:00
Hugh Chen
f1d1bb7816 RESTRICT AUTOMERGE Fix bluetooth settings will broadcast to anywhere when some cases
BluetoothPermissionActivity and DevicePickerFragment will send
broadcast to return the result to calling apps. As this broadcast
intent is from Settings with uid 1000, it will be sent to any
protected BroadcastReceivers in the device. It can make an attacker
send broadcast to protected BroadcastReceivers like factory reset intent
(android/com.android.server.MasterClearReceiver) via
BluetoothPermissionActivity or DevicePickerFragment.

This CL will not allow to set package name and class name to avoid
the attacker.

Bug: 179386960
Bug: 179386068
Test: make -j42 RunSettingsRoboTests and use test apk to manually test
to verify factory reset not started and no system UI notification.

Change-Id: Id27a78091ab578077853b8fbb97a4422cff0a158
(cherry picked from commit 8adedc6249)
(cherry picked from commit e21d06f6ee)
2021-05-20 00:01:37 +00:00
Jakub Pawlowski
42be5cfa10 Prevent drawing on top of DevicePickerActivity
Bug: 182584940
Change-Id: I8b27b397bce1708a42b96b1b647c64e23142c468
(cherry picked from commit 68f799a4c6)
2021-05-20 00:01:33 +00:00
TreeHugger Robot
0174c4bad0 Merge "[Rohan] Two battery level, but no charging status in Rohan Setting" into sc-dev 2021-05-14 09:59:54 +00:00
TreeHugger Robot
7c50995261 Merge "Fix foreground Service background launch restriction" into sc-dev 2021-05-14 09:54:12 +00:00
Tim Peng
6cbeb65a05 [Rohan] Two battery level, but no charging status in Rohan Setting
-show/hide battery information by device type

Bug: 187692468
Test: atest AdvancedBluetoothDetailsHeaderControllerTest

Change-Id: I22b4f2cddaf1143dd48ffec2fa3114d685689633
2021-05-14 16:55:05 +08:00
Hugh Chen
3eb374adb4 Fix foreground Service background launch restriction
Remove setForeground() in BluetoothPairingService. Refactor
the behavior to not holding service in the background.

Bug: 184901840
Test: make RunSettingsRoboTests -j56
Change-Id: Iaeb96943971f55dbeb3dba4b06b28abe770ba3c2
2021-05-14 08:53:14 +00:00
Jakub Pawlowski
bb78247cf0 Merge "Prevent drawing on top of DevicePickerActivity" into qt-dev am: 3a2ab54f36 am: 52ea712e3b am: c714533fd2 am: 72cda9d96c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14487883

Change-Id: I41cb6bd53a787214896c7875104c6b08419b3047
2021-05-12 21:12:09 +00:00
Jakub Pawlowski
c714533fd2 Merge "Prevent drawing on top of DevicePickerActivity" into qt-dev am: 3a2ab54f36 am: 52ea712e3b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14487883

Change-Id: I47b6e2b3de493030adfd49bfeb4aabaf16046771
2021-05-12 20:36:41 +00:00
Jakub Pawlowski
52ea712e3b Merge "Prevent drawing on top of DevicePickerActivity" into qt-dev am: 3a2ab54f36
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14487883

Change-Id: Ied144c16d607921281d10783a77ae0d46885d757
2021-05-12 20:19:16 +00:00
Jakub Pawlowski
3a2ab54f36 Merge "Prevent drawing on top of DevicePickerActivity" into qt-dev 2021-05-12 19:27:19 +00:00
Hugh Chen
7b05629834 RESTRICT AUTOMERGE Fix unable to send file via OPP am: 51755e9a33
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/14419447

Change-Id: I7256d5f30d6c4b3063181a768b5d3796cf517383
2021-05-11 06:16:42 +00:00
Jakub Pawlowski
68f799a4c6 Prevent drawing on top of DevicePickerActivity
Bug: 182584940
Change-Id: I8b27b397bce1708a42b96b1b647c64e23142c468
2021-05-10 19:50:49 +02:00
Hugh Chen
51755e9a33 RESTRICT AUTOMERGE Fix unable to send file via OPP
Bluetooth app will indicate BluetoothOppReceiver to receive
device picker intent. But for fix the security issue we
removed the setClassName() method in ag/14111132 to avoid attack.
It causes BluetoothOppReceiver cannot receive the intent.

This CL will compare to calling package name with launch package name.
If they are not equal, the setClassName() will not invoke.

Bug: 186490534
Bug: 179386960
Bug: 179386068

Test: make RunSettingsRoboTests -j56
Change-Id: Ia51528f2a44ab73edbc86899ca0846d3262fe1f0
(cherry picked from commit bb5be240c0)
2021-05-04 06:04:05 +00:00
Hugh Chen
5de62d1955 RESTRICT AUTOMERGE Fix unable to send file via OPP
Bluetooth app will indicate BluetoothOppReceiver to receive
device picker intent. But for fix the security issue we
removed the setClassName() method in ag/14111132 to avoid attack.
It causes BluetoothOppReceiver cannot receive the intent.

This CL will compare to calling package name with launch package name.
If they are not equal, the setClassName() will not invoke.

Bug: 186490534
Bug: 179386960
Bug: 179386068

Test: make RunSettingsRoboTests -j56
Change-Id: Ia51528f2a44ab73edbc86899ca0846d3262fe1f0
(cherry picked from commit bb5be240c0)
2021-05-04 06:00:16 +00:00
Hugh Chen
bb5be240c0 Fix unable to send file via OPP
Bluetooth app will indicate BluetoothOppReceiver to receive
device picker intent. But for fix the security issue we
removed the setClassName() method in ag/14111132 to avoid attack.
It causes BluetoothOppReceiver cannot receive the intent.

This CL will compare to calling package name with launch package name.
If they are not equal, the setClassName() will not invoke.

Bug: 186490534
Bug: 179386960
Bug: 179386068

Test: make RunSettingsRoboTests -j56
Change-Id: Ia51528f2a44ab73edbc86899ca0846d3262fe1f0
2021-04-29 13:53:50 +08:00
Jakub Pawlowski
54e74cae5f Fix app name label spoofing
Fix idea was copied from
frameworks/base/core/java/android/accounts/ChooseAccountActivity.java

Bug: 183710549
Test: verified with POC app from bug that the fix is working
Change-Id: I40131965ed0d1e11cdf4b56daef39a95b80fdd7d
2021-04-27 17:06:59 +00:00
Evan Chen
e14cc634dc Merge "Companion Device App showing in Settings" into sc-dev 2021-04-26 18:22:02 +00:00
Hugh Chen
43d093ebe8 RESTRICT AUTOMERGE Fix bluetooth settings will broadcast to anywhere when some cases
BluetoothPermissionActivity and DevicePickerFragment will send
broadcast to return the result to calling apps. As this broadcast
intent is from Settings with uid 1000, it will be sent to any
protected BroadcastReceivers in the device. It can make an attacker
send broadcast to protected BroadcastReceivers like factory reset intent
(android/com.android.server.MasterClearReceiver) via
BluetoothPermissionActivity or DevicePickerFragment.

This CL will not allow to set package name and class name to avoid
the attacker.

Bug: 179386960
Bug: 179386068
Test: make -j42 RunSettingsRoboTests and use test apk to manually test
to verify factory reset not started and no system UI notification.

Change-Id: Id27a78091ab578077853b8fbb97a4422cff0a158
(cherry picked from commit 8adedc6249)
2021-04-26 03:43:57 +00:00
Hugh Chen
208e32af9f RESTRICT AUTOMERGE Fix bluetooth settings will broadcast to anywhere when some cases
BluetoothPermissionActivity and DevicePickerFragment will send
broadcast to return the result to calling apps. As this broadcast
intent is from Settings with uid 1000, it will be sent to any
protected BroadcastReceivers in the device. It can make an attacker
send broadcast to protected BroadcastReceivers like factory reset intent
(android/com.android.server.MasterClearReceiver) via
BluetoothPermissionActivity or DevicePickerFragment.

This CL will not allow to set package name and class name to avoid
the attacker.

Bug: 179386960
Bug: 179386068
Test: make -j42 RunSettingsRoboTests and use test apk to manually test
to verify factory reset not started and no system UI notification.

Change-Id: Id27a78091ab578077853b8fbb97a4422cff0a158
(cherry picked from commit 8adedc6249)
2021-04-26 03:42:48 +00:00
Eugene Susla
7dc2624b51 Companion Device App showing in Settings
Added a feature that users are able to see/remove the apps' associations
in Settings/Connected devices.
It will display the icon of the associations app, app's name and a button
that users are able to remove the associations. Also it will pop up a
dialog alerting user before remove the associations.

Screenshot:
https://screenshot.googleplex.com/APSRhW2retYmAAK

Bug: 165951651
Test: Manually Test

Change-Id: Iccaeaf516e8a78d4ef33415c1c2d7379139ec88c
2021-04-24 21:31:25 +00:00