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
1. Deduplicate the Tethering message numbers, and use MessageUtils
to convert them to strings.
2. Add a warning to NativeDaemonConnector when an unsolicited
event is more than 500ms late or takes more than 500ms to
process.
Bug: 27857665
Change-Id: I379aef9257027d1ccf30906e79c6389ef1f95420
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: 2e3ce4c
* commit '2e3ce4ca462c8d5f0ebea9ba39246d949fff85fd':
Use inode numbers for CE storage.
Change-Id: I30229864f33d9d3835aa6bdf8840e7fbaedc39ee
When it's triggered, it happens with such frequency that it can DoS
the system server.
Bug: 28104329
Change-Id: I5c58e5f5bf4d88af2cb6215bcfddf35704e22eaa
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 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
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
- Make minimal task size 220dp.
- Disable upper and lower targets if they result in less
than 220dp task size.
- If even the middle target doesn't allow 220dp task size,
disable entering split screen altogether.
Bug: 26451260
Change-Id: I06e358c9b3da0172c5def75cdadf975f87f9fa57
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
Make sure to stop the thread when the window gets detached. When dismissing
the docked/fullscreen stack with the divider, we stop the activity while
we are still in resizing mode.
Bug: 28054032
Change-Id: I2d5d0ffaa9bc47e4d5252414b9a045beaebb7a69
am: b0fe2a9
* commit 'b0fe2a9637dc45ac319af9ab848b034ed4a414d3':
Camera2: update API per API council review
Change-Id: I86daab40a4cdb957c95509fc33eb2b25e95cad84
am: e93fecf
* commit 'e93fecf9a3c0740a05dde42e3dee1de9706cd4ac':
This assert is triggering when it shouldn't be. Disable it for now.
Change-Id: I1f2578a7e2fcdd7d1f45d1958467aa775241fab5
am: aa336f8
* commit 'aa336f89265b8936d23e43189904de6ea9575538':
Allow mode of TileService to be changed
Change-Id: Ia48acae4fb65f123755bc7c73b6d8204435f4d16
Per API concil recommendation, made below API change:
* change method name from createCaptureSessionByOutputConfiguration to
createCaptureSessionByOutputConfigurations
* Change method name from
createReprocessableCaptureSessionWithConfigurations to
createReprocessableCaptureSessionByConfigurations
Bug: 27950067
Change-Id: I8346d384210556a40bc2544c3660cc4819f304a1