I don't understand how the SuggSpan that has been tapped to display
the popup can have disappeared when an item is clicked.
This problem seems specific to monkey test with a race condition somewhere.
Change-Id: I447b6563a1b959dc3c1ead31cde2d9bcad369765
The app was removing a View whilst in its onDraw() method. This meant
that we asked it for its display list and it invalidated that display list
(by removing itself) before it returned from onDraw(). We later attempted to
draw that invalid display list into its parent nad died in native code.
The fix is to check the state of the display list after the call to getDisplayList()
and to avoid doing further work with it if it's invalid.
Change-Id: I14a342b4fe79c8dce2626ff61237b447040e7f42
- Update the description
- Use Throwable rather than RuntimeException
- Log as a warning rather than an error
Bug: 5313494
Change-Id: If13ce2088e7080122db14e5e0565f64e6d6f4320
- make the StaticLayout constructor not depending on the text as we just need the "generate()" call to be done
Change-Id: I65249e65ed6446b6ac13dbf8c8f58fcdf54046cb
SearchView is expanded in an action bar
This is a case where we always know there will be room on screen for
the user to meaningfully use the UI in the absence of full-screen
extract mode. Save the old state and restore it when we go in and out
of expanded action bar mode.
Change-Id: I4ae2c5df4f581c6824e6a1f7ff8d97fd86d8e260
Bug: 4981385
Changed the orientation listener to notify the policy whenever
its proposed orientation changes, and changes the window manager
to notify the orientation listener when the actual orientation
changes. This allows us to better handle the case where the
policy has rejected a given proposal at one time (because the
current application forced orientation) but might choose
to accept the same proposal at another time.
It's important that the proposal always be up to date. A proposal
becomes irrelevant as soon as the phone posture changes such
that we can no longer determine the orientation with confidence
(such as when a device is placed flat on a table).
Simplified the orientation filtering. Now we just wait 200ms
for the device to be still before issuing a proposal. The idea
is that if the device is moving around a lot, we assume that
the device is being picked up or put down or otherwise in
the process of being moved. We don't want to change the rotation
until that's all settled down. However, we do want to tolerate
a certain amount of environmental noise.
(The previous confidence algorithm was also designed along
these lines but it was less direct about waiting for things
to settle. Instead it simply made orientation changes take
longer than usual while unsettled, but the extra delay was often
too much or too little. This one should be easier to tune.)
Change-Id: I09e6befea1f0994b6b15d424f3182859c0d9a530
* Verifiers can be specified in the AndroidManifest.xml
* Those verifiers can respond to the new Intent action
* PackageManager API for those verifiers: verifyPendingInstall
Change-Id: I4892bce2e6984871e6e93c60a1ca0dae145f5df5
- The pings are delayed async messages that were getting handled
after a disconnect as well
- Increase poll time to 200 ms, so we block on a receive for 1ms every 200ms for a
sent packet
Bug: 5361564
Change-Id: I1931a1c4146e78a87407d541d8c3934ff8232604
...Should Skip Unsecure Lockscreen (ICS)
Also while I am in there, clean up logging of intent objects to include
even less sensitive information, while showing the true Intent in dump
output (since apps can't get to that).
Change-Id: I35fed714645b21e4304ba38a11ebb9c4c963538e
getSpans was called too many times in handleRun. Pre-compute the
subset of intersected spans and iterate over a subset of it instead.
Moving the instanceof test in getSpans after the other tests also
speeds things up a lot.
On a text with ~300 words, all with a span attached, getSpans went down
from 78% to 14% of the CPU usage.
Change-Id: I59bc44f610e9a548e0dcec68b180934da9e5c559
Bug 5313754: SpellCheckSession is released when the window loses focus.
When an EditText is initialized with text, a new spell check is initiated
and previous spell check spans are removed.
Requires a new flag to prevent this from happening when the window focus
change comes from the suggestion popup window being shown.
Also fixes bug 5329588: handle spell check language change.
This change has been reverted. This amended change defers the creation
of the SpellChecker, so that it is only created for editable TextView.
Patch 3: Bug 5332065, the spell check session is closed in onDetachedFromWindow, which is
called when the window is destroyed (like on rotation), which was not the case with
onWindowFocusChanged.
Patch 5: Fixed life cycle. A view can be created and never attached to the hierarchy. As
a result, the spellCheck session would not be closed. Moved spell check to onAttach and
perform a spell check when text is changed by setText only if the view has previously
been attached (and the spellChecker has been created).
Change-Id: Ic2cfbfc0d3f23c589dd9e37f02e4afc1d625615d
Scroll events are used to report position change and should not
contain the text content of the view that fires them because it
is usiually a containter for many other views and the text will
be long and not informative for accessibility purposes. Also
such evens are fired relatively frequently. If a client wants
to fetch some textual content for a scroll event he can use
the interrogation APIs.
bug:5352059
Change-Id: I43e02aca895c8ab16ba82ebe1cee3aea8ce7711a
The implementation of the method View#setTag(int, Object) stored tag
objects as entries in a static WeakHashMap associated with the View as
a key. This was problematic for any tag object that stored a hard
reference back to the View the tag was placed on, as it would cause
the WeakReference key to never be collected and the entry to persist
forever.
This was particularly nasty if an app used a keyed tag to store a
ViewHolder object referencing child views for use in the Adapter
implementaion for an AdapterView, since child views will always have
hard references leading back to the parent.
Change-Id: Ia17840a301ba0e0c928861405388fb2f625dac2c