Fix this long-standing multi-threading issue in Bundle
when multiple threads are trying to read from a Bundle
and conflict to due unparceling.
There are two critical sections this protects: writing
the bundle in to a parcel (when it is doing this from
the bundle's already parcelled representation), and
unparcelling a bundle into its map of entries.
Change-Id: I5470002f090e63dd623a573da6c204d3b5b661f4
This bug was a corner case of stopping lying about
Configuration#keyboard when "Show software keyboard" is turned on, which
was done by my CL [1] in Android N development cycle.
Previous implementation
if (config.keyboard != Configuration.KEYBOARD_NOKEYS) {
had relied on the fact that the system was lying about config.keyboard,
which is no longer valid. We need to change the behavior of
InputMethodService#onShowInputRequested() depending on
Settings.Secure.SHOW_IME_WITH_HARD_KEYBOARD like we did for
InputMethodService#onEvaluateInputViewShown() in [1] to minimize the
impact on stopping lying about Configuration#keyboard.
[1]: Id4d332e3909590c68345e10e1f2e18650efb2eb7
7b739a802c
Bug: 28423439
Change-Id: I8a774cbf61ac706d8446be91b17bceee57a13656
In some cases it is possible for activity manager to request
a resumed activity to stop when it's visibility changes. This
is a valid transition, however we need to make sure to pause
the activity on the client side before stopping it so lifecycle
transition works as expected.
Bug: 28574036
Change-Id: I759b38bbd1c9c3bb0475759bcb638d8223fa504d
It's possible for a call to updateConfiguration() to happen in the middle
of performTraversals(), after the measure phase has happened, but before
the layout phase. During the configuration call, it's possible for views to
have requestLayout() called on them. This can result in the request flag
not getting cleared, because views that have had layout requested, but which
have not yet been measured, may not be told to layout.
The correct flow should be that any code path causing requestLayout() (which
could be anything that calls out to user/app code) should happen before the
measure phase (or cause a second measure to occur). For now, causing the second
measure to occur is a low-risk simple change that fixes the immediate problem.
Issue #28152259 Calling requestLayout from inside View.onConfigurationChanged can cause problems
Change-Id: I3b532eeacc3784d8d21193d01ddd7fa15ac0684e
For secondary users, a SecurityException is thrown instead of UnsupportedOperationException.
BUG: 28294786
Change-Id: I6402b856eeb02c4c1d940606ae7e69f3ae9cb45d
1. Expand JavaDoc for ClipData.addItem to clarify how MIME types are affected.
2. Add "text/uri-list" to MIME type list only for non-content URIs (as JavaDoc explicitly says).
Bug: 28564003
Change-Id: I074daf34310323725690a9ba2c7dff0542ed6349
When voice interactor goes null or changes, cancel all existing
active requests and clear them so that they can be re-submitted.
Bug: 28487567
Change-Id: Ibcf024efcc81ff18ef3babfa9a169292207bc816
This CL allows getChildVisibleRect to optionally always call the
view's parent. The previous version attempted to optimize the call
by not calling further up the view heirarchy when the rect isn't
visible in the current view.
The call is hidden and the previous behaviour is preserved to limit
the bits of code that this change affects.
Bug: 28514727
Change-Id: I49550ed4082bcbdcfe4643b962b50f3308092525
Allow all application classloaders to load native
libraries from anywhere under /data
Bug: http://b/26954419
Change-Id: I8a808bcdf4a00f7d40b513d4e2ca3d1e76c0909f
The unit for the battery charge counter is in micro-Ampere-hours, not coulombs.
We store the value as uAh but display it in dumpsys as mAh.
Bug:27174034
Change-Id: Ib5cc1ee1c5c191336a3e1f18dbb12c38e833f8d0
Also removed the obsolete text regarding iconic representation
and fixed some whitespace.
Bug: 28536304
Change-Id: I55ca681b86a121018903a41fff228e7c6126c7e7
Allows callers to opt-out of blockading network traffic during boot and
on VPN app failure.
Bug: 26694104
Change-Id: Ibfbd43ad09a25f2e38053fcd6306df3711f8bde2
The multi-package APKs feature was not validated and is now disabled.
Also the ephemeral work was postponed which requires disabling of the
ephemeral cookie APIs.
bug:28514747
Change-Id: Iab7f11c503a76bcc414408dfebdf200843db814e