Commit Graph

1144 Commits

Author SHA1 Message Date
Xin Li
8aa74d1ad4 Merge SP1A.210812.016
Merged-In: Ie9cea79f825b78495b1f93527f3fa980f9b975e3
Change-Id: Ib853137811901796f73e4d720accb3249a7db963
2021-09-28 19:39:58 +00:00
Guojing Yuan
cfbf0b0336 Remove CDM entries in Connected Device.
BUG: 191992001

Test: Robotest
Change-Id: Ie9cea79f825b78495b1f93527f3fa980f9b975e3
(cherry picked from commit 11655705db)
2021-08-19 03:21:50 +00:00
Xin Li
42be0d2f75 Merge sc-dev-plus-aosp-without-vendor@7634622
Merged-In: Id2a8c43f9bca79200f837759ce9de0a6eba2a37a
Change-Id: I90fe22409ec7832714c8530f54408db747bdf3c4
2021-08-14 06:30:57 +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
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
TreeHugger Robot
3bcd6bade2 Merge "Use new api to get bluetooth device icon" into sc-dev 2021-04-23 11:59:04 +00:00
TreeHugger Robot
47b254ad88 Merge "Fix bluetooth settings will broadcast to anywhere when some cases" into sc-dev 2021-04-23 09:11:28 +00:00
Hugh Chen
3cf4c3f3a5 Use new api to get bluetooth device icon
This CL use CachedBluetoothDevice#getDrawableWithDescription()
to get bluetooth device icon.

Bug: 178255374
Test: make RunSettingsRoboTests -j56

Change-Id: I45c273e2dd782029da7a3a2724cbca3762cc2d9c
2021-04-20 19:13:34 +08:00
TreeHugger Robot
c9cbe8a572 Merge "Add 50% opacity if detect there is no device image yet" into sc-dev 2021-04-14 03:44:16 +00:00
Hugh Chen
97660dd1f4 Add 50% opacity if detect there is no device image yet
Screenshot:
https://screenshot.googleplex.com/Ah9DKn85S3AWB4r.png

Bug: 177901821
Test: build pass and manual test
Change-Id: Ia5142cdd1cf105d978043987ad92c5c4e8c79e0c
2021-04-13 12:05:28 +08:00
TreeHugger Robot
086fb08d76 Merge "Update string" into sc-dev 2021-04-13 01:59:35 +00:00
Hugh Chen
38fc9a91b5 Update string
1. Replace "An untrusted Bluetooth device" to "A Bluetooth device".
2. Replace "Deny" to "Don't allow"

https://docs.google.com/document/d/18bVSIAyX4MNpNeCvxqyZu7CXcBUcdV0pnh-gzVprjqU/edit?ts=60709637

Bug: 167403112
Test: send intent to test right prompts message is pop up.
make -j42 RunSettingsRoboTests

Change-Id: I38da15d4b1fb08671f6352458cbf3f735b4083bc
2021-04-12 14:57:33 +08:00
Hugh Chen
8adedc6249 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
2021-04-12 14:10:42 +08:00
Wesley.CW Wang
50f314e45d Update StringUtil#formatElapsedTime method (2/3)
- Update the usage and the test case
 - Update discharging string to follow new string doc

Bug: 183689347
Test: make RunSettingsRoboTests
Change-Id: I1e14e7da8cb02755d8cf6e12626a0d94fad87121
2021-04-07 10:19:10 +00:00
tim peng
6f96226f45 Merge "[Rohan]The battery level show up "-1%", not sync with Rohan." into sc-dev 2021-04-01 13:25:31 +00:00