Commit Graph

31875 Commits

Author SHA1 Message Date
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
Tsung-Mao Fang
4493d84ab2 Prevent HTML Injection on the Device Admin request screen
The root issue is that CharSequence is an interface.
String implements that interface, however, Spanned class
too which is a rich text format that can store HTML code.

The solution is enforce to use String type which won't include
any HTML function.

Test: Rebuilt apk and see the string without HTML style.
Bug: 179042963
Change-Id: I53b460b12da918e022d2f2934f114d205dbaadb0
Merged-In: I53b460b12da918e022d2f2934f114d205dbaadb0
(cherry picked from commit 0bf3c98b2f)
(cherry picked from commit 52f9039d5c)
2021-05-20 00:01:26 +00:00
Arc Wang
ceb2e28da4 Hide non-system overlay window on ActivityPicker
To improve security.

Bug: 181962311
Test: manual
      Show an AlertDialog and observe if it will hide after below command.
      adb shell am start -a android.intent.action.PICK_ACTIVITY -n com.android.settings/.ActivityPicker
Change-Id: I6e2845cc19dc012cba2933318a067bbb8db90a23
(cherry picked from commit 3b4853e109)
(cherry picked from commit aef628646a)
2021-04-12 23:38:43 +00:00
Pavel Grafov
18c04f023a Prevent disconnecting admin-configured VPN am: 735a216da3
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13931528

Change-Id: Ib7ccf10cba6c1f494bb4dcb7a711aa5a218f9dd8
2021-04-02 18:57:25 +00:00
TreeHugger Robot
9258e9ee9d Merge "Only display single line for title" into rvc-qpr-dev 2021-04-01 16:18:08 +00:00
Tsung-Mao Fang
bfb68fa6fe Merge "Revert "Only display single line for title"" into rvc-qpr-dev 2021-04-01 15:56:19 +00:00
Pavel Grafov
735a216da3 Prevent disconnecting admin-configured VPN
First, if the VPN is configured by an admin, the preference is
disabled and tapping on it will results in a policy disclouser
dialog.
In addition restriction checks in the dialog also check if the
VPN is admin-configured.

Bug: 179975048
Test: Manual, setting VPN in profile and primary user and via DPM API.
Test: make RunSettingsRoboTests -j
Merged-In: Id59d2ac2782e83601bc3093d3a092faea36ff5d9
Change-Id: Id59d2ac2782e83601bc3093d3a092faea36ff5d9
2021-04-01 12:39:32 +01:00
Tsung-Mao Fang
f7ae52bed6 Only display single line for title
When a malicious device admin app’s name includes
a bunch of CRLF characters, it will cause incorrect shows
and selection confusion in Settings Device admin apps listView.

Test: Built the apk and saw single line title.
Bug: 169936038
Change-Id: I98d9a93bfdc792017124dda52a59d25a6462079e
Merged-In: I98d9a93bfdc792017124dda52a59d25a6462079e
2021-04-01 05:48:04 +00:00
Tsung-Mao Fang
ba9215cbda Revert "Only display single line for title"
This reverts commit 121041cf58.

Reason for revert: Some use cases don't need single line design. see b/184108687

Fix: 184108687
Change-Id: I1d095ae198cf2fd73eef39caf93895c7d96ca7f7
2021-04-01 04:14:03 +00:00
Weng Su
020af77825 Hide edit menu if network is uneditable
- Screenshot:
  https://screenshot.googleplex.com/3BhZRBrmQXjeaGL

Bug: 161896161
Test: manual test
make RunSettingsRoboTests ROBOTEST_FILTER=WifiNetworkDetailsFragment2Test

Merged-In: I47ea2cf19e178eff48f23e56903d0daa4ef8fa28
Change-Id: I47ea2cf19e178eff48f23e56903d0daa4ef8fa28
(cherry picked from commit b7dbd3a911)
2021-03-22 09:43:57 +00:00
Tsung-Mao Fang
121041cf58 Only display single line for title
When a malicious device admin app’s name includes
a bunch of CRLF characters, it will cause incorrect shows
and selection confusion in Settings Device admin apps listView.

