is reset.
As per platform guidelines, when launching a sharing activity the Intent
flag FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET should be used.
Change-Id: I30bd3d20eb75aee7943b681dc2d9c7f44a04e919
1. The selector wheel was throwing an exception if a client requires that it
wraps its selector wheel if the number of values is less that the number
of values shown in the wheel. While wrapping makes no sense if the all
possible values are already shown, we should not throw an exception,
rather to ignore the request.
bug:5911190
Change-Id: Icd90cd39f66d9f39939801752bf1eb1eef8fe757
Bug introduced in recent refactoring
https://android-git.corp.google.com/g/#/c/158896/
Do not move cursor when selectAllOnFocus and focus just happened.
The didTouchFocusSelect() condition was not copied over from ArrowKeyMM.
Change-Id: Id01d225c436ae3dd97c5d77d5dac5d0690d7de76
Using a runnable to schedule the action, interrupted by any other
touch event, enabling a catch of a double tap to trigger text selection
instead.
Change-Id: I21f8b9fdfad0036d6970f5dbfe6d72dd3eff35a1
When text can indeed be selected, we should always initiate
a text selection on long press. When the WordIterator fails
(for instance if the text is entirely made of punctuation
characters, maybe also with foreign languages), we select
one character.
Change-Id: I842507f7cbaed9a924d3176ea8ed6586f3548366
Bug 5749557
Not clear how we can get an AOOB in that case.
tmp will always have the right length, and indeed the stack
trace attached to that bug shows a correct size of 10.
However, there is an index issue when we build the new
completion array. i is not the correct index to use.
Note however that the original buildDropDown method mentioned
is no longer present in the file. I tried to backtrack, but
the use of arraycopy always seemed correct.
Change-Id: Idf749c74b38923b5d18596c8e8f6ea887cc897d6
Similar to what is done in GestureDetector
Removed all gesture constants. Only one one them is used on MOVE
(added an early exit test), the 2 others on UP or DOWN where
performance is not such an issue.
Change-Id: Icd58ead5078f94f86786f934ddf81aa5ec9bf549
-> This prevents collection widgets from flashing loading
views when they are updated with new content
Change-Id: I1241ff9a09edfd990ad03f76449d18b9359246b4
AccessibilityEvent and AccessibilityNodeInfo have a property className which is set to the source
Java class. This is problematic since leads to leaking private classes which would allow an
accessibility service to load classes from other packages. This is strongly undesirable since
not trusted code can be loaded, and hence executed, in the accessibility service. To address
that the class name is set to the most concrete framework class extended by the info/event
source.
bug:5878943
Change-Id: I7b3114ece8772ea2773f5151e21b8a6f2006882a
Stop selection mode after Edit/Copy while in extracted mode.
The selection mode was started by a long press in the ExtractedEditText.
Selection Copy in the menu simply sends the id to the context menu.
SelectionMode is not stopped in the underlying text since it was not
started there. Stop it directly in the ExtractedEditText.
Cut and paste do stop the mode because the text is modified.
Change-Id: Id7dbfa99de404c4eb85ced9627c99af4895ac628
TextView uses a sub-display list to 'cache' the rendering of its
text. This saves time when drawing an editable text, where the blinking
cursor forces a re-draw twice per second, which creates pauses during
scrolling.
Added a sub-display list invalidation when an appearance span is
modified/added/removed.
Also added an invalidation of the display list when selection range
is changed.
Change-Id: I41e8068a12902b8a745c5bb77de8c77def76a270
Adding a view above the currently displayed child in a ViewAnimator
will cause the displayed child index to become stale, because it is
not incremented to reflect the new position of the currently displayed
view. This fix adds logic to the addView() override to increment the
index correctly.
Change-Id: I9c756ce51a8e8dcbeef8f0e4fbb3704482c21e9d
Bug 5755099
In extracted text mode, we spell check the background and the foreground
edit text. All changes in the background are already propagated to the
foreground, and updates on the foreground may trigger a spell check
of the entire text since we use setText.
Change-Id: Ie44c3d9113258082ac6df5890851d0e21c702ea2
Bug 5738416
This problem was introduced in
https://android-git.corp.google.com/g/#/c/152599
The invalidated cursor region is no longer expanded to include the
cursor drawable (different from the handles' drawables).
Added that code back. Added a flag, since invalidateRegion is also
used to invalidate text span regions in spell check (assumes the decorated
span bounds are not bigger that text boundaries), which is fine in case
of underline.
When the cursor is moved on a single line, invalidate the whole line
(same as what was done before). This is sub-optimal, will file a bug
to fix this. The core problem is that we should invalidate the previous
and the new cursor's positions. We only have one of these.
Change-Id: I9ada9340fb52aad3d80c39efd021fd3f9ec0cc4d
Limit each parse to batches of a few words, to keep the UI thread
responsive.
Possible optimizations for the future:
- SpellCheck in a thread, but that requires some locking mecanism
- Only spell check what is visible on screen. Will require additional
spans to tag the pieces of text.
This is a cherry pick of 145656 into ICS-MR1
Patch Set 2: Make the Runnable shared and stop it when detached.
Change-Id: Ibf8e98274bda84b7176aac181ff267fc1f1fa4cb