Commit Graph

190 Commits

Author SHA1 Message Date
Chet Haase
673e42fafd Fix for end events from Sequencer objects
Change-Id: I8947d8b016b880f9f54f2bf6ab22b4e188cdb29a
2010-08-25 17:32:27 -07:00
Gilles Debunne
925f2f9096 resolved conflicts for merge of 9765b2a0 to master
Change-Id: Ic37a443fff0425e9d7c8395f71665d56c38d7e53
2010-08-24 15:14:12 -07:00
Kenny Root
8db59adccf resolved conflicts for merge of b037da40 to master
Change-Id: I591f80f613870a4b1557f17d1c8574f661ed8121
2010-08-24 11:48:37 -07:00
Gilles Debunne
9765b2a01d am 2703a42d: When an EditText gains focus by tapping, move the insertion point where tapped.
Merge commit '2703a42d16af0e62da1bba02b6c935d98debf936' into gingerbread-plus-aosp

* commit '2703a42d16af0e62da1bba02b6c935d98debf936':
  When an EditText gains focus by tapping, move the insertion point where tapped.
2010-08-24 10:30:09 -07:00
Gilles Debunne
2703a42d16 When an EditText gains focus by tapping, move the insertion point where tapped.
The previous behavior was to move cursor at the end of the first line,
which feels weird.

Change-Id: I5a72f9871ed79ee2c521698ea642ba126537f4f9
2010-08-24 10:18:31 -07:00
Gilles Debunne
b037da401a am 3e05a0be: Hysteresis effect in Text selection.
Merge commit '3e05a0beb2fad0b21558019d2adf6805da70e10e' into gingerbread-plus-aosp

* commit '3e05a0beb2fad0b21558019d2adf6805da70e10e':
  Hysteresis effect in Text selection.
2010-08-23 15:26:51 -07:00
Gilles Debunne
3e05a0beb2 Hysteresis effect in Text selection.
Vertical movement requires going over a given threshold to change line.
Makes it easier to move down without changing line, so that one can see the
cursor better. Also simplifies long line selection.

Change-Id: I791da500232c6e510af64c637ed994c5da9a4fea
2010-08-23 15:20:53 -07:00
Gilles Debunne
a842d143d2 am d018a0ce: Merge "Text selection without trackball." into gingerbread
Merge commit 'd018a0ce72124f668d859b19fe3e73f5637d3c7c' into gingerbread-plus-aosp

* commit 'd018a0ce72124f668d859b19fe3e73f5637d3c7c':
  Text selection without trackball.
2010-08-19 18:01:20 -07:00
Gilles Debunne
b0d6ba1ec4 Text selection without trackball.
Backported from HC.

Squashed commit of the following:

commit af214a595c7a9fdd11a2dc384f7d4665abf751c0
    Fixes in TextView's selection.

commit eb9fd59ebe6500a66c2003d46b5802299970ae8d
    TextView with Selection Contextual Mode

commit 4c4c338ef355b369ce4b57d6c6fba7ee8f9dddf4
    Cosmetic changes around TextView.

commit d4b4b054e87480d984ad18766f5e76553e3080d8
    Double and one and a half tap removed from TextView.

commit 897c2847ba1fca8ef01eadadd1bc3de007af3ee5
    Selection handlers in TextView

commit 832be74a5394649e28927484d9a86c6d53b430e7
    New cursor controller in TextViews.

Change-Id: I01cc64736e2abea605317ee53907a1713617fc17
2010-08-19 15:55:02 -07:00
Romain Guy
c4d8eb6fb7 Speedup TextView fades (no more layers required.)
Also fixes a crash in the drop shadows cache and improves
drop shadows caching.

Change-Id: I9c0208a49467f9201d786ae0c129194b8d423923
2010-08-18 20:48:33 -07:00
Eric Fischer
74d31ef2b2 Fix a bug where paragraph styles could leak onto an adjacent empty line.
When the text ends with an empty line, the getSpans() call to retrieve
styles for it would also retrieve the styles of the preceding line.
Add a special case to detect and prevent this.

Change-Id: I888131cacce6bf45e68c53c931ebe8d58db0b7a9
2010-08-05 15:29:36 -07:00
Dianne Hackborn
9f53119b72 First pass at a new clipboard API.
ClipboardManager was in android.text(!!) so it needed to be moved
up to android.content to have access to the richer data types we
now need.

ClippedData is the data representation.  Still needs a lot of
fleshing out to allow holding more than one data type at a time
and perhaps conversions between them.  (MIME-oriented interrogation
and conversion will be done through ContentProvider, which needs
to grow an ability to report multiple MIME types and accept a
desired MIME type when a stream is being opened.)

