Cherry picking since branching caught us in the middle of review.
1. If an AdapterView has no adapter and the view tries to fire an
accessibility event we get a null pointer exception.
bug:5439321
Change-Id: Ia3d7a5ad852ef42422d10d8a62c4d3af6792313b
We want to see CloseGuard violations in the log in ENG builds
because they indicate serious problems, but BlockGuard is
too noisy and is best viewed in the aggregate from the
drop box based tools.
Change-Id: I77d4d0a561a4299355c111d0ccb5a2147646245b
Bug: 5332296
The memory dealer introduces additional delays for reclaiming
the memory owned by CursorWindows because the Binder object must
be finalized. Using ashmem instead gives CursorWindow more
direct control over the lifetime of the shared memory region.
The provider now allocates the CursorWindows and returns them
to clients with a read-only protection bit set on the ashmem
region.
Improved the encapsulation of CursorWindow. Callers shouldn't
need to care about details like how string fields are allocated.
Removed the compile-time configuration of string and numeric
storage modes to remove some dead weight.
Change-Id: I07c2bc2a9c573d7e435dcaecd269d25ea9807acd
1. If an AdapterView has no adapter and the view tries to fire an
accessibility event we get a null pointer exception.
bug:5439321
Change-Id: Ia3d7a5ad852ef42422d10d8a62c4d3af6792313b
Consider a network over-limit when it's measured usage is within a
handful of MTU's, since kernel completely drops packets that trigger
limit alert.
Update notification drawables.
Bug: 5433359, 5224629
Change-Id: I10b19cc34c34b47775904229829a25208cd85d25
The cached mText field from TextView is not constant overtime.
It is especially changed whne the first character of text is added.
Retrieve the actual current value everytime we use it.
Change-Id: Ie297a3292106879621e54a22e5d03444d442ec96
...the "Complete action using" dialog
When an application goes idle, it sends back to the activity manager
the configuration it last used, to make sure the two don't get out
of sync. Fix a bunch of edge cases here in dealing with that, and
be sure to also send the current configuration when launching an
activity so the client is always up-to-date when launching.
Also a small fix to not show the upgrading dialog during first boot.
Change-Id: I14ed366a87cd689d1c78787369e052422290ac6f
The pattern lock fires accessibility eventa to announce start,
update, and end of a pattern. The pattern lock reacts to hover
events if touch exploration is enabled.
bug:5318807
Change-Id: I5a10c76338ca029f63f278c7e7d0aaba2386f73c
Bug: 5332296
Ensure that there is always an owner for each CursorWindow
and that references to each window are acquired/released
appropriately at all times.
Added synchronization to CursorToBulkCursorAdaptor to
prevent the underlying Cursor and CursorWindow from being
remotely accessed in ways that might violate invariants,
resulting in leaks or other problems.
Ensured that CursorToBulkCursorAdaptor promptly releases
its references to the Cursor and CursorWindow when closed
so they don't stick around longer than they should, even
if the remote end hangs onto the IBulkCursor for some reason.
CursorWindow respects Parcelable.FLAG_WRITE_RETURN_VALUE
as an indication that one reference to the CursorWindow is
being released. Correspondingly, CursorToBulkCursorAdaptor
acquires a reference to the CursorWindow before returning
it to the caller. This change also prevents races from
resulting in the transfer of an invalid CursorWindow over
the wire.
Ensured that BulkCursorToCursorAdaptor promptly releases
its reference to the IBulkCursor when closed and throws
on attempts to access the cursor while closed.
Modified ContentProviderNative to handle both parts of
the wrapping and unwrapping of Cursors into IBulkCursors.
This makes it a lot easier to ensure that the right
things happen on both ends. Also, it turns out that
the only caller of IContentProvider.bulkQuery was
ContentProviderNative itself so there was no need
to support bulkQuery on ContentProviderProxy and it was
just getting in the way.
Implement CloseGuard on CursorWindow.
Change-Id: Ib3c8305d3cc62322f38a06698d404a2989bb6ef9
The drop-box is too quiet and it masking real problems from
developers. On ENG builds, use both logging and the drop-box
to ensure that problems are noticed promptly.
Change-Id: Id8fb8d392a7e01b532b73cb1a026b0d1f17af742
Also, don't try to close the cursor from the finalizer,
it just won't work because quite probably the Binder underneath
it has already been finalized or is about to be.
Change-Id: I6363cd30f32abe15412948d126e0bcc5f62943c5
Make the new marshalling/unmarshalling code for the long sparse
array of ints always consistent.
And sane.
Change-Id: Ifbfbe6e56f59e469acb66257c504b1168d6566fa
Replace TrafficStats calls by reading values from xt_qtaguid kernel
module. To keep BatteryStatsImpl changes lightweight, cache recently
parsed stats. Tracks mobile ifaces from ConnectivityService.
Refactor xt_qtaguid parsing into factory outside of NMS. Add stats
grouping based on UID, and total based on limiting filters like iface
prefix and UID.
Bug: 4902271
Change-Id: I533f116c434b77f93355bf95b839e7478528505b
Bug: 5332296
We can't replace these with AIDL generated proxies just yet, but
at least we can make them a little more conformant.
Change-Id: I1814f76d0f9c5e44a7fd85a12b2e3c2b7e3c9daa