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
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
am: fe6cec1
* commit 'fe6cec1ac00a4b60689a774bfef720c3b6f06b61':
Only force drawing status bar background if target >= N
Change-Id: Iaacf9fb25df6ce08ab0b6fbcf7fcc23b5abfea26
am: 6754d23
* commit '6754d237bb8c6e1fba779f90417b4a2fe07d2b3e':
Excluded certain APNs (e.g. IMS) from mobile data usage.
Change-Id: I0f37f4d296de88763019f469a0356e753b9f3636
am: c2ec322
* commit 'c2ec3226ea018e415c57871727c34d44abd80ca4':
Camera2: update API per API council review
Change-Id: I4ad3be32bee216a92731b07901a661c1ce0463b3
am: 1476f35
* commit '1476f3573be229ae00c3a13afb324648305a8bf8':
Allow mode of TileService to be changed
Change-Id: I8a6b58f4dd2d8bd135e4cadfdc63198720d6e7a8
am: fe52f91
* commit 'fe52f91f0cee39b186b1b892fc3344d3279640cf':
Only force drawing status bar background if target >= N
Change-Id: I424d896d801dc57ed8e14fce3205644060d33e8e
Since forcing it all the time has the potential of breaking
compatibility with apps, we don't want to do this.
Instead, we only force it if the app targets >= N.
We communicate this to window manager with
PRIVATE_FLAG_FORCE_DRAW_STATUS_BAR_BACKGROUND.
We introduced this for 2-up split-screen. If we have an app
that doesn't draw the status bar background by itself, we
just force the whole bar to be black.
The same applies for windows that used translucent status
bar - we also force the whole bar to be black
Bug: 27285627
Change-Id: I7f1ceaa364f8a4e851935f77aa5e8d913bf11791
am: 2e062ab
* commit '2e062ab8de3bae82b76a3f3aaeac6994f2555fe5':
Excluded certain APNs (e.g. IMS) from mobile data usage.
Change-Id: I72b09515578a1843009439b1a8fbccccaaf3ab4c
am: b0fe2a9
* commit 'b0fe2a9637dc45ac319af9ab848b034ed4a414d3':
Camera2: update API per API council review
Change-Id: I86daab40a4cdb957c95509fc33eb2b25e95cad84