Commit Graph

375 Commits

Author SHA1 Message Date
Gilles Debunne
c9fd978da6 Bug 5281947: add to dictionnary option promoted in suggestions.
When several SuggestionSpans are available at a given position, their
content are merged, in creation time order.

As a result, the IME's suggestions are picked before the spell check, and
no add to dictionnary option is created.

This CL modifies the comparator to make easy correction spans appear first
(Voice IME), then misspelled words and then regular suggestions.

Also avoids the creation of a new comparator and length hash map on every display.

Change-Id: I1f9f031a6fdcbbc09f248a192b83051092765f8e
2011-09-09 17:01:31 -07:00
Gilles Debunne
5132273273 Hide method to fix the build
Change-Id: I5a556454a722bf037932632fa7e6ee6a2832a68d
2011-09-09 16:46:42 -07:00
Gilles Debunne
fa4e2d994b Bug 5278456: text highlight color depends on the type of suggestion spans.
Change-Id: I76ac02b7688a297c0e83d593f446a4cf2ee36015
2011-09-08 18:35:54 -07:00
Gilles Debunne
63c885f881 Bug 5250788: Fix memory consumption issues in TextPaint.
The increased size array was discarded in set. Reuse it instead if
possible to avoid more size increases later.

Change-Id: I9ab95ed0f4d4613dd1e28f02894bb19ecee7df41
2011-09-07 14:27:38 -07:00
Fabrice Di Meglio
c6fc20a91b Merge "Fix bug #5262565 Need to remove CharCount TextDirectionHeuristics" 2011-09-06 15:12:25 -07:00
Fabrice Di Meglio
be724dbc45 Merge "Fix bug #5243493 TextView selection is not working correctly when there is some RTL run into it" 2011-09-06 11:13:40 -07:00
Fabrice Di Meglio
e3bf88da23 Fix bug #5262565 Need to remove CharCount TextDirectionHeuristics
- update unit tests too

Change-Id: I7c518f58a9f17cb679bc3913bdd38243f7ad2195
2011-09-06 11:08:45 -07:00
Romain Guy
d3462ad713 Merge "Prevent crash when using <em> or <strong> in spanned strings Bug #5258853" 2011-09-06 10:55:53 -07:00
Romain Guy
dd808c0bd4 Prevent crash when using <em> or <strong> in spanned strings
Bug #5258853

Change-Id: Ifde1efe9ba3b44cfa0be55d51b2c9696cbe096f5
2011-09-06 10:54:46 -07:00
Fabrice Di Meglio
34d2eba560 Fix bug #5243493 TextView selection is not working correctly when there is some RTL run into it
Part 2

- make selection handles aware of the run direction

Change-Id: Idf41036de53d8968e7ae27eb87aea09e86bcd652
2011-09-02 18:03:21 -07:00
Gilles Debunne
572527f2c3 Merge "Remove the suggestion underline when the TextView loses focus." 2011-09-02 13:54:48 -07:00
Gilles Debunne
f3d78eac0f Merge "Added an add to dictionary option in suggestions for misspelled words" 2011-09-02 13:19:24 -07:00
Luca Zanolin
fe5e9834a3 Remove the suggestion underline when the TextView loses focus.
Only the easy correction (i.e., voice ime corrections) will lose the underline, while the misspelled span will not.

Change-Id: If96c17473dd70c99b808739ddde800cc93551e2a
2011-09-02 19:41:42 +01:00
Gilles Debunne
70a6312f09 Fixes around text selection
Text selection mode was started by two consecutive taps inside a
field with selectAllOnFocus.

ArrowKeyMovementMethod does not respect the possible cancelLongPress and handles up events.
As a result a scroll that happens to end up at its initial position will be considered a tap
and will move the cursor.
This is however not considered as a tap in TextView and a possible selection mode would not
be stopped in that case.
Fixed by making ArrowKeyMovementMethod aware of the cancel that happened in Touch.

Change-Id: I07372b703f250e1edc7ee0665318ce30441b9187
2011-09-02 11:26:46 -07:00
Gilles Debunne
e90bed18cc Added an add to dictionary option in suggestions for misspelled words
Change-Id: I031f17a76b4a81ae375b778046b8c391f9b8b2b2
2011-09-02 09:04:26 -07:00
Gilles Debunne
8a16f92270 Merge "Using ListView for Suggestion popup window" 2011-09-01 11:42:23 -07:00
Fabrice Di Meglio
be566b488a Merge "Fix bug #5243493 TextView selection is not working correctly when there is some RTL run into it" 2011-08-31 14:14:11 -07:00
Fabrice Di Meglio
3716601573 Fix bug #5243493 TextView selection is not working correctly when there is some RTL run into it
- make the selection green highlight work

Change-Id: I4e3b88e3720288f973b1b9e68afa8f800ad13779
2011-08-31 13:56:37 -07:00
Gilles Debunne
0eea668151 Using ListView for Suggestion popup window
New background assets from Bug 5204807.
New text selection color and associated handles, bug 5217848.