Change-Id: Ifa51bedcd084a677813b255d171804e8496b0cb5
2010-08-05 12:28:20 -07:00
Gilles Debunne
8bfc798dc2 Merge "Cosmetic changes around TextView." 2010-07-13 15:58:43 -07:00
Gilles Debunne
d11f6e6460 Double and one and a half tap removed from TextView.
Text selection is now triggered by a long press. This behavior should be shared
across applications and is already implemented in the browser.

New UI guidelines say that double tap should be used for zooming only.

Change-Id: I9fae692cf3f6e565350f666fa3d5a86884439349
2010-07-13 15:10:08 -07:00
Gilles Debunne
2d0e87b644 Cosmetic changes around TextView.
Fixed some warnings in the code.

Change-Id: Id19395031a1ab41edcc47e3dc8cd9479c6e19f83
2010-07-13 15:07:39 -07:00
Gilles Debunne
05336274dd Selection handlers in TextView
Long press on text view triggers selection mode. Two handles can be used to
adjust selection.

Change-Id: I45bb5fd62cae910570cff34920e45c4383160179
2010-07-12 18:45:40 -07:00
The Android Open Source Project
2f42aa54b4 am 6fb70b5a: merge from open-source master
Merge commit '6fb70b5a9f41f198ee4bc1ed3efeca6f8ccdc5d9'

* commit '6fb70b5a9f41f198ee4bc1ed3efeca6f8ccdc5d9':
  Documentation Bug (Issue 9557)
2010-07-12 15:24:45 -07:00
Gilles Debunne
cc3ec6cdb2 New cursor controller in TextViews.
Editable TextView now display a cursor controller under the insertion
point so that it can be precisely moved.

Change-Id: Ia2e6ddc57d249647ff6683e10e4226db3df27223
2010-07-09 16:20:21 -07:00
Christian Mehlmauer
0df10e9b4e Documentation Bug (Issue 9557)
There was an issue in the Time.toMillis example.
Also removed some whitespaces so the file
applies to the Android coding Styleguide

Change-Id: Ic1383e506b30ff181c6e14a12f675b52e5c8ccbc
2010-07-06 20:42:22 +02:00
Gilles Debunne
312cd58039 Fixed bug in getTextRunCursor.
When auto-correction is used, the text is modified to underline the corrected word, which
modifies mGapLength and mGapStart. The mGapLength shift was not properly handled in getTextRunCursor.

Bug 2807595

Change-Id: I43ee216f6780270e452aa9199ffd892fe7ab6c3f
2010-07-02 22:01:44 -07:00
The Android Open Source Project
74c95d4d41 am 8b0d5bc3: merge from froyo-plus-aosp
Merge commit '8b0d5bc3f858ae2b737ac654fa05c439344ad631'

* commit '8b0d5bc3f858ae2b737ac654fa05c439344ad631':
  Fixing counting the number of days in call log screen.
2010-06-25 14:22:25 -07:00
Kenny Root
24ca4545f3 Check for spanned before computing tab stops
Don't try to check for tab stop spans in non-Spanned text input.

Change-Id: I54d69c8e0246f5a38d0713a89b8b455a478285f0
2010-06-22 23:55:15 -07:00
The Android Open Source Project
f1f33c4eb2 merge from open-source master
Change-Id: If7ae0c5629d1b3c540cacfa517425c2e6b5822d1
2010-06-18 12:46:16 -07:00
Gilles Debunne
345cb03315 Index out of range problem in TextLine.
Recent refactoring for bidi introduced an index shift in the getOffsetBeforeAfter
method. This problem appears for multi-line text input only, when the text line
mStart index is not 0.

As a result, moving the cursor using the trackball in a multi-line EditText crashes.

Change-Id: I1f121f0f9272ef7d338399f369ba6d77e1ca71c5
2010-06-16 17:24:51 -07:00
Jean-Baptiste Queru
6b9a1a5124 Merge "Fixing counting the number of days in call log screen." 2010-06-15 15:11:34 -07:00
Doug Felt
0c702b88c5 Move shaping to native.
Add internal API (getTextRunAdvances) to Paint, use when measuring.
Add internal API (getTextRunCursor) to Paint, use when determining
valid cursor positions.

Remove java-level shaping code.  Remove 'prep' code in TextLine
(except for replacement text) since shaping now is done on the fly as
needed in native.

Provide explicit shaping context bounds to internal text measuring,
cursor movement, and rendering APIs.

Update for to changes in external API in ushape.h.

