Commit Graph

1043 Commits

Author SHA1 Message Date
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
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
Hugh Chen
8ecca02ece RESTRICT AUTOMERGE Fix phishing attacks over Bluetooth due to unclear warning message
Before this CL, there is a possible phishing attack allowing a malicious
BT device to acquire permissions based on insufficient information
presented to the user in the consent dialog. This could lead to local
escalation of privilege with no additional execution privileges needed.
User interaction is needed for exploitation.

This CL add more prompts presented for users to avoid phishing attacks.

Merge Conflict Notes:
There were a number of entries in strings.xml that did not exist on this
branch. However, as the CL only adds new entries rather than modifying
old ones this should not cause a problem. There were no merge conflicts
in the java files.

Bug: 167403112
Test: send intent to test right prompts message is pop up. make -j42 RunSettingsRoboTests
Change-Id: Idc6ef558b692115bb82ea58cf223f5919b618633
2020-12-30 18:34:43 -08:00
TreeHugger Robot
f49e9d2196 Merge "Add bluetooth package to permission request intent" into oc-mr1-dev am: 504b96d76c am: 2117006bc6 am: cfdae774cd am: 635029b87f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13088581

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I36f99bfb1e5eee253bb4ce030d7000cb40c2ff63
2020-12-09 13:49:10 +00:00
TreeHugger Robot
635029b87f Merge "Add bluetooth package to permission request intent" into oc-mr1-dev am: 504b96d76c am: 2117006bc6 am: cfdae774cd
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13088581

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Iad91ec439965d52c652f79ce4d6fe3b125631f79
2020-12-09 13:03:53 +00:00
TreeHugger Robot
cfdae774cd Merge "Add bluetooth package to permission request intent" into oc-mr1-dev am: 504b96d76c am: 2117006bc6
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13088581

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: If3605d2b4dbad8b7b4979b644c89352ee8449ba1
2020-12-09 12:17:08 +00:00
TreeHugger Robot
2117006bc6 Merge "Add bluetooth package to permission request intent" into oc-mr1-dev am: 504b96d76c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13088581

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I7d7dcaefd10f297c9e268d8f9d8bf666d98b08fd
2020-12-09 12:08:40 +00:00
TreeHugger Robot
504b96d76c Merge "Add bluetooth package to permission request intent" into oc-mr1-dev 2020-12-09 12:06:33 +00:00
Jakub Pawlowski
c721dc5bad Prevent overlay drawing on top of Bluetooth activity dialog am: b29c036522
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13090436

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I956e8906633af45f12617dabbec4e060c14502f2
2020-12-09 11:32:56 +00:00
Jakub Pawlowski
b29c036522 Prevent overlay drawing on top of Bluetooth activity dialog
Bug: 168504491
Merged-In: I04ebe580db2b299af2bd5e44e0b0f20bd42f8535
Change-Id: I04ebe580db2b299af2bd5e44e0b0f20bd42f8535
2020-12-09 08:00:22 +00:00
TreeHugger Robot
4c4f83eb21 Merge "Prevent overlay drawing on top of Bluetooth activity dialog" into qt-dev am: 721f43dcdc am: 537c730ca2
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13090438

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: Ic39ad9f7212cdb757f79c61e23c84ac614e73fed
2020-12-08 23:58:02 +00:00
TreeHugger Robot
537c730ca2 Merge "Prevent overlay drawing on top of Bluetooth activity dialog" into qt-dev am: 721f43dcdc
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13090438

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I9c3d91f901bc38554732ff2cc428232f117efea0
2020-12-08 23:27:51 +00:00
Jakub Pawlowski
4f7edf692f Prevent overlay drawing on top of Bluetooth activity dialog
Bug: 168504491
Change-Id: I04ebe580db2b299af2bd5e44e0b0f20bd42f8535
2020-11-19 13:47:53 +01:00
Chris Manton
1951d27669 Add bluetooth package to permission request intent
Limit the component that may resolve this intent to the
bluetooth package.

