Decouples the input dispatch thread from the battery-stats object lock regime,
to avoid the possibility of ever blocking the input dispatch thread on its
behalf. The stats object is widely used and can sometimes be locked for a
very long time (on the order of seconds) during certain extensive dump
operations.
This change does not alter the data format of the battery stats' externalized
representations.
Fixes bug #2530346
Change-Id: Iee288be3bf4936641b532dceecb8f6de8f552bf0
No steps to repro, but makes the code more robust by using the standard
JournaledFile class and doing sanity checks on the input it reads.
This required moving the JournaledFile class in to the framework (and
we really should get rid of either it or AtomicFile, but they have
different recovery semantics so that is tough). Also went through and
cleaned up the file management in various places.
Change-Id: Ieb7268d8435e77dff66b6e67bb63b62e5dea572e
OverScroller has been made a Scroller child class. Both use a physical constant deceleration
force to compute the animation. OverScroller also includes a rubber edge bounce effect.
Approved by Jim Palmer.
Change-Id: I3f43a03694b8cb6bfa0784c2663b37c9c39322cc
This interface can be used in conjunction with ExpandableListAdapter to
declare more types of child and/or group views.
None of the ExpandableListAdapter implementations is heterogeneous in the
framework. BaseExpandableListAdapter was decalred to use this interface so that users
see the methods and can overload. DateSortedExpandableListAdapter was left unchanged.
This feature is related to http://b/issue?id=1459940
Change-Id: Ifc589b697913778b16abfdcaaa9f8f81e564add7
A runnable is posted for AutoCompleteTextView's PopupDataSetObserver, but
there's a possibility that mAdapter would be set to null between when
the runnable is run and the time it is posted.
This fixes a monkey crash seen in build 29176.
Change-Id: Ie7be51db580d6e9775533890e5f6902409bec84d
MonkeyCrashID: 2071507494::1632:123:521
Used to see multiple notifications if usb tethering and wifi tethering were both used.
bug:2527862
Change-Id: Idc6299c0a70564dd7c8d8d7fe13bde83723134ae
The existing view layout may not be an absolute layout,
and will throw a ClassCastException. Check to see if it
is compatible before the cast.
Change-Id: I7309600a1e7405a29e49a3bab469a164d51126ae
http://b/2526854
When HttpAuthHandler queries the WebViewClient to obtain a username and
password, we need to make sure that this is done synchronously when the request
is synchronous.
Bug: 2511043
Change-Id: I9ff2156cfb3c81edaf4a50ec7094a00a8f8ff91f
Apps on the system partition are now allowed to change their certs, as
long as they are not using a shared user id.
Change-Id: I02ff7ac874dc649b7f8cbb705ae8d7ed31e1d125
Needed for issue 2416481 in order to allow unbundled applications to play and record
audio to/from a bluetooth SCO headset while not in call.
Change-Id: Ie1f96ded991e65da538c2c4a58bfa1e548d58a01
On binder incalls, the handler thread is given the caller's priority by the
driver, but not the caller's cgroup. We have explicit code that sets the
handler's cgroup to match the caller's, *except* that the system process
explicitly disables this behavior. This led to a siuation in which we were
running binder incalls to the system process at nice=10 but cgroup=fg.
That's fine as far as it goes, except that if a GC happened in the handler
thread, it would be promoted to foreground priority and cgroup both, to avoid
having the GC take forever. Then, when GC finished, the original priority
is reset, and the cgroup set *based on that priority*. This would push the
handler thread into nice=10 cgroup=bg_non_interactive -- which matches the
caller, but is supposed to be impossible in the system process.
The end result of this was that we could be running "lengthy" operations in
the system process in the background. Unfortunately, some of the operations
that wound up like this would hold important global system locks for up to
twenty seconds as a result, making the entire device unresponsive to input
for that period.
This CL fixes the binder incall setup to ensure that within the system process,
a binder incall is always begun from the normal foreground priority as well
as cgroup. In practice now the device still becomes laggy/sluggish when the
offending lock-holding time-consuming incall occurs, but since it still runs
as a foreground task it is able to proceed to completion within a short time
rather than taking 20 seconds.
Fixes bug #2403717
Change-Id: Id046aeabd0e80c48eef94accc37842835eab308d