Change-Id: I146958b624802ce8553125e5c3c6c03031bc9608
2010-06-10 14:03:22 -07:00
Kenny Root
c4a1a927a8 Merge "Fix alignment issues with RTL paragraphs." 2010-06-03 18:26:55 -07:00
Doug Felt
c982f60e98 Fix alignment issues with RTL paragraphs.
Also remove unused debugging code that depends on junit.
Remove trailing whitespace in changed code.

Change-Id: Ie02d1b8220c599a672ee6e91af0fba634e0f620c
2010-06-03 13:33:00 -07:00
The Android Open Source Project
4f2cf8af55 am 913dbc50: am a9f06fef: am ee7e6a78: merge from open-source master 2010-06-03 09:12:40 -07:00
The Android Open Source Project
ee7e6a78e2 merge from open-source master
Change-Id: Idf8d5661d7b261b74ac0b1271af98795ac5faff9
2010-06-03 09:03:58 -07:00
Doug Felt
2324188751 Fix IndexOutOfBoundsException when measuring text.
Some line wrapping conditions caused the same style run to be measured
twice, incorrectly advancing the position in the width buffer and
occasionally causing measurement to run out of room.  The fix is to
not remeasure the same style run.

Change-Id: Iceb29729c1c27bb602df20fdf83af1da28c82e11
2010-06-02 14:41:06 -07:00
Kenny Root
e99c012503 Merge "Improved error-handling in Rfc822Tokenizer" 2010-06-01 22:56:39 -07:00
Kenny Root
8e98e35e8f am 50239de1: am ddbab4e1: am 6cc13745: am 94f1751c: Merge "Fix typo in EastAsianWidth javadoc" into froyo 2010-05-27 23:05:47 -07:00
Kenny Root
18b221af46 Fix typo in EastAsianWidth javadoc
The Javadoc had a missing close <code> tag and also failed to mention
the "start" parameter in the doc.

Change-Id: I861d6646e82e1d49f23a09de8b68a61f81689f83
2010-05-27 06:41:59 -07:00
Kenny Root
dfd550d44c Add @hide tag to fix SDK build
Previous Canvas changes missed a @hide tag, so droiddoc was complaining
about a missing method since that was also hidden.

Change-Id: Ib70a9fa2e20fe32b74ba901bb289e77583164004
2010-05-13 06:21:41 -07:00
Doug Felt
f47d7405bb Modify Canvas drawText to run bidi and shape.
Adds drawTextRun as internal API on Canvas and GraphicsOperations.
Adds implementation to implementors of GraphicsOperations.

Adds state and API on Paint to control the bidi algorithm when used
by Canvas.  This API is currently hidden.

The drawText changes are incomplete since shaping is not yet available
in the native code.

Change-Id: I4368048aef9545df0953a349381771603e04b619
2010-05-12 18:50:02 -07:00
Seth Pensack-Rinehart
b7332c714c Fix Javadoc typo for Spanned.SPAN_EXCLUSIVE_INCLUSIVE
Change-Id: I82d15bde9444beca83eb78349212125cae525a6e
2010-05-10 17:44:12 +09:00
Doug Felt
0b9d2ca6b6 Fix selection off-by-one bug.
The wrong value was used to measure the width of unidirectional text.

Change-Id: I57752c111641ca1cc951e0647b60c79f5a9493ad
2010-05-06 17:16:31 -07:00
Simon Schoar
06daf19f6c Added WEB_URL_PATTERN for Montenegro ".me"
Change-Id: If725c5ee08ed840ae8323fa18b1d82ef2a42db87
2010-05-05 18:20:48 -07:00
David Sobreira Marques
6a84af0949 Fixing counting the number of days in call log screen.
Counting the number of days in call log screen when a
call was made/received within a week is not correct.

Issue 3132: Call Log Reporting Wrong

Change-Id: I99c3cb40267b4b5938ccc4225993b7aac7e2d018
Signed-off-by: David Sobreira Marques <dpsmarques@gmail.com>
2010-05-01 18:35:18 -03:00
Doug Felt
e8e45f2c05 Refactor Styled utility functions into reusable objects.
This takes utility functions from Styled and a few other classes and
incorporates them into two new utility classes, TextLine and
MeasuredText.  The main point of this is to support shaping by skia,
to experiment with how this will look, this also introduces
character-based Arabic shaping.

MeasuredText is used by code that determines line breaks by generating
and examining character widths in logical order.  Factoring the code
in this way makes it usable by the ellipsize functions in TextUtils as
well as by StaticLayout.  This class takes over the caching of widths
and chars arrays that was previously performed by StyledText.  A small
number of MeasuredText objects are themselves cached by the class and
accesed using static obtain and recycle methods.  Generally only these
few cached instances are ever created.