Bug: 158219161
Test: Security Fix
Tag: #security
Change-Id: If732f940a7aa256f5975349118e8eb6cf5584676
2020-11-19 10:20:24 +00:00
Jakub Pawlowski
c49fcef907 Prevent overlay drawing on top of Bluetooth discovery request dialog am: ba7f6d7d45
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/11986974

Change-Id: Ice5a98b7d2c10e9ee62ed20da7aa9213d18a4d8b
2020-06-26 20:06:25 +00:00
Jakub Pawlowski
ba7f6d7d45 Prevent overlay drawing on top of Bluetooth discovery request dialog
Bug: 155650356
Change-Id: I9cee6e5bb8cef77aa385d664fe0738db1496ef20
Merged-In: I9cee6e5bb8cef77aa385d664fe0738db1496ef20
(cherry picked from commit ac67100423)
2020-06-24 19:02:54 +00:00
Jakub Pawlowski
138dbb86cc Prevent overlay drawing on top of Bluetooth pairing dialog am: f3afef8419
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/11953485

Change-Id: I41bd60685dc58028a328c041ca4532b42881cec7
2020-06-22 19:03:01 +00:00
Jakub Pawlowski
f3afef8419 Prevent overlay drawing on top of Bluetooth pairing dialog
Bug: 155648639
Change-Id: I99643ee9084f3a9bc1ad9a459ac27c587d832c91
Merged-In: I99643ee9084f3a9bc1ad9a459ac27c587d832c91
2020-06-22 17:35:40 +02:00
Jakub Pawlowski
a44860c880 Prevent overlay drawing on top of Bluetooth discovery request dialog am: c48d63752a am: e61467cd6c
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/11484059

Change-Id: Ib9bde83d8d0d5a81dcde8d7d6723a51d55663610
2020-06-08 06:12:33 +00:00
Jakub Pawlowski
e61467cd6c Prevent overlay drawing on top of Bluetooth discovery request dialog am: c48d63752a
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/11484059

Change-Id: I3572c16dd2b47189dc26ae4cd99f569d32b6ae2a
2020-06-08 05:55:40 +00:00
Jakub Pawlowski
c48d63752a Prevent overlay drawing on top of Bluetooth discovery request dialog
Bug: 155650356
Change-Id: I9cee6e5bb8cef77aa385d664fe0738db1496ef20
2020-06-04 06:45:16 +00:00
Jakub Pawlowski
3185f80f23 Prevent overlay drawing on top of Bluetooth pairing dialog am: 88815d1456 am: 103cc7cf29
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/11484060

Change-Id: Ifbdd0f3dabc0b487bfb5155f786cae6a9980557b
2020-06-03 10:18:46 +00:00
Jakub Pawlowski
103cc7cf29 Prevent overlay drawing on top of Bluetooth pairing dialog am: 88815d1456
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/11484060

Change-Id: Ib47c1804cbb29942c33152d72e1019c92f0d3856
2020-06-03 09:59:18 +00:00
hughchen
1df322225b Add bottom padding of profile group on Bluetooth detail page
- This CL add a bottom padding preference to make UI consistency.
- Update test case

Bug: 146522686
Test: make -j42 RunSettingsRoboTests
Change-Id: I525d8a3b71535972755de92924a3c04768f68e63
2020-05-18 13:17:15 +08:00
Jakub Pawlowski
88815d1456 Prevent overlay drawing on top of Bluetooth pairing dialog
Bug: 155648639
Change-Id: I99643ee9084f3a9bc1ad9a459ac27c587d832c91
2020-05-14 09:18:52 +00:00
hughchen
6060bc66e5 Add low battery level for case
- Add low battery level for case, because case and headset have
  different low battery level.
- Update test case

Bug: 154569936
Test: make -j42 RunSettingsRoboTests
Change-Id: Icf045b62992dde8d789e66343764849e43df1933
2020-05-08 15:15:15 +08:00
hughchen
47994dea19 Add log for debug
This CL use flag to decide which log should be show on.
This flag can be dynamic turn on when use below command:
adb shell setprop log.tag."your tag" VERBOSE

