am: ad1f6a7
* commit 'ad1f6a7b0d3c1bad717118802b75a4d53479dbf0':
Add settings for SUW data control.
Change-Id: I3ca7d49a6bab90778306d07d1c46a8f65c058e48
am: 6e1e880
* commit '6e1e880f001ab3663fba3a7b6d292387efaf7b8f':
Add settings for SUW data control.
Change-Id: I9a919ae9d8a960fa1540f051221643a5af3307c4
Loaders report entering the started state in two places, once from
their host callbacks and once when moving into their host fragment's
starting state. In the former, we will also deliver load results if
we're finishing a retained cycle.
In practice, the individual fragment start happens first which clears
the report-next-start flag, then the finishRetain step sees that flag
is cleared and dispatches the finished load results again. Change
reportStart to only call onLoadFinished if we are not finishing up a
retain step.
Bug 28074512
Change-Id: I85b848f7d7b239c8fac5aec8f0c91e4eea6bcebf
am: 72c98d6
* commit '72c98d6a08796b457ee0e83c7232276b77af6677':
Make additional IME Subtype ID persistent.
Change-Id: I1e2afb7e2586f26b4e001bd991b996776eafcd00
am: 063fe65
* commit '063fe652be5ac01f1d4ffe621dc2a5f7e2170198':
Make additional IME Subtype ID persistent.
Change-Id: I468fdb96d5a4963ae905059e38178e775da7755d
We provide a preferred constructor for the user which will
always generate a serializable NanoApp object. While we
still support the other path, we throw a specific exception
when trying to serialize a bad NanoApp object to ease
debugging.
Change-Id: I7ee610f0fce2f0dd489526e4819f66035281024b
It turns out that IME subtypes specified to
InputMethodManager#setAdditionalInputMethodSubtypes() are stored in the
presistent storate without subtype IDs. As a result, when the system is
rebooted, the system would no longer consider those additional subtypes
as enabled due to subtype ID mismatch, until the IME re-adds those
additional subtypes again with the original subtype IDs.
Bug: 28104337
Change-Id: I1445213e0b83d76631a839b974ec1ab9b28ad7d2
It turns out that the current CursorAnchorInfo#equals() is quite
inefficient because our CursorAnchorInfo#hashCode() tries to use almost
all the fields. Even worse, as Matrix#hashCode() is hard-coded to 44,
we get the same hashCode() when comparing two CursorAnchorInfo objects
that are different only in transformation Matrix after such a complex
hash calculation.
In the real world scenarios, most likely calculation hash code only from
Matrix and composing text would be good enough for our use case, because
the former can cover UI scrolling scenario and the latter can cover the
text typing scenario. More complex hash calculation is probably
inefficient.
With this CL, CursorAnchorInfo#hashCode() is pre-calculated only from
those two fields, and carefully reorder comparisons in
CursorAnchorInfo#equals() to improve the likelihood of returning false
with fewer comparisons.
Bug: 28105733
Change-Id: Id896adeab5ffe87ceddb2c2762d6d91475e28ec4
am: 5573294
* commit '5573294808e7c20b774e6b40e35fac5300707baf':
Use inode numbers for CE storage.
Change-Id: I9c7084cea8a8a8436bced1f753260babba2f54e2
am: 2e3ce4c
* commit '2e3ce4ca462c8d5f0ebea9ba39246d949fff85fd':
Use inode numbers for CE storage.
Change-Id: I30229864f33d9d3835aa6bdf8840e7fbaedc39ee
Certain operations, such as clearing/destroying app data, or just
counting on-disk size, require us to know the CE storage directory
of a particular app. To facilitate these operations, offer a method
to get the inode of a CE directory, and accept that inode number
for later operations. Collect and store the inode number in
PackageUserState for future use when that user's CE storage is
still locked. This design means it's safe to clear/destroy app
data in both CE/DE storage at the same time.
Move most installd-related methods to a uniform calling convention
that accepts a single parent PackageParser.Package, and internally
fans out to handle all "leaf" packages under that parent.
In previous releases, we started installing apps using a new
directory-based layout, where all app code, unpacked native libraries,
and optimized code is bundled together. So now we only have a single
path to measure for code size. This fixes several outstanding bugs
that were causing sizes to be miscounted for apps supporting multiple
architectures.
Fix a subtle bug in PackageSettings that would cause "notLaunched"
to be parsed incorrectly.
Bug: 27828915, 27197819
Change-Id: Ia582cf3550553292bde4bb4313367111332913ec
This reverts commit 880602eb64 [1],
which was committed with a wrong author email address and lacked license
notice in some files. To avoid confusion, this we decided to
temporarily revert that CL so that we can commit it with proper license
notice and author address again.
[1]: I16226ce393f2d15065d08e66a36d008eb1a0c8a1
Bug: 22512982
Bug: 28098677
Change-Id: I3dd3c7bf0ee9634fc4f3bf433bf5023675873e46