If an Activity is not exported, the Activity still can be
launched by components of the same application, applications
with the same user ID, or privileged system components.
Bug: 261678674
Bug: 250589026
Change-Id: I89b2ae49b3b13f29b0a02cd54291937241f61696
Merged-In: I662df6cb287361b135e2c596abe946ddeb03bda4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
If an Activity is not exported, the Activity still can be
launched by components of the same application, applications
with the same user ID, or privileged system components.
Bug: 261678674
Bug: 250589026
Test: manual visual
Launcher -> context menu -> Wallpaper & style
Change-Id: I662df6cb287361b135e2c596abe946ddeb03bda4
Merged-In: I662df6cb287361b135e2c596abe946ddeb03bda4
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
Bug: 244423101
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothSwitchPreferenceControllerTest
Test: make RunSettingsRoboTests ROBOTEST_FILTER=BluetoothDashboardFragmentTest
Test: manual test by test apk
Change-Id: I13562d227e06627fac33239a9d21fd405a18d012
To guard against the arbitrary Intent injection through Selector.
Bug: 246300272
Test: make RunSettingsRoboTests ROBOTEST_FILTER=SettingsActivityTest
Change-Id: I76fbf3ff7a6611ebb3d07f73845a64efe1771769
Merged-In: I8b3b936de490f09f4be960fdafc6e66a1d858ee2
Change the screen resolution will cause re-layout the screen, so the focus will back to the first view. Before we actually set the screen
resolution, send an event to the AccessibilityManager and set what it
should say when the user selects the unselect option. Therefore TB will
say "selected" before the screen refreshes.
bug: 229352892
Test: Enable/disable Talkback and check RRS app behaivor. It should read
"selected" after user choose one un-selected option.
Change-Id: If14ed3685f85962d4e4b1d4961216c6ca5d5f0f8
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)
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)
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
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
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
Bluetooth pairing is cancelled if the pairing popup is closed without
explicitly accepting the pairing. However there is no way to
explicitly accept the pairing when the local device displays for the
passkey entry or pin key entry pairing method.
As a result all passkey entry and pin key entry pairings, where the
local device is displaying the value, are cancelled after the pairing
is successful. If the BT stack has not completed the SDP search when
the pairing is cancelled after successful pairing, it may result in
removal of the bond information.
Bug: 237757124
Test: Pair with BT HID keyboard; adb logcat | grep "BTPairingController:
Pairing dialog canceled"
Change-Id: Ifdb98c16084dd811eed68469e7df5d1913c6ace8
(cherry picked from commit aa1950fd80)
Merged-In: Ifdb98c16084dd811eed68469e7df5d1913c6ace8
Bluetooth pairing is cancelled if the pairing popup is closed without
explicitly accepting the pairing. However there is no way to
explicitly accept the pairing when the local device displays for the
passkey entry or pin key entry pairing method.
As a result all passkey entry and pin key entry pairings, where the
local device is displaying the value, are cancelled after the pairing
is successful. If the BT stack has not completed the SDP search when
the pairing is cancelled after successful pairing, it may result in
removal of the bond information.
Bug: 237757124
Test: Pair with BT HID keyboard; adb logcat | grep "BTPairingController:
Pairing dialog canceled"
Change-Id: Ifdb98c16084dd811eed68469e7df5d1913c6ace8
(cherry picked from commit aa1950fd80)
Merged-In: Ifdb98c16084dd811eed68469e7df5d1913c6ace8
Since Android T+, app has to assign an action name for opening a
external app page.
Test: Manual test wallpaper search result and can open.
Fix: 239867167
Change-Id: I4579aaf6e831ff82721c958e6b91ede4cabda2c8
Since there is the race condition and it causes UI hides the preferred
SIM dialog. Therefore, to hide the preferred SIM dialog under the
specific condition which the user has replaced the SIM during the
SIM switching.
Bug: 238061853
Test: Manually testing. Device has the psim+esim and the esim's mobile
data on. The tester disables the esim and then UI shows the preferred
SIM dialog.
Change-Id: I01e7d60170c5053730fd3113abd914fb5c0d11c9
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
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
Make sure previous setting has been completed before we set current
resolution. Register a display listner to listen onDisplayChanged
callback. So that we can know when display resolution change completed.
Bug: 232440665
Test: Switch resolution quickly and check display situation.
Change-Id: I1460c1db191250d8e51dd639cd969e4323f71abd
Deep links on large screen devices starts a homepage activity on the
left pane, and then starts the target activity on the right pane. This
flow overrides the calling package, and the target activity can't know
who initially calls it.
Thus, we store the initial calling package in the intent, so the
Connected devices page is able to make bluetooth not discoverable when
it's called from unintended apps on large screen devices.
Bug: 234440688
Test: robotest, manual
Change-Id: I4ddcd4e083c002ece9d10aabdb4af4a41de55ce7
Deep links on large screen devices starts a homepage activity on the
left pane, and then starts the target activity on the right pane. This
flow overrides the calling package, and the target activity can't know
who initially calls it.
Thus, we store the initial calling package in the intent, so the
Connected devices page is able to make bluetooth not discoverable when
it's called from unintended apps on large screen devices.
Bug: 234440688
Test: robotest, manual
Change-Id: I4ddcd4e083c002ece9d10aabdb4af4a41de55ce7
Merged-In: I4ddcd4e083c002ece9d10aabdb4af4a41de55ce7
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
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
The title for the financed device info page in Settings changes to
"Managed device info" instead of "Financed device info"
Bug: 236259020
Test: Manual test
Change-Id: Ica6d990e8dada28b643a5523ec284c18d4af89d2
The subscriptionInfo.getCarrierName may be a null, so adding the null
checking.
Bug: 236064286
Test: build pass
Change-Id: I8f6f5ac725d6dd552ac2626725e44f52dcbf6c32