Commit Graph

16240 Commits

Author SHA1 Message Date
Josh Hou
406abc4d62 Fix the security vulnerability issue in AppLocalePickerActivity am: 33ef83795e
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/21152842

Change-Id: Ic0ff8ade7897052d04c118dc0a8f67312f5d0ebf
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-02 00:50:59 +00:00
Josh Hou
33ef83795e Fix the security vulnerability issue in AppLocalePickerActivity
Examine whether the packages is allowed to display app locales list when creating the AppLocalePickerActivity, and examine whether the target user is the same as the calling user.

Bug: 257954050
Test: Follows the test step listed in b/257954050#comment14
Change-Id: I2e25a308bcba6ea0edee89c7a78465f766bdbeac
Merged-In: I2e25a308bcba6ea0edee89c7a78465f766bdbeac
2023-02-01 15:49:20 +08:00
Kevin Liu
15ef36bc54 resolve merge conflicts of 521278a00d to tm-d1-dev
Test: I solemnly swear I tested this conflict resolution.
Bug: b/264918004
Change-Id: I6125be25233ffb33e10cc98444017b3d3a99f1f9
Merged-In: I2cfda684059520f6ddd1e72c55f1ab1ec9c99e8b
2023-01-10 15:42:02 +00:00
Sorin Basca
e81d98cc08 Use Mockito 4.6.1 API
Bug: 236636175
Test: atest SettingsRoboTests
Change-Id: I2cfda684059520f6ddd1e72c55f1ab1ec9c99e8b
Merged-In: I2cfda684059520f6ddd1e72c55f1ab1ec9c99e8b
2022-12-29 00:47:06 +00:00
Arc Wang
434c8934c4 Settings 2-pane deep link vulnerabilities
Settings app must not start an deep link Activity if
1. The deep link Activity is not exported.
or
2. Calling package does not have the permission to
   start the deep link Activity.

Bug: 250589026
Test: make RunSettingsRoboTests ROBOTEST_FILTER=SettingsHomepageActivityTest
Change-Id: I9a3bddfa5d9d1d2e924dd6f3e5e07dca6c11664f
Merged-In: I9a3bddfa5d9d1d2e924dd6f3e5e07dca6c11664f
2022-11-30 06:09:43 +00:00
changbetty
dcbc894b01 RESTRICT AUTOMERGE Make bluetooth switch not discoverable via SliceDeepLinkTrampoline am: cdbbd7bba4
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20419505

Change-Id: I1347a81821a65297dded3a093cbd0624ed454fb6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-16 03:49:33 +00:00
changbetty
cdbbd7bba4 RESTRICT AUTOMERGE Make bluetooth switch not discoverable via SliceDeepLinkTrampoline
Bug: 244423101
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothSwitchPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothDashboardFragmentTest
Test: manual test by test apk

Change-Id: I13562d227e06627fac33239a9d21fd405a18d012
2022-11-09 06:39:05 +00:00
Arc Wang
5292e9e085 Remove Intent selector from 2-pane deep link Intent am: dd7d2d766a am: 923ba5fcb2
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20349285

Change-Id: I66b28ac40ee6c50c10e51cff6844c17f91ac5e00
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-06 05:26:26 +00:00
Arc Wang
923ba5fcb2 Remove Intent selector from 2-pane deep link Intent am: dd7d2d766a
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/20349285

Change-Id: I766b9fa3ccd6c7d690275292b84efbddb19c651e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-06 04:23:18 +00:00
Arc Wang
dd7d2d766a Remove Intent selector from 2-pane deep link Intent
To guard against the arbitrary Intent injection through Selector.

Bug: 246300272
Test: make RunSettingsRoboTests ROBOTEST_FILTER=SettingsActivityTest
Change-Id: I76fbf3ff7a6611ebb3d07f73845a64efe1771769
Merged-In: I8b3b936de490f09f4be960fdafc6e66a1d858ee2
2022-11-02 07:38:18 +00:00
Milton Wu
1ec2b21d42 [DO NOT MERGE] Add FLAG_SECURE for ChooseLockPassword and Pattern am: aac79b894f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/19961566

