Only takes effect if the user has not changed any fields.
Some tangential cleanup of the test file:
- Rename member variable "uid" to "mUid"
- Use correct PKG instead of "test_pkg"
- Some character limit fixes
Test: runtest systemui-notification
Fixes: 63755460
Change-Id: I3c2df0c03ec333f320ac7a0fe90792f1b0ef02ce
Bitmap sizes could be arbitrary large when they were sent
over to the system. We're now reducing them to reasonable
sizes.s
Also fixed that notification bitmaps were not put into
ashmem anymore since it got lost in a refactor.
Test: code inspection
Bug: 62319200
Change-Id: I87db7656e749666b9eab1f67fd497f155c407e18
Bug 62798751
When an application process has been killed with a retained instance
fragment on its back stack, and a configuration change causes
state save, the retained instance fragment was not calling onCreate()
when it was popped back into existence.
The cause of the problem is that the mRetaining flag was being set,
and when it was supposed to go through onCreate(), it was skipped.
This CL uses a new flag to judge whether or not a Fragment has
called onCreate() or not.
Test: I512f8c174f557ee7ed18a9b9dc5c0c3e7a5843a5
Support Lib Change: Ia66a1f474d815f657b6962097139c796f7fa198b
Change-Id: Ia7878f4ac67ee8cfa05903ba6749ab9851f603ee
When two processes modify shared preferences we use the timestamp to
figure out if the file was changes underneath. Do this with the highest
precision available (instead of sec) as before.
It would be possible to make the check more reliable by writing a unique
id to the shared pref file, but this would make this check much more
expensive in the common case that nothing changed. Considering that this
has not been a problem and we don't officially give any guarantee for
this sounds like a good middle-ground.
Change-Id: I04c96b6a946618d5599c26410c88d7cd654d31fb
Test: SharedPreferencesTest
Fixes: 62949739
A refactoring introduced a slight regression that caused compiled
shaders to be cached in the wrong directory.
Bug: 63813783
Test: Manual
Change-Id: I863e584ff1df4cda9242c64afd643a899023ee1c
Always-on VPN is a feature introduced in N. Since then, all VPN apps
targeting N+ are assumed to support the feature, and the user or the DPC
can turn on / off always-on for any such VPN app. However, a few VPN
apps are not designed to support the always-on feature. Enabling
always-on for these apps will result in undefined behavior and confusing
"Always-on VPN disconnected" notification.
This feature provides a new manifest meta-data field through which a VPN
app can opt out of the always-on feature explicitly. This will stop the
always-on feature from being enabled for the app, both by the user and
by the DPC, and will clear its existing always-on state.
A @hide API is provided to check whether an app supports always-on VPN.
Documentation is updated to reflect the behavior change.
Bug: 36650087
Test: runtest --path java/com/android/server/connectivity/VpnTest.java
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedDeviceOwnerTest#testAlwaysOnVpnUnsupportedPackage'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedDeviceOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackage'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackage'
Test: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test 'com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced'
Change-Id: I477897a29175e3994d4ecf8ec546e26043c90f13
Remove TODOs to add classes to the system API that are not needed
(since they are used by a platform-only app).
Bug: 31008728
Test: make droid
Change-Id: I0d75686ddeae929e9d87c5ca8703a609a1450d76
Merged-In: I600e7b08853b86b27463193411cf85207ae09ce8
WallpaperColors#fromBitmap should only recycle the bitmaps
created by itself.
Test: runtest -x tests/Internal/src/android/app/WallpaperColorsTest.java
Fixes: 63758291
Change-Id: I1710bf7118b6ae871442f9606f95ac9c9dbb7d24
SM.allocateBytes() doesn't offer a clear way to detect if a failed
request could ever succeed. (For example, we can never work with
pipes, or files on an unsupported storage device.) So give
developers a first-class API to test if allocation is supported.
If the underlying filesystem doesn't support fallocate(), fall back
to ftruncate() instead of failing completely.
Clean up @removed APIs that were refactoring during API 26 review
process.
Remove support for storing downloads on the /cache partition, which
doesn't exist on many devices.
Bug: 63057877
Test: bit DownloadProviderTests:*
Test: bit DocumentsUITests:com.android.documentsui.services.CopyJobTest
Test: bit DocumentsUITests:com.android.documentsui.services.MoveJobTest
Change-Id: I85d42a1a7240034b4f2a6f359011ac182bdce36e
In particular, don't NPE if an app calls getExternalFilesDir() while
external storage is unmounted. We were making assumptions about the
length of the array returned by the "tell me about all the external
locations" method, but in unmounted cases that array can be zero-sized.
(And similar for getObbDir() and getExternalCacheDir().)
Bug: 63604311
Test: manual
Change-Id: I4dec828161245047182e6fd39a0df10dd1681ba2
Don't getApplicationContext if we already have an application.
Test: launch a monodroid app
Change-Id: I0c1558463053de3db0f1cd4693088e7c639ce5fa
Fixes: 63666480
Adds an option to dumpheap that calls mallocInfo and write the xml produced
to a file.
Bug: 36871013
Test: Run am dumpheap -m <FILE>, am dumpheap -n <FILE>, am dumpheap <FILE>
Test: and verified that they produce the correct data.
Change-Id: Ifb9e878ea621c7cacc3aa6e3a889c414681dee2d
Add TimeZoneRulesDataContract to system API and remove
TODOs to add other classes that should not now be needed
in the system API (since they are used by a platform-only
app).
Bug: 31008728
Test: make droid
Change-Id: I600e7b08853b86b27463193411cf85207ae09ce8
When the transport has no more packages to return, #nextRestorePackage()
returns RestoreDescription.NO_MORE_PACKAGES. Instead of logging that it had
been unable to get the package metadata, the code in BackupManagerService
was assuming that this was a valid package but one with an unexpected
package name, and hence logged a confusing error message.
Bug: 37695157
Change-Id: I75f2123d2bb062ad04003d7ef2a3a25d9661338c
Test: manual
Bug 62673781
While the FragmentManager is not at least in the CREATED state,
it should not call any methods related to Menu to any of its
Fragments. This can happen after the FragmentManager has been
destroyed, but before the Activity has been replaced.
Test: I1357dcd5d6498a6d35552ee68a5fbda9de89b764
Support Lib Change: I6a34b5a95ad69190377eaa4afda041c6b9ef925b
Change-Id: I1a93812b7fa6be0d784d2160f8208939259698c8
The LowpanService implementation can be found at:
platform/frameworks/opt/net/lowpan/service
Bug: b/33073713
Change-Id: Ibca9c452492bf171bd2c30efdb44ddb472494c3b