Bug: 155121301
Test: manually test
Change-Id: I0f3a28c11f6bd055efc84feb41d646b6c033f5b7
2020-05-05 11:26:28 +08:00
hughchen
828ccaf399 Update low battery level for advance bluetooth device
Bug: 154569936
Test: build pass
Change-Id: I52bb8eea4f69ae55a6902e3afb862aa8c7319785
2020-04-24 11:41:59 +08:00
alictsai
6b76eb0ab6 Device details LCR should be show up " ! " with low battery.
screenshot:
https://screenshot.googleplex.com/f72YS3THutW.png
https://screenshot.googleplex.com/v6uw7XsOs9x.png

Bug: 151187813
Test: make -j42 RunSettingsRoboTests
Change-Id: Iabb4ac54e6f827f54cd7c5512995f185875e4a06
2020-03-27 13:14:01 +08:00
Sunny Shao
3d3757683c Update the OWNER files
Bug: 151179432
Test: manual review
Change-Id: I2bfd917c2bea2d71303ed9aecf29d850f12eec3d
2020-03-11 16:45:14 +08:00
Jason Chiu
130629b1db Show paired devices on Bluetooth device slice card
- support tapping to activate for all available media devices including
  Hearing aid and Headset
- support tapping to connect for previously connected devices

Bug: 149667096
Test: robotest
Change-Id: I25f74b1b20fbb1876200a561775aa675ff60ac37
2020-03-09 17:43:29 +08:00
hughchen
76dcfdedf2 Fix incorrect UI issue of "previously connected devices"
This CL before, the bt device still showing on
"previously connected devices" after forgot that bt device.
It because the list of getMostRecentlyConnectedDevices()
will not include BOND_NONE device. We need to remove the
device that not include in list of getMostRecentlyConnectedDevices() .

This CL add removePreferenceIfNecessary() to check the device whether
is contained in getMostRecentlyConnectedDevices(). If not, remove the
preference.

Bug: 149193092
Test: make -j42 RunSettingsRoboTests
Change-Id: I94bedf222b64d9f05dc6f979b79dbc8794c0f97d
2020-02-10 19:16:56 +08:00
hughchen
1b3f570a67 Fix bluetooth settings force close
This CL include following change:

- Add null check of cacedBluetoothDevice, cachedBluetooth could be null
  if the input BluetoothDevice can't found in
  CachedBluetoothDeviceManager.
- Move addPreference() and removePreference() to update() method,
  because update() will be called to update UI when recevice Bluetooth
  device change event.
- Add test case to test CachedBluetoothDevice null check.

Bug: 149068434
Test: make -j42 RunSettingsRoboTests
Change-Id: I90016bf1175925821b0d9b634c62cf796289a734
2020-02-10 10:45:51 +08:00
TreeHugger Robot
cf4e12bbd9 Merge "Update profile api" 2020-02-06 01:47:19 +00:00
hughchen
eba97c8ce6 Update profile api
The profile will auto connect / disconnect when set enable / disable
profile. This CL remove connect / disconnect method.

Bug: 141582844
Test: make -j42 RunSettingsRoboTests
Change-Id: Ib875d126be0d8483fb539e7ba950242a4f38cf81
2020-02-05 16:04:36 +08:00
hughchen
043e43f059 Listed order on "previously connected" depend on recently connected devices
This CL use Bluetooth api "getMostRecentlyConnectedDevices()" to get
recently connected devices list. Let "previously connected" will list
most recently connected device on the top.

Bug: 130984590
Test: make -j42 RunSettingsRoboTests
Change-Id: I8d425b6da6cb9fe9fd1417937b4cb9a052cd1660
2020-02-03 14:08:12 +08:00
Edgar Wang
e19ee9a01f Revert "Settings search - Navigate user to exact page"
This reverts commit 08f2a58459.

Reason for revert: design changed, we decide to take the user to
the entry after clicking on a search result.
It's opposite with what we did, so we revert related CL first.

Test: robotest

