PCO is a container in data-call responses with a range
of optional fields devoted to carrier-proprietary signalling.
This change includes a class to contain this opaque info on
its way to carrier apps.
bug:28961371
bug:28567303
Change-Id: Ibfc304800bb3d5b8706d56c08400c1d0b4453a55
am: 4569e9515c
* commit '4569e9515c651616f7e24f563b52de98fb4bf258':
Pass -yaml to ds builds to generate _book.yaml version of reference TOC.
Change-Id: I83d230df7e8fb620ec9ea57621492261fbb236b7
am: c25a9b0104
* commit 'c25a9b0104802454487ee6c428f9f070d389c02f':
Pass -yaml to ds builds to generate _book.yaml version of reference TOC.
Change-Id: Ib8ff6165cbcb1d3fb52611e9f5e61ac69a0083b6
am: 6049306d8c
* commit '6049306d8c0f88f78dbc097bfcc971b095c6a9a3':
Pass -yaml to ds builds to generate _book.yaml version of reference TOC.
Change-Id: I6b6a65147254b0d2ba5ec6aa52429819ddca9b77
am: f71d7fe
* commit 'f71d7feef22db9e0cab2f32edc7440aedb86fdfe':
Ensure local settings caches are not stale
Change-Id: I356b9ad0b6dc1e91bfad140de1b9fc79ab6efef3
We used the system proterties as a shared memory mechanism
to propagate information to local settings caches when the
content has changed and the cache should be cleared. The
system properties are unfortunately updated asynchronously
leading to cases where clients may read stale data.
This change adds a simple int array data structure backed
by shared memory which guarantees individual values are
atomically read and updated without memory tear. Multi-
index opearations are not synchronized between each other.
The settings provider is using the new data structure to
propagate the settings generation which drives when caches
are purged.
We have a single memory array keeping the generation for
different settings tables per user. Since memory array is
not a compact data structure and the user space exceeds
the memory array size we use an in-memory map from keys
to indices in the memory array where the generation id of
a key is stored. A key is derived by the setting type in
the 4 most significant bits and the user id in the 28 least
significant bits.
The mapping from a key to an index is cleared if the user is
removed and the corresponding index in the memory arry is
reset to make it available for other users. The size of the
memory array is derived from the max user count that can be
created at the same time.
bug:18826179
Change-Id: I64009cc5105309ef9aa83aba90b82afc8ad8c659
am: c947ebd
* commit 'c947ebd66d397782af0870df457ccc4fe83c77cc':
Cleanup of the PackageInstaller API - Frameworks
Change-Id: I50e4c8357bb0c5abab9c37b6a39628f6e3e0ea1b
The PackageInstaller app manages side-loading apps as well
as permission management. It should be updatable, hence
should rely on system APIs to talk to the platform. This
is the first step of defining an API boundary.
Change-Id: I9814eafd0b22ae03b4b847a7007cdbf14c9e5466
am: 7981e8f
* commit '7981e8ff6509769a590f15b440f989437d732be5':
Unbundle RemoteService on TV - part 3
Change-Id: Ib5eb6363e904a1f66000d12263f66a8e5bd1f663
- New service TVRemoteService triggered by SystemServer
- Provider service proxy and watcher for maintaining connections to unbundled
services which have the BIND_TV_REMOTE_SERVICE permission.
- Shared library to facilitate connections between unbundled service and
TVRemoteService.
- Unbundled service needs TV_VIRTUAL_REMOTE_CONTROLLER
permission to be fully functional.
b/23792608
Change-Id: Ief5c6995883d1f7268a73bdd0c920c4c3f42cddb
Which owns the native UidRange.cpp, so it makes more sense for the
declaration to live there since frameworks/base depends on netd but not
vice versa.
Bug: 26694104
Change-Id: I0efda77713ee6f0ec8070fb0e09a694b95f6cd25
am: 50e229f
* commit '50e229f1f45a1550ba13ec3f81e864630fc3dc1c':
Add VrManager AIDL interface for use by system apps.
Change-Id: Ia0bbf2bbe778bef5773e5d7c43b25d3cb248fe23
If subscriber is in external app, its process can be killed. This would
lead to loss of events. To avoid that, we will be storing events in the
logger service. Clients can periodically pull data from it.
Another option for client apps is to register PendingIntent which will be
sent when certain number of new events has been received.
If events are logged at unexpectedly high rate from particular component,
then throttling mechanism will activate and new events will be blocked for
some time from that component.
Change-Id: I710409626eb5a42bcd3fe8126eac6b756fa1ab8b
am: 740a5f0
* commit '740a5f023eea7b2fdb3e31efe8b8d5ac18aa8302':
Add the print service recommendation service
Change-Id: Ie58ade9356f591781496581259b6d8a876780ac9
This service connects through the print manager to the print spooler:
PrintSpooler.AddPrintersActivity <-> PrintManager <-> PrintManagerService <-> UserState <-> RemotePrintServiceRecommendationService <-> PrintRecommendationService <-> PrintRecommendationServiceImpl
Hence there is a lot of mindless plumming.
The actual changes are only in the AddPrintersActivity which is extended
to show another list of services: The recommended services.
The PrintServiceRecommendationService is based on the experimenal print
service stubs provider. This provider was contributed the Android by
Mopria. As this services uses Android own network discovery service most
code from the experimental provider goes away. In fact the only logic
left over is the selections of mdns-txt fields to look at and the
printer vendor configuration.
This relies on the Android MDNS to get fixed (Bug: 27696905). This also
does not deal with how to update the recommendation service.
Bug: 24533249
Change-Id: I6edc6e25fc08a50d478b61c71bb8ea158b08624c
Now that CE data isn't available until after a user is unlocked, we
need to delay the PRE_BOOT_COMPLETED broadcasts. This is done by
adding a new RUNNING_UNLOCKING user state to the UserController
lifecycle.
We now track the last fingerprint a user was logged in under, and we
dispatch PRE_BOOT receivers when that fingerprint changes. To work
around battery pull issues, we only persist the updated fingerprint
once all PRE_BOOT receivers have finished. This is less granular
than the original solution, but it's still correct. We only consider
a user as "logged in" once it transitions into the RUNNING_UNLOCKED
state.
When starting a process, track if the user was "unlocked" when
started, so that we only spin up unaware providers in processes
started before user unlock.
Add generic IProgressListener to communicate PRE_BOOT progress and
strings up to lock screen. For now, LockSettingsService just blocks
until finished, but it could display these strings in the future.
Bug: 27220885
Change-Id: I349439776b885acd32f6a578d8951ffd95640be2
- Pull most of the inner classes out into their own files.
- Move everything to a new android.app.procstats package.
- Move all of the code that was manipulating the big list
of longs to use the new SparseMappingTable class rather
than doing everything by hand. The logic is unchanged.
- Add a sequence number check to SparseMappingTable so
when the big list of longs and the individual tables are
reset, which happens somewhat independently, we can
assert when one of them doesn't get reset.
Replace some custom rules with BUILD_PREBUILT.
Move tools from ALL_PREBUILTS to BUILD_PREBUILT. All of them are already
in PRODUCT_PACKAGES in build/target/product/base.mk.
Remove uses of ACP and replace with core build system macros or 'cp'
Change-Id: I529e7c6c50fc64ad36b75bb47142f6bde909d141