Change-Id: Ifc3cc689a221830c6687b7d69cf86f1ed7f2d698
Test: Built the apk and saw single line title.
Bug: 169936038
Merged-In: I0c9d80273ed752c5a83afcad18d67400bcfc1618
2021-03-12 08:34:57 +00:00
Andras Kloczl
e36357b20c Prevent using invalid result uri during multi user image change
Test: manual
Bug: 172939189
Change-Id: I3e6f6200e82e86d6a2085652906ad2d0d44814f5
Merged-In: I3e6f6200e82e86d6a2085652906ad2d0d44814f5
Merged-In: Id2e598878b3250e8b3590905c6def561e2437d55
Merged-In: I15e15ad88b768a5b679de32c5429d921d850a3cb
2021-03-11 00:14:59 +00:00
Andras Kloczl
07e414017c Prevent using invalid result uri during multi user image change
Test: manual
Bug: 172939189
Change-Id: I3e6f6200e82e86d6a2085652906ad2d0d44814f5
Merged-In: Id2e598878b3250e8b3590905c6def561e2437d55
Merged-In: I15e15ad88b768a5b679de32c5429d921d850a3cb
2021-03-11 00:13:05 +00:00
TreeHugger Robot
2c61777f4b Merge "Fix security issue" into rvc-qpr-dev 2021-03-08 13:43:50 +00:00
tim peng
d082221652 Merge "Add the explicitly mutable flag for creating a PendingIntent in MediaOutputSlice" into rvc-qpr-dev 2021-03-05 02:03:05 +00:00
Weng Su
f71502fb10 [Security Report] Fix Settings WifiScanModeActivity Overlaid issue am: 05d6fa9bcb
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13468308

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I578a0db27ddf400017d53edadcb13938f398210b
2021-03-04 23:05:59 +00:00
Tom Hsu
f76a2ff641 Merge "Only default APN type can make preference selectable." into rvc-qpr-dev 2021-02-24 03:59:11 +00:00
tom hsu
0361c7b4c0 Only default APN type can make preference selectable.
- Current design is only to check mms type, but if there are other APN
 types group in one apn settings, it will show the radio button and the
 user can see the radio button and select it.

 - Improvement: Only make APN setting with defalut APN type be able to be selected.
    - https://screenshot.googleplex.com/8pfQinjya2NJWoV
Bug: 180475805
Test: Maunal test with ATT SIM.
Change-Id: Ic14121d7ce2a53b0f883a0637fc390c2aa4dd1d7
Merged-In: Iae6943971c0cc6d31dc0e9d4dd97e850117adbfd
2021-02-23 10:32:13 +00:00
changbetty
acdb2d29e9 [Telephony settings] Settings crashes when rotate screen in Preferred network type
When activity is recreated, fragments are automatically reattached.
Need to check the savedInstanceState is null or not when we want to add framgment in MobileNetworkActivity.
(lost to check in ag/9667137)

Bug: 154087690
Test: Manual
      make RunSettingsRoboTests -j ROBOTEST_FILTER=MobileNetworkActivityTest
Change-Id: Id169353f6dc10306dddd823a904f0803b26a6ddc
Merged-In: Id169353f6dc10306dddd823a904f0803b26a6ddc
2021-02-04 12:53:16 +08:00
TreeHugger Robot
6dc9f825ec Merge "[Security Report] Fix Settings WifiScanModeActivity Overlaid issue" into rvc-qpr-dev 2021-02-03 17:24:05 +00:00
Weng Su
05d6fa9bcb [Security Report] Fix Settings WifiScanModeActivity Overlaid issue
- Disallowed non system overlay windows

- Screenshot
  https://screenshot.googleplex.com/77fJ9QN6pV4zFYc

Bug: 174047492
Test: manual test
Merged-In: Ia7acad6d456ce5ebea2d982d4cb063d4f28cbfff
Change-Id: Ia7acad6d456ce5ebea2d982d4cb063d4f28cbfff
(cherry picked from commit d47d8e4fc5)
2021-02-03 10:00:07 +00:00
Tsung-Mao Fang
211a2fff0d Fix security issue
Settings#CredentialStorage could be overlaid to
trick user into clearing all credentials.

Disallow non-system overlay on activity.

Test: Trigger the debug apk again, and no overlay
Bug: 176753731
Change-Id: I657de039d667f5aee0941336e9361ae04f056c33
Merged-In: I657de039d667f5aee0941336e9361ae04f056c33
2021-02-03 06:44:56 +00:00
Weng Su
eaeb50271e [Security Report] Fix Settings WifiScanModeActivity Overlaid issue
- Disallowed non system overlay windows

- Screenshot
  https://screenshot.googleplex.com/77fJ9QN6pV4zFYc

Bug: 174047492
Test: manual test

