When I cleaned up how we maintained the lifecycle of the tracker with a
service, I broke most tracking of the service restart state. (Since at
that point the service is no longer associated with a process, so I
must clean up the tracker state). This change introduces a new special
case for interacting with a service tracker to explicitly tell it when
a service is being restarted. It also fixes how we update the process
state when services are attached to it, so it goes in and out of the
restarting state correctly.
In addition:
- Maybe fix issue #11224000 (APR: Dependent processes not getting added
to LRU list). We were not clearing ServiceRecord.app when bringing
down a service, so if for some reason there were still connections to
it at that point (which could happen for example for non-create bindings),
then we would so it when updating the LRU state of that client process.
- dumpsys procstats's package argument can now be a package or process
name, and we will dump all relevent information we can find about that
name.
- Generally improved the quality of the dumpsys procstats output with its
various options.
- Fixed a bug in ActivityManager.dumpPackageState() where it would hang if
the service was dumping too much, added meminfo to the set of things
dumped, and tweaked command line options to include more data.
- Added some more cleaning code to ActiveServices.killServices() to make
sure we clean out any restarting ServiceRecord entries when a process is
being force stopped.
- Re-arranged ActiveServices.killServices() to do the main killing of the
service first, to avoid some wtf() calls that could happen when removing
connections.
Bug: 11223338
Bug: 11224000
Change-Id: I5db28561c2c78aa43561e52256ff92c02311c56f
- enforce the Drawable boolean getPadding(Rect) contract for NinePatchDrawable
and DrawableContainer.
- as NinePatchDrawable was not enforcing it, the consequence was that the
mUserPaddingLeftInitial / mUserPaddingRitghInitial were reset to "0" (even
if they got the correct value before the reset).
Change-Id: I1efe7fad5f89c0ca47f90189f6d89940e0e9c6ae
Return to old way of only laying out Keyguard on configuration change
and add a new qualifier that does a layout if a window is part of an
opening app. This qualifier allows apps that handle their own
configuration changes to be notified of screen changes after the
configuration has changed. Apps that do not handle their own
configuration changes find their way into this code because their
surfaces are recreated by default and mHaveFrame is false.
This fixes bug 11544694 and passes the test of all bugs listed in CL
ag/383579.
Change-Id: I3a679b27eb4a2c5210957bcd4ae2f10b46f6e076
One cannot iterate across an entire list if one both removes an entry
and increments the index into the list. Do one or the other or you
will end up with bugs like 11556768 which is now fixed.
Change-Id: I57f1ad13075a005cae3c1cbfae10e230d9af143a
This is a fix for bug 11553661. The "closest match" heuristic for
resolving a typeface when an exact match was not found changed between
JB MR2 and KK, resulting in loss of custom typeface when StyleSpan was
applied. This patch reinstates the logic that had been present. Also
reported externally as:
https://code.google.com/p/android/issues/detail?id=61771
Change-Id: Ia432fca07c4bf3b830ee2487cd8f5267a9cfb7ff
Bug: 11063890
- Workaround for bug 11063890. Avoids the acquire/release
race when resuming face unlock while pausing the camera
widget.
Change-Id: I0a58f3a07f346da72ea55772242b4f9c54537235
HSPA+ was being shown as connection type other in battery
statistics because it was not updated when TelephonyManager
was changed.
Bug: 11552902
Change-Id: I85ce7c393bf93010a4ac8437f14684015ad0391a
This fix selects the current page ealier in the reconstruction
of Keyguard to ensure the layout bounds of KeyguardWidgetPager are
correct by the time it does the initial layout.
In addition this change postpones selecting the transport page if
the transport was just added.
Fixes bug 11287144
Change-Id: I92ba8bb5e13c166d13fbaa26881f5034d5ab2104
bug:11481077
Because TextView marquee and KeyguardSecurityViewFlipper use SaveLayer
(for the marquee fading effect and view alpha, respectively), both can
be nested, which hits a bug in the renderer resulting in artifacts.
Workaround this by setting a hardware layer on the marquee, so that
those marquee effects are drawn outside of the ViewFlipper.
Change-Id: If8b7ebb20d3959cb930a8bea2146ba3f8e659612
In particular, if a 3rd party app tries to define a permission that
turns out to be defined by system packages following an upgrade,
the system package gets ownership and grants are re-evaluated
on that basis.
Bug 11242510
Change-Id: Id3a2b53d52750c629414cd8226e33e5e03dd0c54