Change-Id: I2a898ea074fa01c6ffd8742e9d41762bed20fab4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-09-28 03:43:32 +00:00
Milton Wu
aac79b894f [DO NOT MERGE] Add FLAG_SECURE for ChooseLockPassword and Pattern
Prevent ChooseLockPassword and ChooseLockPatten being projected to
remote views, add FLAG_SECURE for these screens.

Bug: 179725730
Test: Check these 2 screens not projected to chromecast
Test: robo test for SetupChooseLockPatternTest ChooseLockPatternTest
      SetupChooseLockPasswordTest ChooseLockPasswordTest
Change-Id: I7449a24427c966c1aa4280a7b7e7e70b60997cca
Merged-In: I7449a24427c966c1aa4280a7b7e7e70b60997cca
(cherry picked from commit 98239c0da6)
2022-09-15 07:02:13 +00:00
Milton Wu
27bddff2ac [DO NOT MERGE] Add FLAG_SECURE for ChooseLockPassword and Pattern
Prevent ChooseLockPassword and ChooseLockPatten being projected to
remote views, add FLAG_SECURE for these screens.

Bug: 179725730
Test: Check these 2 screens not projected to chromecast
Test: robo test for SetupChooseLockPatternTest ChooseLockPatternTest
      SetupChooseLockPasswordTest ChooseLockPasswordTest
Change-Id: I7449a24427c966c1aa4280a7b7e7e70b60997cca
Merged-In: I7449a24427c966c1aa4280a7b7e7e70b60997cca
(cherry picked from commit 98239c0da6)
2022-09-15 07:00:35 +00:00
Bonian Chen
8c6c1ca236 [Settings] Not allow APN delete when adding is not an option
When not allowing APN to add, user may not be able to recover easily
when delete it.

Therefore, avoid from APN to be deleted when adding is not allowed.

Bug: 243664439
Bug: 200875858
Test: local, robolectric
Change-Id: I5cf984000244b4ad901c6a4977a1368279323e0a
2022-08-26 08:52:42 +00:00
Tsung-Mao Fang
5e785a2d99 Wi-Fi panel doesn't need to check permission
Prior to this cl, we use #getPackagesForUid()
to get a list of calling package names and
pick up 1st package name in the list as target
calling package. And then go to check the
Wi-Fi permission.

This implementation is ok for most apps without
sharing system uid. However, this may not work
if the package is set with sharing system ui.
In this case, we get a list of packages
and we don't know which one is caller. So, if we
decide to choose the 1st package as our
calling package, then it could fail to pass
permission check since that package could be not
a correct calling package.

In this cl, we skip permission check for those
packages running with system uid. So, it can resolve
Wi-Fi Panel problem since Wi-Fi panel runs
on settings process(with system uid).

Test: 1. adb shell am start -a android.settings.panel.action.WIFI
2. Verify on assistant app and system ui launcher and search app.
Bug: 240531998

Change-Id: Ia825853dde2e966e3d390cecfbe1a99f6439d31e
Merged-In: Ia825853dde2e966e3d390cecfbe1a99f6439d31e
2022-08-17 02:43:03 +00:00
Tsung-Mao Fang
d2c372450c Wi-Fi panel doesn't need to check permission
Prior to this cl, we use #getPackagesForUid()
to get a list of calling package names and
pick up 1st package name in the list as target
calling package. And then go to check the
Wi-Fi permission.

This implementation is ok for most apps without
sharing system uid. However, this may not work
if the package is set with sharing system ui.
In this case, we get a list of packages
and we don't know which one is caller. So, if we
decide to choose the 1st package as our
calling package, then it could fail to pass
permission check since that package could be not
a correct calling package.

In this cl, we skip permission check for those
packages running with system uid. So, it can resolve
Wi-Fi Panel problem since Wi-Fi panel runs
on settings process(with system uid).