Merged-In: Ia7acad6d456ce5ebea2d982d4cb063d4f28cbfff
Change-Id: Ia7acad6d456ce5ebea2d982d4cb063d4f28cbfff
(cherry picked from commit d47d8e4fc5)
2021-02-01 03:34:01 +00:00
tom hsu
ae6a21427c Avoid wrong telephonymanager with wrong sub id.
When initialized SimStatusDialogController, also create TelephonyManager
with sub id.

Bug: 174171839
Test: Manual test passed, see b/174171839#25
Test: make RunSettingsRoboTests ROBOTEST_FILTER=SimStatusDialogControllerTest passed
Change-Id: I6bd6975e39c75884252b9d0bcd9d5548dbdfe6d5
Merged-In: I6bd6975e39c75884252b9d0bcd9d5548dbdfe6d5
2021-01-29 14:31:02 +00:00
TreeHugger Robot
4046f5c134 Merge "Add adaptive charging to the top level settings menu" into rvc-qpr-dev 2021-01-08 23:16:28 +00:00
Hugh Chen
5108e1bd83 RESTRICT AUTOMERGE Update String am: 19aeca103d
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13275409

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I0e4b9032a22e5306c5e10ff54f75dd4739199605
2021-01-07 08:05:52 +00:00
Hugh Chen
dc2b694a54 DO NOT MERGE: resolve merge conflicts of c17ec818af to rvc-qpr-dev
Bug: 167403112
Test: send intent to test right prompts message is pop up. make -j42 RunSettingsRoboTests
Change-Id: Iec4d1963e626829b696c2047c5979a684119acf7
Merged-In: Iec4d1963e626829b696c2047c5979a684119acf7
2021-01-07 06:03:10 +00:00
Hugh Chen
c17ec818af RESTRICT AUTOMERGE Fix phishing attacks over Bluetooth due to unclear warning message am: 8ecca02ece
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13275410

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I96867a323781675c52bf875c2221c348baca6b83
2021-01-06 23:32:22 +00:00
Stephane Lee
b9b67ee815 Add adaptive charging to the top level settings menu
Bug: 172009945
Test: Trigger adaptive charging and verify string in menu
Change-Id: Iba2d81e779e2b4aaa3c7b7c38710a03c6792c4a9
Merged-In: Iba2d81e779e2b4aaa3c7b7c38710a03c6792c4a9
(cherry picked from commit b60870cb7d)
2021-01-06 21:59:42 +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
Hugh Chen
bbe765f992 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:33:52 -08:00
Tim Peng
9ba74049fc Add the explicitly mutable flag for creating a PendingIntent in MediaOutputSlice
Bug: 175124820
Test: make -j50 RunSettingsRoboTests
Merged-In: Ic37b37bdbe6de6bdbad741985d3a920334240d80
Change-Id: I49bc2f1fe903422e08ef3b98993f1b60df458d9c
2020-12-21 16:29:05 +08:00
Tim Peng
fbd36bc62b Add the explicitly mutable flag for creating a PendingIntent
Bug: 174047735
Test: make -j50 RunSettingsRoboTests
Merged-In: Ic37b37bdbe6de6bdbad741985d3a920334240d80
Change-Id: Id4a3c67025a06b63628298f4af28fbf5db45a566
2020-12-18 07:38:18 +00:00
Jiashen Wang
60de630fee Merge "Move eSIM reset before telephony manager reset in ResetNetworkConfirm" into rvc-qpr-dev 2020-12-17 17:44:31 +00:00
Bonian Chen
0968b8603e Merge changes from topic "eSIM with same group UUID" into rvc-qpr-dev
* changes:
  [Settings] code refactor - rename isSubscriptionCanBeDisplayed
  [Settings] Only display 1 SIM UI when multiple with same group UUID
2020-12-17 15:27:46 +00:00
Bonian Chen
c2232020c4 [Settings] code refactor - rename isSubscriptionCanBeDisplayed
canSubscriptionBeDisplayed is more readable.

Reasonale:
When cherry-picking ag/12886476 into Android R branch (ag/13209427), a comment from code reviewer suggested this change.
Since ag/12886476 has been merged for a while, another patch for it is perferred option when comparing with reverting that CL and resubmit it.

Bug: 175830728
Change-Id: Ie91eb82504fd7cff6671803a2bc2560139690952
Test: build pass
Merged-In: Ie91eb82504fd7cff6671803a2bc2560139690952
2020-12-17 03:04:50 +00:00
Bonian Chen
150eb72a81 [Settings] Only display 1 SIM UI when multiple with same group UUID
Some carrier(s) expand their service through providing eSIM in companion
with pSIM. Group UUID is designed to group them together as a single
SIM.

