The internal POWER_SAVE_MODE_CHANGING broadcast is sent at the same
time as the POWER_SAVE_MODE_CHANGED broadcast. Since broadcasts are
asynchronous,there's no reason to have both, especially since it can
potentially lead to inconsistency, so we should simplify down to just
one. Mark the POWER_SAVE_MODE_CHANGING broadcast as deprecated in R and
unavailable to apps targeting R. We'll remove it in a future version.
Bug: 79580230
Test: Android builds
Test: atest BatterySaverReceiverTest
Change-Id: I70e20ce53b496a3dc88a1083c230334f53032d81
+ Add LimitExceededException which can be used to indicate
that an app is doing something that will cause it to violate
any limits enforced by the System.
Bug: 150239703
Test: atest --test-mapping apex/blobstore
Change-Id: I7584d1b8618be546080b0eddb2fe35de2611f9e7
If we know there's no configured ringtone-specific effects, we can skip
uncanonicalizing the URI, which normally incurs an IPC.
Bug: 151696203
Test: atest android.os.VibrationEffectTest
Change-Id: I0e3c8f5cd50761a90875d326cc57dcfd4597dd97
Currently the flags definition is in MediaProvider, which is an
apex module (updatable), and the flags values are now used in
frameworks/base as well (non-updatable).
Good to have flags definition in the constant component.
Bug: 150593967
Test: atest ExternalStorageHostTest
Test: atest com.android.providers.media
Test: manual
Merged-In: I0b06c068cb3957a7db8af5e14598724f72122736
Change-Id: I0b06c068cb3957a7db8af5e14598724f72122736
(cherry picked from commit 4a989379e8)
Introduce a new java API wrapping libprocessgroup to thaw and freeze again
the freezer. Use such API in ActivityManager upon collection of sensitive
dumpsys fields.
Bug: 151225245
Test: manually verified that the freezer is thawed and then frozen again
for meminfo, dbinfo and gfxinfo. Verified that data collection does not
timeout when this API is called
Change-Id: I487f328cb05ceac2fa2f23ad94ca8d4f82b82a5a
Otherwise, fuse daemon will be killed during storage dir remount.
Also, fix wrong uid in prepareObbDirs() for multi-user case.
Bug: 151452792
Bug: 151436460
Test: atest AdoptableHostTest
Change-Id: Ib0d4cba36bc1bc91f31583c6a97d37203ac8b88d
We have some concerns about a couple of the primitives we're exposing,
so rather than risk committing to an API surface that we may regret and
aren't 100% confident in the implementation of, lets hide it and keep
them for private usage for now.
Also, rename LIGHT_TICK to TICK; we shouldn't expose the internal
differences to users since it just makes the whole surface more
complicated to explain.
Fixes: 151085071
Fixes: 151261619
Test: N/A
Change-Id: I2872e8f52202d6192de6aa7e3081778486174f4e
Scoped Storage status of an app can be changed by using compat flags,
as apps can chose to opt-in/opt out of Scoped Storage using these flags.
See ag/10406320 for more details.
Update documentation of isExternalStorageLegacy() method.
Remove checks around INSTALL_PACKAGES and OP_REQUEST_INSTALL_PACKAGES as
that does not allow legacy external storage.
Remove check for WRITE_MEDIA_STORAGE as its value is now
reflected by OP_LEGACY_STORAGE (ag/10162772)
Bug: 132649864
Test: atest ExternalStorageHostTest
Test: atest com.android.providers.media
Test: manually using StorageTest app
Merged-In: Id53da8f8783455038bad101e6ac50ba66b595012
Change-Id: Id53da8f8783455038bad101e6ac50ba66b595012
(cherry picked from commit f8af82046a)
The messages in queue could be executed before current
message completed.
Bug: 140599188
Test: calling Looper.loop() twice
Change-Id: I1a4628606ed974e7a6a76b2832044959a9261bb9
Before we used store dirty data in system property to record
if FUSE for a user is mounted, and zygote uses it to determine
if storage mount is needed. It introduces performance issues and
not reliable.
This CL does the following changes:
- System server determines if storage dirs mount are needed, and store
the record inside system server.
- It passes the verdict to zygote so zygote just need to follow the
input.
- When emulated storage is mounted / unmounted, it will record if
FUSE for that user is ready to use, and will be used for determining
if storage dirs mount are needed when a new process starts.
- After emulated storage is mounted, it will create an async thread
to remount all storage dirs for existing app processes. As we have a
record of pids that storage dirs are not mounted yet, we can use it
directly without scanning the whole /proc in vold.
Bug: 149548518
Test: After flag is enabled, AdoptableHostTest still pass.
Change-Id: Ic99d027d42b2b9a1c7fd03070b36c44882c6e7c5
1) Update doc of ACTION_UPDATE_EMERGENCY_NUMBER_DB
2) Add new APIs EXTRA_VERSION and EXTRA_REQUIRED_HASH
3) Rename isDataConnectionEnabled to IsDataConnectionAllowed
4) Format the API documentations with html format
5) Throw errors for shutdownAllRadios, isAnyRadioPoweredOn
6) Modify the doc of TelephonyManager.getEmergencyNumberDbVersion
7) Add UPDATE_CONFIG permission for ACTION_UPDATE_EMERGENCY_NUMBER_DB
Test: Treehugger; Manual made a call; make -j offline-sdk-docs
Bug: 147696692
Bug: 147805285
Bug: 148217670
Bug: 148218347
Change-Id: Idf3dee3de5ebf75ca8b8fbaaf879e69f7ae4b754
Merged-In: Idf3dee3de5ebf75ca8b8fbaaf879e69f7ae4b754
(cherry picked from commit dc86120fca)
This is a fix in response to developers' feedback on DP1.
Add Environment API that enables apps to check whether they have All
Files Access special app access. The API encapsulates the actual
mechanics of the check, which are as follows:
* First check MANAGE_EXTERNAL_STORAGE app-op,
if it's allowed, return true. If it's denied (ignored or errored),
return false.
* If the mode is default, then check for MANAGE_EXTERNAL_STORAGE
permission, if it's GRANTED (not just declared), then return true,
else return false.
Also add test.
Test: atest EnvironmentTest # not CTS
Fix: 150115615
Merged-In: I0574827c22960bf8f074313d983f289be7142149
Change-Id: I0574827c22960bf8f074313d983f289be7142149
-- Promote generally-useful PFD API to public.
-- Add @WorkerThread annotations.
-- Add docs to explain how AUTHORITY_LEGACY works, and add explicit
START/FINISH_LEGACY_MIGRATION_CALL verbs to communicate progress.
-- Expand docs for createWriteRequest() to explain broader access
that it grants. Expand all request methods to indicate the action
is fully completed before the result is delivered.
-- Expand docs for new generation fields to explain that version
also needs to be inspected.
-- Explicitly call out why getKindSize() is deprecated, and guide
towards better alternative.
Bug: 148867182, 148403418, 148011561, 147760276
Test: none
Change-Id: I54ff072a752497b6aba153bd4013567c269e5b19
This is no longer needed because native Incremental Service directly
uses IDataLoaderManager.
BUG: 150406132
Test: atest service.incremental_test
Test: atest PackageManagerShellCommandIncrementalTest
Change-Id: Idbde2988883becbf3eb707d42c0558774a6073e8