Test: 1. adb shell am start -a android.settings.panel.action.WIFI
2. Verify on assistant app and system ui launcher and search app.
Bug: 240531998

Change-Id: Ia825853dde2e966e3d390cecfbe1a99f6439d31e
Merged-In: Ia825853dde2e966e3d390cecfbe1a99f6439d31e
2022-08-16 03:59:56 +00:00
Amy Hsu
1f7fab03c8 Merge "[RRS] Activate investigation of screen_resolution in settingsstats" into tm-d1-dev 2022-07-12 03:54:27 +00:00
Amy Hsu
7087e5c457 [RRS] Activate investigation of screen_resolution in settingsstats
Define a setting string for putting data for suez/settingstats.

Bug: 234035619
Test: Manually check ScreenResolution ap in Settings can work normally.
Merged-In: Ib4622490b0f63139b47f242ebcae916edf291cea
Change-Id: Ib4622490b0f63139b47f242ebcae916edf291cea
2022-07-07 08:15:47 +00:00
Joshua Mccloskey
431542dddc Merge "Fixed unicorn multi-enrollment flow." into tm-d1-dev 2022-06-29 16:48:53 +00:00
Joshua McCloskey
cdb654f9be Fixed unicorn multi-enrollment flow.
Test: Verified that Unicorn SUW flows can now
enroll a face.
Test: Verified normal SUW flow works as expected.

Fixes: 237088482
Fixes: 234663447
Change-Id: I9c4100f61b5e7d40fc9ed67c6918ec7bf31fc30a
2022-06-28 17:08:40 +00:00
SongFerng Wang
602fe375d9 Merge "Fix the testcase error" into tm-d1-dev 2022-06-28 05:57:21 +00:00
SongFerngWang
cefad1e4b7 Fix the testcase error
The BluetoothDeviceUdater added the checking whether the item is in the
list. It caused this testcase failed.
Add more mocks for this testcase.

Bug: 237223797
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothDevicesSliceTest
Change-Id: Idb746e42480f99846efb5d1e4d4a411a5a9ca296
2022-06-27 20:42:31 +08:00
SongFerng Wang
dc72a4a14f Merge "The UI only shows the active LE device" into tm-d1-dev 2022-06-26 16:38:24 +00:00
Bonian Chen
e941740b35 Merge "[Settings] Adjusted the API of Settings app" into tm-dev am: 29a00dbc31
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18660040

Change-Id: I8c39ef8a089394c52b5a80ea98fa77f2ab0f2ab8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-22 19:25:48 +00:00
Bonian Chen
29a00dbc31 Merge "[Settings] Adjusted the API of Settings app" into tm-dev 2022-06-22 18:59:54 +00:00
Oriol Prieto Gascó
0dfc94f668 Merge "Use com.android.bluetooth as the BT stack APK" into tm-dev am: d6166e42a0
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18981799

Change-Id: I0af1ada1c42fe907243bcde356f51d8302bfb5c6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-22 17:45:17 +00:00
Bonian Chen
d10618d489 [Settings] Adjusted the API of Settings app
The API of Settings app get changed in order to support large screen.
This is a fix to adopt the change related to this work.

A short brief:
1. Accept ACTION_MAIN for launching MobileNetworkActivity.
2. Support deep-link intent while MobileNetworkActivity in foreground.
3. Avoid from binding MobileNetworkActivity as a single instance.

Bug: 230047450
Bug: 234406562
Bug: 229371407
Test: local & unittest
Change-Id: Ifcb9d4c564839199d998bd503f390f021c6bf3ad
2022-06-22 07:51:47 +08:00
SongFerngWang
6426382e90 The UI only shows the active LE device
At the media device, it only shows the active LE device which is
connected.

Bug: 232892046
Test: make RunSettingsRoboTests ROBOTEST_FILTER=AvailableMediaBluetoothDeviceUpdaterTest
make RunSettingsRoboTests ROBOTEST_FILTER=ConnectedBluetoothDeviceUpdaterTest
make RunSettingsRoboTests ROBOTEST_FILTER=SavedBluetoothDeviceUpdaterTest

