Instead of in activity thread. That way, we can warm up (ie,
precompute cached values) this provider and AndroidBCWorkaroundProvider
(which are installed together) so that the computation doesn't
happen in the app. As a result, the time spent in the first call to
SSLSocketFactory.getDefault() decreases by ~5ms in angler userdebug.
Measured with an app calling SSLSocketFactory.getDefault in onCreate
and timed it with System.currentTimeMillis() .
Bug: 28545496
Change-Id: I73284eccdf6d51dbf55206335d759ccf795c5f41
Since LocaleList needs to depend on android.os.Parcelable, we cannot let
that class belong to "android.util" package, which causes layering
violation.
Bug: 28819696
Change-Id: Ia8de2ee9df3dd0a42b1fe84574439519b680fe18
We can't use the same instance on both the main and the background
thread, as this will lead to problems.
Change-Id: Ieec525f028df2d0596667126d8f5004773461517
Fixes: 28745682
It's raising alarm bells but there isn't much we can do without a lot
of rewriting inside the ActivityManager. The only consequence is stats
that are off by a little bit.
Bug: 28581070
Change-Id: If51568c3a708a907ceef6452e7d45599a57454f7
This makes the time spent in the first call of an app to
SSLSocketFactory.getDefault() drop from ~240 ms to ~50 ms. In M
it was around ~6ms. This is due to the fact that, while instantiating
the default factory, all providers are initialized.
In order to obtain the timings above, I created an app calling
SSLSocketFactory.getDefault in onCreate and timed it
with System.currentTimeMillis() .
Bug: 28545496
Change-Id: I650d4b0435e67e481a41e02b0b538ce5cc993fa3
We were not keeping track when an app that set an app op restriction
dies to clean up after that. As a result we may end up with stale
restrictions that will be there until the device reoots - not cool.
This change adds remote binder death tracking and simplifies the
code as adding the formed would have made more complex.
bug:28770536
Change-Id: I7dcaafba2354843a0cdf0206ab1f96625edc5120
Was missing a content description. The same button is used for
both opening and closing the toolbar, so it needs to be updated
dynamically.
Bug: 28750935
Change-Id: I7f75701ae6af45e5621c36b81003b658479e8b31
This is a follow-up to my previous CL [1] for Bug 15922840 so that we
can clear the following variables in a more reliable way.
- PhoneWindowManager#mLastInputMethodWindow
- PhoneWindowManager#mLastInputMethodTargetWindow
The idea behind CL [2] is that when InputMethodManagerService (IMMS) is
switching from an IME to another IME, IMMS can send a signal to
WindowManagerService (WMS) to remember the current IME's inset so that
the system can continue using it to reduce jank until the new inset is
specified by the next IME. As summarized in Bug 28781358, however, if
the next IME does not show the window after the IME switch, WMS (or
PhoneWindowManager to be precise) keeps using the previous IME's inset
unexpectedly until the new IME shows its window. All we have seen in
Bug 15922840 and Bug 26663589 fall into this category.
The idea of this CL is just adding a hidden API to InputMethodManager so
that InputMethodService#clearInsetOfPreviousIme() can surely terminate
the IME transition state managed in PhoneWindowManager, rather than
relying on a hack of calling SoftInputWindow#show() and
SoftInputWindow#hide(), which actually does not work for Bug 26663589.
[1]: Ib04967f39b2529251e4835c42e9f99dba2cf43f2
2977eb7b6c
[2]: I5723f627ce323b0d12bd7b93f5b35fc4d342b50c
792faa2c16
Note that addressing all the corner cases in [2] still requires lots of
non-trivial change. Hence this CL focuses only on Bug 26663589 (and
the case we handled in Bug 15922840).
Bug: 26663589
Change-Id: Ib567daa009c1139858dccadcfc6a04465ebecf36
Netlink notifications about the state of the modem contains uid too.
This patch adds the functionality to add that. It also fixes the bug to
parse the timestamp in the message even in cases where the length is
greater than expected.
Bug: 28527904
Change-Id: I4643bff3eb5b1ffa2dc0b78f1c6947d60487e0d8
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
If we're going to show metadata about a resolved implicit intent that
is targeted to a single package with multiple potential targets,
populate the ResolveInfo with the label and icon of the target
package's ApplicationInfo and set resolvePackageName. This helps use
cases such as EXTRA_INITIAL_INTENTS in ChooserActivity, where
sometimes apps set target packages but not components.
Bug 28739056
Change-Id: I8070d341fccc139463c5ac8d66db45fce02252e5
Pin key files into memory to prevent having to fetch from flash
after boot. Improves system performance by preventing page cache
thrash. Retrieves files from a device-specific overlay to allow
specialization.
bug 28251566
Change-Id: I8532f52bd70271794dd7576976d13a524849ce7b
For calculating the smallest width, we need to iterate through all possible
orientations, snap the task bounds to a valid snap target and then use the
smallest width across all orientations.
In addition to that, when flinging the divider handle to the bottom of the
screen, we need to pass in fullscreen task bounds to avoid that this new
logic applies so the maximizing app only receives one configuration change.
Change-Id: I37aa9a40938517dfaf26770eb41327d76aec7c62
Fixes: 28469673
There is no useful state to be saved for these views.
This fixes a crash where we try to restore the state of an
ActionView (that shares the same ID as ActionMenuItemView).
Framework version of ag/1020805
Bug: 28110832
Change-Id: I4a09786a1c08bef1765fd8be3affb21dce296272
...but probably shouldn't.
Keep track of whether zram is being included in per-process pss and,
if so, don't add it on separately.
Change-Id: Ic945fc3deca8412272bb6019fe1be4b878cb763a
Previously any apk bundled in priv-app could insert a backup transport.
Reduce risk surface by giving the OEM explicit control over who is
allowed to handle backup data.
Bug 28406080
Change-Id: I84ed954c31b41b671825122e537971b110e00a4d
Now that we live in an FBE world, we need the user to be involved
with every package move to ensure that CE storage is unlocked. This
means that a package upgrade session that would require moving an
app between storage devices cannot be satisfied.
Bug: 27147501
Change-Id: I274d85cbed727d9185178b77bfc6cef196df17f5
Also increase the event buffer size to 100, and implement
it as a real ring buffer. And put that implementation in
a generic class for use in other places.
Change-Id: I06936984e2c253fb5f0eb5d15faf0019ec73d4e2
* changes:
Fixes several animation issues related to a dismissing task.
Pipe the dismiss button logic through the touch handler.
Skip scroll-to animation when undocking and there are no tasks.
Fixing issue with docking being disallowed for secondary user.
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
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
The FloatingToolbar popup wrongly assumes that the main content panel
is wider than the overflow panel. In situations where this assumption
fails, the toolbar popup is positioned wrongly within it's container
window and items appear truncated. This CL fixes this issue.
Bug: 28550367
Change-Id: I41669b1deed7dd34f0b2bd060d14452482d3d36c