Commit Graph

1131 Commits

Author SHA1 Message Date
TreeHugger Robot
3f5d3cc0f3 Merge "Fix phone shows incorrect pairing code in pairing dialog" into sc-v2-dev 2021-11-08 07:34:32 +00:00
Hugh Chen
13375e5f44 Fix phone shows incorrect pairing code in pairing dialog
Add PendingIntent.FLAG_UPDATE_CURRENT to let peding intent can
be updated the intent extra.

Bug: 204133175
Test: make -j64 RunSettingsRoboTests
Change-Id: I42966432dacc3727d31231d10aa07b782bb1d92e
2021-11-05 09:22:13 +00:00
TreeHugger Robot
8118b9ff29 Merge "Remove the text for untethered bt device" into sc-v2-dev 2021-11-04 04:08:45 +00:00
Hugh Chen
ab3a70cf1e Remove the text for untethered bt device
Bug: 204066796
Test: make -j64 RunSettingsRoboTests
Change-Id: I35fec4ff998332e6937fc9c360ea488b35b477f8
2021-11-04 02:52:37 +00:00
Jason Chiu
2989c50a23 Add highlight menu keys for all toggle pref controllers and custom slices
Bug: 204695404
Test: manual, robotest build pass, unit
Change-Id: Iad2e28ada8ddb766ffa7eff2c8dc581250cbd6f8
2021-11-01 15:00:18 +08:00
Chienyuan
1b9a21ffb5 RESTRICT AUTOMERGE Remove connection preferences "Files received via Bluetooth"
Bug: 197609370
Bug: 201630499
Test: manual
Change-Id: I597a2105ca851dd41d92109f7b1a5d0137942601
(cherry picked from commit 5be9255ddf)
2021-10-14 08:47:16 +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
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
Guojing Yuan
11655705db Remove CDM entries in Connected Device.
BUG: 191992001

Test: Robotest
Change-Id: Ie9cea79f825b78495b1f93527f3fa980f9b975e3
2021-08-06 23:24:24 +00: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
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
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
Tim Peng
7246a4f842 [Rohan]The battery level show up "-1%", not sync with Rohan.
-Hide battery information when it is unknown

Bug: 184017556
Test: make -j50 RunSettingsRoboTests ROBOTEST_FILTER=AdvancedBluetoothDetailsHeaderControllerTest
Change-Id: I5f94ccae364f1420e04af21ba425c29ac6a11dd2
2021-04-01 15:40:54 +08:00