am: 0010741
* commit '0010741818127e6c9449fc49490f0bad14a76240':
Ensure local settings caches are not stale
Change-Id: I26c4f1f72eda3b2ebfb3ca6e086a0381d357471c
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
SamplingTimer has been losing some data, as well as not correctly handling
entries that have gone away and come back with less data (reset).
This change correctly ends a SamplingTimer sample by adding the accumulated amount
to the total, then reseting the running counter to accept new values.
This is also triggered automatically when the incoming data is less than what is currently
recorded.
Bug:25695597
Change-Id: I6b540906e6be527578d1003485384a75ba211b52
am: 27d36bb
* commit '27d36bb9421c6a05990820919f90989a0d92323a':
Record in progress count when parceling Timer
Change-Id: I364905f0be07562b83695fea09c0ca154e0171f6
am: 7c7ee79
* commit '7c7ee79dc93ad12b2b5535e9727eef30ce1a3693':
Record in progress count when parceling Timer
Change-Id: I7c4c92d2048df9bab52596bd3c9717fac9a056fb
am: 752434a
* commit '752434a0ff54ac30b7701292b66361e64b2ae5a0':
Record in progress count when parceling Timer
Change-Id: Icc7e8312df00bd22f0e5433e15fc65d2ad705db4
am: e519b51
* commit 'e519b51d1db816c454bd73ded90ae6b9ea32de4e':
Delete emojis before and after ZWJ at the same time.
Change-Id: I2426af56d5659c3e6c67d82cbd449815bb7d0e14
am: 3de469a
* commit '3de469a68750e8b9b455a4a5bd3a78ad2ecd4af0':
Delete emojis before and after ZWJ at the same time.
Change-Id: I826f62aae6baaffea722d8c853cc1d01c8ff41f5
am: 7ecd767
* commit '7ecd7671b75b2ae7c4d20928722b4a1d41bd62ff':
Delete emojis before and after ZWJ at the same time.
Change-Id: If877cde7549f0bd0e56c7cbd707e360c8df012fd
Vendor may want to introduce their own ZWJ emoji sequence. To delete
them by one back space as the same behavior of Unicode emoji sequence,
use all emoji as the zwj emoji.
Bug: 28248662
Change-Id: I572dad42ee108476962d4b3fe9f3a6019cb50098
While processing an unlock request, we might go async to handle
long-running operations like dispatching PRE_BOOT_COMPLETED. This
change ensures that all unlock requests for a particular user wait
in line behind any pending async operations.
Without this CL, any subsequent unlock requests would immediately
return successful, even though PRE_BOOT_COMPLETED events were still
being processed.
Bug: 28240584
Change-Id: I307d6aaebfb8f38028f3666a2e19e4399b7cf3a7
Update URL regular expression to match
- path and query that contains dollar sign
- domain name that contains underscore
- empty path with query parameters. i.e. a.com?q=v
Bug: 27436084
Bug: 27501264
Change-Id: I3884624e145ccc1175915327dc2f280ef4e55ce1
am: e111018
* commit 'e111018c1766b5708a85660ee5f52b7f2a64357d':
Add some tests for procstats, and fix some bugs that the tests uncovered.
Change-Id: I3b4957a0f20767a44a5064b1276ccd34c49b26f8
am: 5dc3c67
* commit '5dc3c674a2635179d17e96af8fb248142e03b87e':
Add some tests for procstats, and fix some bugs that the tests uncovered.
Change-Id: I53ee3334f58db4a0904370fc4f2f1b6b29365020
This is a follow up CL to my previous CL [1], which added a new key
binding Meta+Space to rotate enabled IME subtypes. With this CL,
Shift+Meta+Space starts reverse-rotating enabled IME subtypes as
originally planed.
[1]: I4005692215edfcf8bed3e86b1e07000148f986f5
ae61f7118a
Bug: 25753404
Bug: 28103839
Change-Id: I3694edd80be6dfe18b90360e24ae4d451b331928
am: 968e6e9
* commit '968e6e940a86633192fd81802aa6846dc2d13301':
Remove tests that have been moved to CTS
Change-Id: I2053b6ea6865e7dc347344a21da13601135e41f9
am: 41c1bb8
* commit '41c1bb8f4a5a1f2f0a23d6cece525eaea50f57b3':
Remove tests that have been moved to CTS
Change-Id: I39012b182d637d37fccafbc13677089885dcbcdb
- Rewrite existing test about text appearance.
- Add new tests for suggestions popup.
Bug: 25904136
Bug: 27765262
Change-Id: I12e522436a83fa264cd22176d054877eec411708
am: ec0a5e0
* commit 'ec0a5e0bead4ae51b60a02fad3a9fcedbfb2f461':
Make FastXmlSerializer more suitable to persist arbitrary strings
Change-Id: Ibb0a004e26c510faefc3b0adf821440829863af6
am: ca94f29
* commit 'ca94f29366b9b6e3211351c2d098060114ef5fa8':
Make FastXmlSerializer more suitable to persist arbitrary strings
Change-Id: Ib9a061aaad82054c0060cbc2b84118a71d1c098b