Bug: 169455114
Bug: 175069803
Test: make RunSettingsRoboTests ROBOTEST_FILTER=SubscriptionsPreferenceControllerTest
Change-Id: I0934a45a2917ab106627c733162efbee9a13f216
(cherry picked from commit a6b249d625)
Merged-In: I0934a45a2917ab106627c733162efbee9a13f216
2020-12-17 02:12:44 +00:00
Malcolm Chen
abd767ab1d Automatically dismiss SIM combination warnings and selection dialogs.
When configuring CBRS profiles this dialog / notification will be
dismissed after configuration is done, to avoid confusion.

Bug: 142092510
Test: manual and unittest
Change-Id: Iaf30062f555ec2c119c4aafd6aa013e73b5253f0
Merged-In: Iaf30062f555ec2c119c4aafd6aa013e73b5253f0
2020-12-15 22:11:55 +00:00
Jiashen Wang
c1ed4d5485 Move eSIM reset before telephony manager reset in ResetNetworkConfirm
TelephonyManager#resetSettings triggers modem restart. It could cause
eSIM reset failure since Modem is not available. In order to resolve
this issue, we move eSIM reset befor telephony manager reset.
Bug: 175239934
Test: Manually tested

Change-Id: I44644c67577469898726ba07dcd6b68b3fb73b2a
2020-12-14 22:44:41 -08:00
Hugh Chen
b767df1a08 Add condition to check case of accessory combinations
Before this CL, we only compare whether the value of function is
equal to accessory to ensure usb is in accessory mode. But in some
cases there are different accessory combinations, like
"accessory,audio source". It will make the condition return false
when encountering accessory combinations.

This CL will check whether the function will include accessory mode
to fix this issue.

Bug: 162451162
Test: make -j42 RunSettingsRoboTests
Change-Id: I7c80f02de5340799e292949608e19b86b187b982
Merged-In: I7c80f02de5340799e292949608e19b86b187b982
(cherry picked from commit 7d71081d45)
2020-12-14 07:32:41 +00:00
Hugh Chen
e8dc7bc283 Do nothing when choosing file transfer when in accessory mode
- Before this CL, the device will be disconnected and reconnected
  to accessory mode when choosing "File transfer/Android Auto" in
  accessory mode. Because the USB menu didn't check state of
  function, it should do nothing when choosing
  "File transfer/Android Auto" in accessory mode.

  This CL add condition to check state of function, it will do
  nothing when choosing "File transfer/Android Auto" in
  accessory mode.

Bug: 162451162
Test: make -j42 RunSettingsRoboTests
Change-Id: I1749c6c43d2a192e4ce1bf1ae5343ff8deafbe48
Merged-In: I1749c6c43d2a192e4ce1bf1ae5343ff8deafbe48
(cherry picked from commit 3251a04ba3)
2020-12-14 06:59:06 +00:00
Hugh Chen
91ed63124c Fix the usb menu didn't switch to "File Transfer/Android Auto" right after connecting to the car unit.
- Before this CL, the usb receivers didn't check the extra information
  of the accessory. It causes the usb menu not to be aware that the
  usb port is switched to accessory mode.

  In this CL, the receivers will check whether the intent has an
  accessory extra. If the usb port is switched to accessory mode
  the usb menu will switch to "File Transfer/Android Auto".

Bug: 162451162
Test: make -j42 RunSettingsRoboTests
Change-Id: I0eca89a23670c674b74753fc526256cc1d52e759
Merged-In: I0eca89a23670c674b74753fc526256cc1d52e759
(cherry picked from commit af0a45bb7a)
2020-12-14 06:58:26 +00:00
Robert Luo
4dd011b3c7 Merge "Migrate media output switcher metrics - 2/n" into rvc-qpr-dev 2020-12-11 06:56:24 +00:00
tim peng
656867b4de Merge "Add FLAG_RECEIVER_FOREGROUND to run redirect intent at foreground priority" into rvc-qpr-dev 2020-12-10 05:30:42 +00:00
TreeHugger Robot
79bf00aac3 Merge "Add bluetooth package to permission request intent" into oc-mr1-dev am: 504b96d76c am: 2117006bc6 am: cfdae774cd am: 635029b87f am: f49e9d2196 am: 0b89867372
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/13088581

MUST ONLY BE SUBMITTED BY AUTOMERGER

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

MUST ONLY BE SUBMITTED BY AUTOMERGER

Change-Id: I81cd1495fd0beb356554d5a86daa30214d0d27d0
2020-12-09 14:03:32 +00: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