Change-Id: I4eaea6be732843d8ff344400d029b4a1b80b084f
2011-08-31 11:18:52 -07:00
Gilles Debunne
b5305007a6 Merge "Add EditTextShortcutSpan to provide edit short cut in the text view." 2011-08-30 15:53:33 -07:00
Fabrice Di Meglio
c6f19da0ff Merge "Fix bug #5197549 android.text.cts.StaticLayoutTest#testGetEllipsisCount fails on IRK49E mysid-userdebug" 2011-08-30 13:42:34 -07:00
Luca Zanolin
e6d3682189 Add EditTextShortcutSpan to provide edit short cut in the text view.
At the moment, EditTextShortcutSpan allows only the deletion of the text. In the future, we may decide to add extra functionality,
like "retry" where all the text is removed and a specific IME is triggered.

Fix the underline. The underline is not defined in thickness, and not as a multiplier of the default underline thickness.

Change the behaviour of SuggestionRangeSpan to match the specification.

Change-Id: I80437d9887c7a2ff8f62c38afbb0cb7add7ee9c8
2011-08-30 18:04:34 +01:00
Fabrice Di Meglio
aef455fd5b Fix bug #5197549 android.text.cts.StaticLayoutTest#testGetEllipsisCount fails on IRK49E mysid-userdebug
- make the ellipsizing condition easier to read
- allow ellipsizing only and only if
	- not MARQUEE
	- single line
	- END only on the last visible line when multiple lines

Change-Id: I6b08e4a735ebc4875a208f0538d9cf937240316e
2011-08-29 16:07:05 -07:00
Gilles Debunne
474cac1c21 Merge "Suggestions popup window is dismissed on tap outside." 2011-08-29 12:58:36 -07:00
Romain Guy
94d5e9ad65 Italic should be italic and bold should be bold.
Change-Id: I68933a7d7c32951c4d52d945baaedcb2583caef4
2011-08-29 11:12:19 -07:00
Fabrice Di Meglio
d32f27aec0 Merge "Fix bug #5199577 TextView with android:password="true" is showing the "dots" on the left even if the password chars are RTL" 2011-08-26 14:05:09 -07:00
Fabrice Di Meglio
7810b5f8cf Fix bug #5199577 TextView with android:password="true" is showing the "dots" on the left even if the password chars are RTL
- force TextView to LOCALE text heuristic when in "password" mode
- remove TEXT_LAYOUT_DIRECTION_UNKNOWN_DO_NOT_USE
- LocaleUtils.getLayoutDirectionFromLocale() returns "LTR" is locale is NULL or ROOT

Change-Id: I182c46aaf2d73c8b18967fffa230bfabec91ed06
2011-08-25 18:43:37 -07:00
Gilles Debunne
28294cc744 Suggestions popup window is dismissed on tap outside.
But now the tap is not handled at all, as it was before. To do this, the popup window
is now focusable. As a result, the TextView's window loses focus. We hide the
cursor to prevent a non-blinking visible cursor. We should also fake the
state of the parent TextView to keep it visually focussed.

SuggestionRangeSpan and SpellCheckSpan had to made Parcelable since they are recreatedi
when the TextView is re-created when the popup is dismissed.

Change-Id: Ic99b2c4f02c282394f214938dd19168547af4886
2011-08-25 11:45:09 -07:00
Gilles Debunne
6435a56a8c Spell checking in TextViews
New UX interactions (the Paste action is no longer displayed after a delay)
suggestionEnabled flag replaced by existing input type flag.
removeSpans fixed in SpannableStringBuilder to always send notifications
SuggestionSpan handled by TextView instead of SpannableStringBuilder

New span update algorithm to correctly handle edition around word boundaries.

Change-Id: I52c01172f19e595fa512e285a565a3fd97c3c50e
2011-08-23 13:13:54 -07:00
Fabrice Di Meglio
c2d256b415 Merge "Improve TextDirection resolution" 2011-08-22 16:24:43 -07:00
Fabrice Di Meglio
a646145c33 Improve TextDirection resolution
- remove unuseful heuristics
- tune Javadoc

Change-Id: Id72a158b3a17a528423d278b1cbfd95b8c2951b5
2011-08-19 16:19:37 -07:00
Jeff Sharkey
1666dc6041 Merge "Combine list of CharSequence with delimeter." 2011-08-17 18:12:07 -07:00
Fabrice Di Meglio
3de510313a Merge "Fix bug #5175022 Easy mode in MeasuredText.setPara() is no more used" 2011-08-17 17:30:46 -07:00
Fabrice Di Meglio
4b60c30838 Fix bug #5175022 Easy mode in MeasuredText.setPara() is no more used
- use the real TextDirectionHeuristics constants
- make more formal that LayoutDirection should be resolved BEFORE TextDirection
- reset TextDirection if LayoutDirection is recomputed
- remove non used TextDirectionHeuristic.isRtl(CharSequence...)

