1. The IPC to ActivityThread.dumpHeap() dups the input file descriptor but
closes it when the IPC returns. Since the heap dump is generated
asynchronously, a race condition ensues between the returning close and
the dump being generated. For the intra-system-process call, the race is
with ActivityManagerService closing the created file descriptor. Duping
the file descriptor on the ActivityThread side should deal with this.
2. For some reason, the file descriptor wasn't closed for native heap
dumps. Closing the fd in those cases as well.
3. Catch the RuntimeException from Debug.dumpHprofData in case anything
else was missed.
Bug: 133424499
Test: adb shell am dumpheap com.android.systemui
Test: adb shell am dumpheap system
Test: Use the "Capture System Heap Dump" option in Developer Settings
Change-Id: I44817161533359766250de04e35902587ea9cc40
At the moment KeyguardDisableHandler calls into DevicePolicyManager
to retrive the aggregated password quality for the current user
while holding the WindowManager lock. This is a lock inversion
and causes deadlock. To fix this, introduce a per-user password quality
cache in DevicePolicyCache and switch KeyguardDisableHandler
to use that instead.
Test: manual
Fix: 129087668
Change-Id: I8c02ca442dde76ed350f22ac04a52adc82d21d00
When MediaProvider db gets recreated, all the media content ids
get renumbered. It's possible that when DownloadProvider is
trying to delete an entry, it is holding onto a invalid mediastore
uri. So, don't use linked mediastore uris in DownloadProvider
operations. Also, revoke any prior uri grants of media content from
DownloadStorageProvider.
Bug: 132087334
Test: manual
Test: atest DownloadProviderTests
Test: atest cts/tests/app/src/android/app/cts/DownloadManagerTest.java
Test: atest cts/tests/app/DownloadManagerLegacyTest/src/android/app/cts/DownloadManagerLegacyTest.java
Test: atest cts/tests/app/DownloadManagerApi28Test/src/android/app/cts/DownloadManagerApi28Test.java
Test: atest cts/hostsidetests/appsecurity/src/android/appsecurity/cts/AppSecurityTests.java
Change-Id: I4885f5a0ae0b3ab660426605a8a43b8c1d66a4c7
These methods used to be greylisted, but have been either accidentally
or prematurely added to blacklist.
Test: m
Bug: 133207859
Change-Id: I0f73828956d0c5e4b1c147580bb11c8073c3461b
Applies corner radius to Bubbles when expanded, based on
dialogCornerRadius theme attribute.
Test: manual -- Enable Bubbles, add one and expand, observe corners
Bug: 123545569
Change-Id: I88162a974534786b4ac8bed4e0fa1302bded9096
The code allows to also whitelist only a select set of permissions, but
this is not yet exposed in the API.
Also: Fix up shell commands for restricted permissions
Fixes: 132368462
Test: - Enabled app via device admin in secondary profile
-> verified that permissions were whitelisted
- Installed existing and new app using --restrictpermissions and
not
-> verified that permissions were whitelisted or not
atest AppRestrictionsHelperTest
RestrictedPermissionsTest
Change-Id: I9cd76c555b40663f2e25ad86e8a54991baae346c
Merged-In: I9787e63d8beb8f6b1ba2d15532d4c0f69dbdf863
Two SecurityEvents should be considered identical as long as
their event content equals, disregarding the id field.
Test: manual
Change-Id: I811f9a104ed3a0d9e02991aeb9e3653c5c02efc3
Fix: 132367517
Fixes: 131411751
Test: atest CtsVoiceInteractionTestCases # ran a few times on different devices, got no failures
Change-Id: I484db53772bf503f091f30f67ae92c8ae52d4105
This CL uses merged NetworkTemplate so that it shows correct
data for carrier which is a virtual that has multiple
subscriberId under the hood.
By doing this, this CL also adds several hidden API so settings
can query by NetworkTemplate directly.
Fixes: 120566366
Test: RunSettingsLibRoboTests
Change-Id: I8b747697933c75b48b14387adafb5ac9ca165926
They're removed from the current state, but not the persisted state.
This adds HistoricalRegistry#clearHistoryForPackage which reads the
disk state, strips the corresponding UID/package, and re-writes
to disk.
Bug: 129796626
Test: manual test app with location access
Test: atest AppOpsServiceTest#testPackageRemovedHistoricalOps
Change-Id: I8daa2e3474b400a3789b2eaf178441c6d1578af1
The getPackagesForOps and getOpsForPackage APIs don't convert the
mode of the return ops to their effective state, which isn't obvious.
Bug: 119281847
Test: none necessary
Change-Id: I60dd26ab771e73f2893981550a71cdaa353056c2
Allow apps to use DownloadManager for downloading files into
known public dirs other than "Download" but don't include
them as part of Downloads collection.
Bug: 132136431
Test: manual
Test: atest DownloadProviderTests
Test: atest cts/tests/app/src/android/app/cts/DownloadManagerTest.java
Test: atest cts/tests/app/DownloadManagerLegacyTest/src/android/app/cts/DownloadManagerLegacyTest.java
Test: atest cts/tests/app/DownloadManagerApi28Test/src/android/app/cts/DownloadManagerApi28Test.java
Change-Id: I059c0b19218e07c7813e23c6b2d414d0306434d5
USAP preloads the driver in usap pool, and those processes in the pool
are not bound with any applications. Previously we send GpuStats based
on the completion of driver loading. So with usap enabled, we won't be
able to receive stats for system built-in driver.
If we send the stats when all the existing stats fields are filled,
there will be tons of selinux violations, because those non app
processes are trying to send the stats as well.
So we end up sending the stats based on the hint of activity launch.
Bug: 131866357
Test: dumpsys gpu with enable/disable usap and check the selinux
Change-Id: I32fcc15aeba2f2e89ba6dd9deae2c27187d2071e
Progress bar color for colorized foreground notifications should be
based on the text color instead
Fixes: 111839310
Test: visual
Change-Id: I17838f8c1c29637914d4cae0aaa5b9d8db263590
Bug: 130151718
Bug: 132179354
Test: Switch between gesture nav modes, ensure that system and sysui are
in the right state
Change-Id: I364d155292fc378af552b6ce9e6acca879224693
JobScheduler.getAllPendingJobs() and .getAllJobSnapshots() can
potentially contain enough data to exceed the Binder limit. Using a
ParceledListSlice will ensure the data can still be sent over Binder.
Bug: 70648761
Test: atest CtsJobSchedulerTestCases
Test: atest CtsBatterySavingTestCases
Change-Id: I79ea32eac56473ca996cc00312b30d0f72ce22c9
Broken by I55026af543ff71ac0d947159bc6aeb3b33f31271 which added a shortcut.
Really caused by the method not being annotated correctly so it was
non-obvious that the AppInfo could be null.
Bug: 132078158
Test: atest PackageItemInfoIconTest
Change-Id: Ifd2789a80d2dad86ba4e09b1d9220ecab5d612ec
This allows Bubbles to be collapsed instead of finished
when there is only one activity in the stack.
Bug: 126852149
Test: launch activity, press back
Change-Id: Iad8db0549853e3f385d54fc6b6cea5e502d37139
Propagates any changes to the display config made inside any
framework overlay. Notably any display cutout adjustments.
Partial revert of ag/I844de9e09eb1464ae112e1b480d21cf662a026e0
with the OMS method moved into AMS.
Bug: 130444380
Test: manual test with simulated cutout on blueline device
Change-Id: Ifa24954352fa5e92816baa8d669b9abedc4f4ab8