TextLine is used by code that draws or measures text on a line.  This
unifies the line measuring and rendering code, and pushes assumptions
about how rtl text is treated closer to the points where skia code is
invoked.  TextLine implements the functions that were previously
provided by Styled, working on member arrays rather than
explicitly-passed arguments.  It implements the same kind of static
cache as MeasuredText.

TextLine and MeasureText simulate arabic glyph generation and shaping
by using ArabicShaping, ported with very minor changes from ICU4J's
ArabicShaping.  This class generates shaped Arabic glyphs and Lam-Alef
ligatures using Unicode presentation forms.  ArabicShaping is not
intended to be permanent, but to be replaced by real shaping from the
skia layer. It is introduced in order to emulate the behavior of real
shaping so that higher level code dealing with rendering shaped text
and cursor movement over ligatures can be developed and tested; it
also provides basic-level support for Arabic.

Since cursor movement depends on conjuncts whose formation is
font-dependent, cursor movement code that was formerly in Layout and
StaticLayout was moved into TextLine so that it can work on the shaped
text.

Other than these changes, the other major change is a rework of the
ellipsize utility functions to combine multiple branches into fewer
branches with additional state.

Updated copyright notices on new files.

Change-Id: I492cb58b51f5aaf6f14cb1419bdbed49eac5ba29
2010-04-07 14:54:51 -07:00
Devin Taylor
71ab21a02a Fix last character of password field being visible after rotation
This is a fix for http://code.google.com/p/android/issues/detail?id=907. Note that
that issue was declined without comment, but the bug (while incredibly minor)
does exist. This can be seen on the facebook app, as well as many third party apps.

Change-Id: I8f1449c47228f5f757a5baf389656e51c817b150
2010-04-06 13:25:19 -07:00
Kenny Root
e19a2184b2 am 6613ffb3: am 16197a24: am 0db37997: Merge "Revert to previous text selection behavior" into froyo 2010-04-05 15:10:58 -07:00
Kenny Root
16197a246f am 0db37997: Merge "Revert to previous text selection behavior" into froyo
Merge commit '0db37997366a4d781af48be758a9d90b6d07d7d5' into froyo-plus-aosp

* commit '0db37997366a4d781af48be758a9d90b6d07d7d5':
  Revert to previous text selection behavior
2010-04-05 14:59:44 -07:00
Kenny Root
8cdb684163 Revert to previous text selection behavior
There was a new behavior that starting "Select text" would allow you to
swipe from beginning to end and immediately copy that. This change
reverts to the previous behavior that "Select text" will start where
your cursor is currently and any tap will extend the selection from that
origin to the point of the tap.

Change-Id: Ib955cc8d62a652f518435953da2f54e810d9dfb0
2010-04-05 14:48:44 -07:00
Doug Felt
4e0c5e55e1 Don't measure for a secondary caret unless we have one.
Also, clean up imports and trailing whitespace.

Change-Id: I5ebaaceb756600a1ca7370ab3ef078ce200545ef
2010-03-31 14:57:41 -07:00
The Android Open Source Project
9bab8f115b am 4790259c: am 8de2cf4c: merge from open-source master 2010-03-31 14:23:19 -07:00
The Android Open Source Project
8de2cf4cce merge from open-source master
Change-Id: I627b3a7080e413f756d1751cdae88ec6642b02c4
2010-03-31 14:01:45 -07:00
Doug Felt
9f7a4442b8 Enable nested bidi levels in a paragraph.
Changes the internal representation of direction information in the Directions object to be a visually-ordered list of start/length+direction pairs instead of a list of directionality inversion offsets.

Rewrite Layout.getOffsetToLeft/RightOf to use run information instead of width metrics.

Remove java Bidi, use native.  Switch bidi tests to test native, expect levels instead of dirs.

Add test of directionality.  Leave in switch to turn new code off and restore previous behavior for now.

Change-Id: Iea8bb46c678a18820e237c90f76007a084c83051
2010-03-31 12:08:55 -07:00
Devin Taylor
8082d5d9eb Fix last character of password field being visible after rotation
This is a fix for http://code.google.com/p/android/issues/detail?id=907. Note that
that issue was declined without comment, but the bug (while incredibly minor)
does exist. This can be seen on the facebook app, as well as many third party apps.

Change-Id: I8f1449c47228f5f757a5baf389656e51c817b150
2010-03-26 10:25:08 -05:00