Change-Id: I1d53a7e3ee324cfd27785bb4d715d93de8d9ff4d
2011-08-17 17:15:12 -07:00
Jeff Sharkey
fa4d7754ed Combine list of CharSequence with delimeter.
Change-Id: I7d86b89a84f6d91e5441c8af63310b37f16974fc
2011-08-17 15:49:30 -07:00
Gilles Debunne
4cee03a85f Merge "Change the behavior of SuggestionSpan." 2011-08-16 13:23:25 -07:00
Luca Zanolin
7d1c55fad8 Change the behavior of SuggestionSpan.
SuggestionSpan can be accessed in two different ways:

- by tapping on the text (easy access)
- by tapping on "replace" pop-up (not easy and difficult to discover)

The "easy access" will be used for dictionary suggestions and voice recognition suggestions.

The suggestion span can be rendered into two different way:

- default, text is underlined in blue
- spelling error, text is underlined in red

Change-Id: I0af0fe6700d0ad588facb21c021dc6f59ef172f1
2011-08-16 10:42:45 -07:00
Fabrice Di Meglio
8059e0903e Fix bug #3388534 Long file names are improperly displayed when played
- force ellipsising when there are more lines found than maxLines
- do not care about lines when we have reached maxLines
- also fix relayouting when changing maxLines thru setMaxLines()
- do not allow START / MIDDLE ellipsis when there are multiple lines
(and print a log accordingly)

Change-Id: I90f5a7f5200a220aceee01fb7300bec2c4c3a075
2011-08-15 13:18:34 -07:00
Amith Yamasani
b724c346e1 Revert "Use a weakreference to prevent the static variable from holding an Activity."
Bug was fixed in a different way.

This reverts commit 352c01e213.
2011-08-13 07:43:07 -07:00
Amith Yamasani
352c01e213 Use a weakreference to prevent the static variable from holding an Activity.
Bug: 5057764

Change-Id: If734e3ef4928b21a5e31e0ad50c97da287c3c116
2011-08-12 14:40:43 -07:00
Gilles Debunne
dd8f5ed79c Added support for colored / thick underlined text.
Change-Id: Ib0e259dd20546855899bf091f694e41e7051fecb
2011-08-11 13:31:00 -07:00
Fabrice Di Meglio
3aa7bf7330 Merge "Fix bug #5017432 NPE when mixing different spans with different font sizes" 2011-08-09 18:35:20 -07:00
Fabrice Di Meglio
b8503eb8ac Fix bug #5017432 NPE when mixing different spans with different font sizes
- fixed typo

Change-Id: I282f8bf2a72117709666e1ffc9ec8e8b5583d321
2011-08-09 18:18:27 -07:00
Fabrice Di Meglio
61ccc6a203 Merge changes I46744e51,I1f566cce
* changes:
  Solidify and optimize Paint text related APIs
  Add more optimizations for Text measuring / breaking / getting advances
2011-08-09 13:54:43 -07:00
Fabrice Di Meglio
98d29b44f7 Merge "Follow up to TextView's baseline is correctly computed for empty text" 2011-08-08 14:47:02 -07:00
Fabrice Di Meglio
15c097a1c2 Add more optimizations for Text measuring / breaking / getting advances
- do not go to native if this is not needed (empty or null text)
- do expandMetricsFromPaint() in TextLine when needed instead of calling handleText()
with emty string just for doing expandMetricsFromPaint()

Change-Id: I1f566ccef66cbc990ebbb77ef149899119e37e84
2011-08-08 14:42:41 -07:00
Fabrice Di Meglio
9c89d5dc82 Revert "Fix bug #5114358 If writing Numbers with Hebrew & Arabic keyboard, they appear as LTR"
This reverts commit 6850c7aff5

The referenced bug was actually not a bug. It was working as intended.
2011-08-08 12:17:03 -07:00
Fabrice Di Meglio
850dffa01b Follow up to TextView's baseline is correctly computed for empty text
Was bug http://code.google.com/p/android/issues/detail?id=15598

- optimize https://android-git.corp.google.com/g/#/c/107901/1

Change-Id: I20abd82a97adc71f04a5afba54eb679f708236f8
2011-08-08 09:45:09 -07:00
Fabrice Di Meglio
6850c7aff5 Fix bug #5114358 If writing Numbers with Hebrew & Arabic keyboard, they appear as LTR
- add missing case for Arabic numbers

Change-Id: I7efe8172efee410eaafddec4a1465c1aa93a125b
2011-08-03 19:13:34 -07:00
Romain Guy
e5ea4403ce Plug memory leak in EditText.
Change-Id: I0b42c23ceeaa958d02255945c35ff6807c177114
2011-08-01 14:01:37 -07:00