Don't disable volume slider when it hits zero.
Show correct icon for Silent mode in Power menu.
Bug: 5586083
Change-Id: Iaa957fc08e314e0de1c007dfc967a1d960080aab
Bug #5678369
Caching drawables directly in a static map was responsible for runtime
restarts. If two different UI threads requested the same drawable, the
first thread to issue the request would be given a drawable callback
belonging to the second thread. This would cause an exception in
ViewRootImpl on invalidate.
The solution is to store the drawable states and to create a new
drawable instance every time a drawable is requested from the
cache. This is similar to how preloaded resources are handled.
Change-Id: I47e24e2a168cf67a3589185c6cd77b70f9a1c7cf
When stop() is called twice or after done().This relates
to bug 5662598 because users using the old deprecated API
will see two calls to onUtteranceCompleted.
bug:5662598
Change-Id: I5d59cf66b4f4c8650d3f8f9e503ac3f33132c0d0
1. AccessibilityInteractionConnections were removed from the
AccessiiblityManagerService but their DeathRecipents were
not unregistered, thus every removed interaction connection
was essentially leaking. Such connection is registered in
the system for every ViewRootImpl when accessiiblity is
enabled and inregistered when disabled.
2. Every AccessibilityEvent and AccessiilbityEventInfo obtained
from a widnow content querying accessibility service had a
handle to a binder proxy over which to make queries. Hoewever,
holding a proxy to a remote binder prevents the latter from
being garbage collected. Therefore, now the events and infos
have a connection id insteand and the hindden singleton
AccessiiblityInteaction client via which queries are made
has a registry with the connections. This class looks up
the connection given its id before making an IPC. Now the
connection is stored in one place and when an accessibility
service is disconnected the system sets the connection to
null so the binder object in the system process can be GCed.
Note that before this change a bad implemented accessibility
service could cache events or infos causing a leak in the
system process. This should never happen.
3. SparseArray was not clearing the reference to the last moved
element while garbage collecting thus causing a leak.
bug:5664337
Change-Id: Id397f614b026d43bd7b57bb7f8186bca5cdfcff9
1. NumberPicker is trying to greedily grow to its max size
but if the max size is not specified the default value
was the max integer which makes the widget get quite
tall in some cases. Now the widget tries to reach the
max size only if it has been specified.
2. NumberPicker was not computing its min width when the array
of display values is set.
3. DatePicker' layout for the old Theme was adding a margin on
the right of the group of spinners and if the calendar view
is not shown the spinners were not centered. Added the spinners
right margin to the left margin of the calendar view.
4. TimePickerDialog was using the wrong conext and was not dismissable
on an outside touch. Same for the DatePickerDialog context.
bug:5646161
Change-Id: Ic15f9b3e6291b76493604230ceb4f783a04d4ac7
New invalidateRegion method, with better horizontal invalidate
bounds in case the region is on one line.
Use by SpellChecker when a new SuggestionSpan is added.
Change-Id: Ide11f1d3d2b1350032b475db0641018a49c08d13
Using a SpanSet to minimize the number the calls to getSpans.
This is a cherry pick of 145653 in ICS-MR1
Change-Id: I0a6e1fc7bd7a89325c2925bf98d59626d5e12995
Measuring line widths, glyph by glyph slows down the scrolling
process for long text (for some reason, width measure efficiency
is affectedi by text length, maybe because the whole text has to
be passed to JNI layers).
This optimization avoids this computation in the case where there
is no possible horizontal scroll.
This is a cherry pick of 145957 into ICS-MR1
Change-Id: I2082e3d0eedace1a86122a03e4b21f90f3bc8522
Improved quick launch bookmarks to support category-based shortcuts
instead of hardcoding package and class names for all apps.
Added a set of Intent categories for typical applications on the
platform.
Added support for some of the HID application launch usages to
reduce reliance on quick launch for special purpose keys. Some
keyboard vendors have hardcoded launch keys that synthesize
"Search + X" type key combos. The goal is to encourage them
to stop doing this by implementing more of HID.
Bug: 5674723
Change-Id: I79f1147c65a208efc3f67228c9f0fa5cd050c593
There was an error in some of the OpenGL layer logic such that we would
occasionally set up a layer for rendering and then not clean up when it was
done. This caused future OpenGL rendering to go into that layer instead of
to the buffers being displayed on the screen, resulting in artifacts including
flashes and displaying of stale content. This happened specifically when
using the wifi settings dialog with the InputMethod keyboard displayed,
but it was probably visible in other situations as well.
Issue #5628248: Flickering/flashing after entering password for WiFi
Change-Id: I38139f620b310f4309570fa7224552d2ee633999
Bug #5659476
The FontRenderer was not cleaning up its temporary state, leading
to crashes when invoking renderDropShadow.
Change-Id: I43b24820dd5625af8c080bbe11b64de2f74164b2
Make surface management between SurfaceView and the window manager
much more controlled, to ensure that SurfaceView always gets to report
the current surface is destroyed before the window manager actually
destroys it.
Also a small tweak to allow windows that have a wallpaper background
to still have a preview window. This makes launching home after it
has been killed feel much more responsive.
Change-Id: I0d22cf178a499601a770cb1dbadef7487e392d85
The TTS instantiated from here shouldn't clobber any
existing TTS objects opened within the same package context.
Ideally, the TTS API should work fine with multiple TTS object
instances within the same package context but making that happen
correctly is a larger change.
bug:5659758
Change-Id: Ia1f63c61b9f12ac92ff42a427a004d414e42a759
In the hardware accelerated case we were not updating webkit
with the new zoom information. This was causing plugins to
render at the old zoom level.
bug: 5663981
Change-Id: I3cb18ad9ca4f185f384ea9fb68780f29160391ad
When the WebView is paused, or another action (such as navigating to
a new URL) occurs, cancel any ongoing <select> tag dialog that is open.
Bug: 5666545
Change-Id: Ifc35a239b729ed93cbf82b2096334f7d63f8993d
(a) onUtteranceCompleted should be called on errors too. Also,
fix up the error handling so that onUtteranceCompleted is
always called.
(b) Don't treat empty utterances as errors, and let the engine
synthesize them, as before.
bug:5662598
Change-Id: I9223592bc6fe5f47d71103f4f02f046b54a655a8