Change-Id: Iac661206def4d43bc40ab9bb1938f084926899c2
2022-06-20 21:30:34 +08:00
Oriol Prieto Gasco
f528e7de49 Use com.android.bluetooth as the BT stack APK
Test: TH
Bug: 236187653, 236192423
Change-Id: Ia86d195780a4994607b5533420cb72bd458d4f9a
2022-06-19 23:06:06 +00:00
Piotr Wilczyński
8bfab753c1 Merge "Notify about brightness change when screen turns on" into tm-dev am: 7d634de3ea
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/17898014

Change-Id: I00e339ffd5b02bcbfeccb512eeeedf6d6356df76
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-09 07:59:40 +00:00
Piotr Wilczyński
7d634de3ea Merge "Notify about brightness change when screen turns on" into tm-dev 2022-06-09 07:39:07 +00:00
SongFerng Wang
8425062cef Merge "Unable to enable the removable esim" into tm-dev am: be1b37ae2b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18714967

Change-Id: Ic113ffc982f64c332b5269275e47941d6d5c2245
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-09 02:07:10 +00:00
Alice Kuo
948b7cb959 Add LE Audio feature switcher in the developer option menu
Add a switcher to enable/disable LE audio feature. The switcher could be
enabled by setprop ro.bluetooth.leaudio_offload.supported=true

screenshot: https://screenshot.googleplex.com/6aGP664S9PX5EMS

Bug: 233018305
Bug: 233005340
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothLeAudioPreferenceControllerTest
Test: switch LE audio feature, and check LE audio functionality status
Change-Id: I8adcf27edd1438df445d32fca93f35ff5020a3b3
Merged-In: I8adcf27edd1438df445d32fca93f35ff5020a3b3
(cherry picked from commit 0d11fd07e7)
2022-06-07 09:36:15 +08:00
SongFerngWang
64430ba2d2 Unable to enable the removable esim
When the user enable the removable esim, the settings select wrong
slot(esim slot). The slot shold be the removable + esim slot and the
UiccCardInfo's cardId is the same as the removable esim's cardId.

Bug: 233170453
Bug: 233338345
Test: atest UiccSlotUtilTest
Change-Id: Ibd324b781c84318c994e3742bb82e1d1393b94e4
2022-06-06 17:56:25 +08:00
Tsung-Mao Fang
90968c8437 [DO NOT MERGE] Fix can't change notification sound for work profile.
Use correct user id context to query the type,
so we won't get empty result unexpectedly.

If we get the null result, then we won't set sound sucessfully.

Bug: 233580016
Bug: 221041256
Test: Manual test and set work profile sound works.
Change-Id: I7f8fb737a7c6f77a380f3f075a5c89a1970e39ad
Merged-In: I7f8fb737a7c6f77a380f3f075a5c89a1970e39ad
2022-06-02 10:20:38 +08:00
Chaohui Wang
7c74b9ba19 Merge "Clean up DarkUIInfoDialogFragment" into tm-dev am: 9ada0accef
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18669107

Change-Id: I493a08683c8f5ae0998f04fdcb987aead4d3fe5c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-01 12:39:08 +00:00
Chaohui Wang
9ada0accef Merge "Clean up DarkUIInfoDialogFragment" into tm-dev 2022-06-01 12:24:24 +00:00
Chaohui Wang
596644171b Merge "Fix flicker in Dark theme" into tm-dev am: 71fe20ea8b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18659336

Change-Id: I9c4aed2bb375a2b8b7836a139b1b01f64d235dce
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-06-01 02:51:43 +00:00
Chaohui Wang
71fe20ea8b Merge "Fix flicker in Dark theme" into tm-dev 2022-06-01 02:35:51 +00:00
Amith Yamasani
390236115a Use Uri.toString() instead of Uri.toSafeString() am: 1b27c91a7b
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18646683