Change-Id: Iadb9a94a7ef7838be34a54499e2d934d6396c336
2020-01-16 14:07:38 +08:00
hughchen
0ab3283ccf Update api name
Use CachedBluetoothDevice.connect() instead of
CachedBluetoothDevice.connect(boolean) to connect
Bluetooth device.

Fixes: 141582844
Test: manually
Change-Id: I8c50678bdfd6de89fb8d56122bfa38bdd5ac5c9d
2020-01-14 16:10:06 +08:00
Jason Chiu
2d609759cd Add preference click metric logs for some special cases
Bug: 137559984
Test: visual, robotest
Change-Id: If8624b49abcd0000487065160ce4a7ba861f234c
2020-01-02 17:45:23 +08:00
TreeHugger Robot
5900c5a6ac Merge "Use flag to confirm whether callback should unregister" 2019-12-30 02:39:03 +00:00
TreeHugger Robot
08bd74c59c Merge "Finish bluetooth detail fragment if device is BOND_NONE" 2019-12-27 03:03:49 +00:00
hughchen
58a99c6dab Use flag to confirm whether callback should unregister
This CL before, this class use isAvailable() to check whether
should register/unregister callback.
UI will be updated when this callback called.
But in one case, the isAvailable() state will not consistent
on onStart() and onStop().
The isAvailable() state will not consistent when user disconnect
device then forgot the device.
It's will cause callback not unregister when meet this case.
Then callback will duplicate call many times cause UI update not smoth.

This CL use flag to confirm the callback will unreigser on onStop().

Bug: 146617530
Bug: 145647143
Test: make -j42 RunSettingsRoboTests
Change-Id: I2b503ca9a7040b94ccc64ae196dad5a228fcbc6a
2019-12-26 14:43:56 +08:00
hughchen
d89518e3c5 Finish bluetooth detail fragment if device is BOND_NONE
This CL is used to check the bluetooth bond state when
fragment is onResume. The bluetooth detail fragment will
finish if the bluetooth bond state is BOND_NONE when
fragment is onResume.

Bug: 146621601
Test: make -j42 RunSettingsRoboTests
Change-Id: I157e1da925dcf527ce2b49ad431079d90b7c4fc3
2019-12-26 11:32:58 +08:00
Edgar Wang
08f2a58459 Settings search - Navigate user to exact page
- remove duplicate index preference
- default set searchable = false when the preference has fragment
- make some fragments indexable

Bug: 143057584
Test: robotest & manual

Change-Id: I4d64f6106d2f92f0a45e8c7e26388677f593f412
2019-12-24 21:04:11 +08:00
Automerger Merge Worker
d8c711d891 Merge "Remove calls to APIs no longer being supported" am: 30a4d24f03 am: 93df3c5ad6 am: 72ad627539
Change-Id: I2e9452f98d9bffd3647329b3b030692aeaa56a33
2019-12-12 21:47:18 +00:00
Automerger Merge Worker
72ad627539 Merge "Remove calls to APIs no longer being supported" am: 30a4d24f03 am: 93df3c5ad6
Change-Id: I2f101ddd172eb36148540821693802c7b0889e37
2019-12-12 21:33:53 +00:00
Rahul Sabnis
9348f31126 Remove calls to APIs no longer being supported
Bug: 143245666
Test: Manual
Change-Id: Ibec2c9d60ec5c90e9e4f0a03b75c54164f50f42d
2019-12-09 16:08:29 -08:00
Automerger Merge Worker
835fa1fd59 Battery icon is too large am: b6b29c1af0
Change-Id: I799cccf2808289b8f080cfa339b3bb35bef2690a
2019-12-06 01:21:24 +00:00
timhypeng
b6b29c1af0 Battery icon is too large
-sync layout from SystemUI

Bug: 141139595
Test: make -j42 RunSettingsRoboTests
Change-Id: I5e165e953682fcfdebf0d06475bb1abd171684d9
(cherry picked from commit c71f996da9)
Merged-In: I5e165e953682fcfdebf0d06475bb1abd171684d9
2019-11-26 12:35:22 +08:00
tim peng
1d07f6e970 Merge "Battery icon is too large" 2019-11-15 05:22:47 +00:00