Change-Id: I69c616bb66f0a440e654fe8c324bd222d1b3e612
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-31 12:25:01 +00:00
Chaohui Wang
9f6eaf8624 Fix flicker in Dark theme
Currently, when schedule sets to "Turns on at bedtime", the footer will
show a slid up animation when entering the page, this is because the
"Start time" & "End time" preferences are hidden in onResume().

This is because these 2 preferences always return AVAILABLE in
getAvailabilityStatus(), and manually update visibility in
refreshSummary(), which is called each time updateState() is called.

Usually the controller not set the visibility explicitly, but return
CONDITIONALLY_UNAVAILABLE in getAvailabilityStatus() when they want to
hide the preference.

Because getAvailabilityStatus() is called in onCreate(), by using this,
we can fix the flicker.

Fix: 234399017
Test: visual & robo test
Change-Id: I4cb7dd95d2985bd1ca4c8cb30aaebdc21a5415f8
2022-05-31 19:03:54 +08:00
Chaohui Wang
75e4028b3e Clean up DarkUIInfoDialogFragment
The usage of this dialog is removed in
Change Ie2cf147de53385ae0c626c8472306f1b85317686

But this dialog is created (but not show) in DarkUIPreferenceController
each time dark mode toggle is turned on by user.

So clean this up.

Fix: 234419979
Test: make Settings
Change-Id: Icdc9d7a4fb77dc8b2a3f1a9d8e3f40fc0af4917d
2022-05-31 17:58:05 +08:00
Amith Yamasani
1b27c91a7b Use Uri.toString() instead of Uri.toSafeString()
Uri.toSafeString strips out paths and shouldn't be used
for situations other than logging.

Bug: 232694281
Test: PtsPowerTestCases
Change-Id: Iec835b738c3e928e922bd6a14573106f2ce4f526
2022-05-30 23:22:25 -07:00
TreeHugger Robot
1340a91c73 Merge "Fix can't change notification sound for work profile." into tm-dev am: 07db5f4362
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18618750

Change-Id: Ifdd591d7f032facbfe0f0f6dfe6db587271ec386
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-27 15:56:19 +00:00
TreeHugger Robot
07db5f4362 Merge "Fix can't change notification sound for work profile." into tm-dev 2022-05-27 15:36:13 +00:00
Tsung-Mao Fang
40fbcf333f Fix can't change notification sound for work profile.
Use correct user id context to query the type,
so we won't get empty result unexpectedly.

If we get the null result, then we won't set sound sucessfully.

Fix: 233580016
Test: Manual test and set work profile sound works.
Change-Id: I7f8fb737a7c6f77a380f3f075a5c89a1970e39ad
2022-05-27 21:13:33 +08:00
Chaohui Wang
408728d4ab Merge "Fix flicker for AppDataUsage when zero usage" into tm-dev am: 98429fbe65
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18617746

Change-Id: I47ff02a503fd52cd79be438647d0f45c74c22a11
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-27 10:34:44 +00:00
Chaohui Wang
98429fbe65 Merge "Fix flicker for AppDataUsage when zero usage" into tm-dev 2022-05-27 10:29:51 +00:00
SongFerng Wang
15c33001a2 Merge "Changing the condition since the esim may be removable" into tm-dev am: fa5407c60f
Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/18579901

Change-Id: If3afab7ab294f3ce2836f96c12ba1d95dd82fbb6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-05-27 06:41:11 +00:00
Chaohui Wang
c2dacf1b75 Fix flicker for AppDataUsage when zero usage
When the page is entered from the AppInfoDashboardFragment, there is no
way to know whether the cycle data is available before finished the
async loading. If it's zero usage, the cycle spinner will be removed,
which cause a flicker.

Temporarily disable the preference list's animator before initial
page updates can solve this issue.

This also fix another flicker on this page when the background data is
off.

Fix: 233963355
Test: manual visual test
Change-Id: I795ed95e15bb3216fa17adfd4f57faf5fd92fa00
2022-05-27 10:21:17 +08:00