Commit Graph

152 Commits

Author SHA1 Message Date
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
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
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
Eric Fischer
ec8b102190 Add documentation for LeadingMarginSpan2.
Bug 2420334

Change-Id: Ica42cc34a938a5ec529da16804d1f0e6fddcc249
2010-03-12 15:35:41 -08:00
Kenny Root
15a4d2ffd0 Add correct copyright headers to multiple files
Format for the list of changes shows the origin commit reference followed
by the file name.

33931-p9 awt/org/apache/harmony/awt/gl/font/AndroidGlyphVector.java
33931-p9 awt/org/apache/harmony/awt/gl/image/PngDecoderJava.java
133776-p9 core/java/android/app/IntentService.java
127013-p9 core/java/android/appwidget/AppWidgetHost.java
27863-p9 core/java/android/bluetooth/BluetoothAudioGateway.java
60765-p9 core/java/android/content/SyncResult.java
43920-p9 core/java/android/content/pm/ActivityInfo.java
43920-p9 core/java/android/content/pm/ApplicationInfo.java
43920-p9 core/java/android/content/pm/InstrumentationInfo.java
43920-p9 core/java/android/content/pm/PackageInfo.java
44103-p9 core/java/android/content/pm/PackageItemInfo.java
68960-p9 core/java/android/content/pm/PackageStats.java
43920-p9 core/java/android/content/pm/ResolveInfo.java
43920-p9 core/java/android/content/pm/ServiceInfo.java
60641-p9 core/java/android/content/res/Configuration.java
60734-p9 core/java/android/content/res/TypedArray.java
137672-p9 core/java/android/inputmethodservice/ExtractButton.java
123112-p9 core/java/android/inputmethodservice/ExtractEditText.java
119291-p9 core/java/android/inputmethodservice/IInputMethodSessionWrapper.java
112946-p9 core/java/android/inputmethodservice/IInputMethodWrapper.java
115078-p9 core/java/android/os/BatteryStats.java
124790-p9 core/java/android/text/style/UpdateAppearance.java
45083-p9 core/java/android/view/RawInputEvent.java
101491-p9 core/java/android/view/inputmethod/EditorInfo.java
114701-p9 core/java/android/view/inputmethod/ExtractedText.java
123112-p9 core/java/android/view/inputmethod/ExtractedTextRequest.java
119291-p9 core/java/com/android/internal/os/HandlerCaller.java
129279-p9 core/java/com/android/internal/os/PkgUsageStats.java
114701-p9 core/java/com/android/internal/view/IInputConnectionWrapper.java
114701-p9 core/java/com/android/internal/view/InputConnectionWrapper.java
84364-p9 opengl/java/android/opengl/EGLLogWrapper.java
11355-p9 opengl/tools/glgen/src/CFunc.java
11355-p9 opengl/tools/glgen/src/CType.java
11355-p9 opengl/tools/glgen/src/CodeEmitter.java
11355-p9 opengl/tools/glgen/src/GenerateGL.java
11355-p9 opengl/tools/glgen/src/JFunc.java
11355-p9 opengl/tools/glgen/src/JType.java
11355-p9 opengl/tools/glgen/src/JniCodeEmitter.java
11355-p9 opengl/tools/glgen/src/ParameterChecker.java
57236-p9 services/java/com/android/server/status/AnimatedImageView.java
66754-p9 services/java/com/android/server/status/CloseDragHandle.java
57188-p9 services/java/com/android/server/status/DateView.java
46928-p9 services/java/com/android/server/status/ExpandedView.java
70590-p9 services/java/com/android/server/status/FixedSizeDrawable.java
45968-p9 services/java/com/android/server/status/IconData.java
57470-p9 services/java/com/android/server/status/IconMerger.java
82719-p9 services/java/com/android/server/status/LatestItemView.java
45968-p9 services/java/com/android/server/status/NotificationData.java
66754-p9 services/java/com/android/server/status/NotificationLinearLayout.java
57458-p9 services/java/com/android/server/status/NotificationViewList.java
45968-p9 services/java/com/android/server/status/StatusBarException.java
45968-p9 services/java/com/android/server/status/StatusBarIcon.java
46130-p9 services/java/com/android/server/status/StatusBarNotification.java
45968-p9 services/java/com/android/server/status/StatusBarView.java
46199-p9 services/java/com/android/server/status/Ticker.java
62286-p9 services/java/com/android/server/status/TickerView.java
57188-p9 services/java/com/android/server/status/TrackingView.java
86041-p9 telephony/java/android/telephony/PhoneStateListener.java
87020-p9 telephony/java/com/android/internal/telephony/TelephonyIntents.java
136269-p9 telephony/java/com/android/internal/telephony/gsm/SpnOverride.java
34409-p9 tests/FrameworkTest/src/com/android/frameworktest/FrameworkTestApplication.java
55717-p9 tests/FrameworkTest/src/com/android/frameworktest/performance/InvalidateCycle.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityLandscape.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/AutoCompleteTextViewActivityPortrait.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollablePanScan.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityNonScrollableResize.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollablePanScan.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/BigEditTextActivityScrollableResize.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/BottomEditTextActivityResize.java
127341-p9 tests/ImfTest/src/com/android/imftest/samples/ButtonActivity.java
129347-p9 tests/ImfTest/src/com/android/imftest/samples/DialogActivity.java
129372-p9 tests/ImfTest/src/com/android/imftest/samples/EditTextActivityDialog.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityNoScrollPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollPanScan.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/ManyEditTextActivityScrollResize.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivityNotSelected.java
128994-p9 tests/ImfTest/src/com/android/imftest/samples/OneEditTextActivitySelected.java
25959-p9 tests/framework-tests/src/android/test/FrameworkTests.java
46162-p9 tests/framework-tests/src/com/android/internal/http/multipart/MultipartTest.java
77101-p9 tools/layoutlib/bridge/tests/com/android/layoutlib/bridge/NinePatchTest.java
9788976b14 core/java/android/accounts/AuthenticatorDescription.java
5333288354 core/java/android/app/UiModeManager.java
93e7e22ec9 core/java/android/app/FullBackupAgent.java
328c0e7986 core/java/android/content/CursorEntityIterator.java
307da1a46b core/java/android/content/SyncQueue.java
307da1a46b core/java/android/content/SyncOperation.java
eb034652c2 core/java/android/content/pm/LabeledIntent.java
49237345d8 core/java/android/content/pm/FeatureInfo.java
a2b6c3775e core/java/android/content/pm/PackageInfoLite.java
3ecd5f4375 core/java/android/content/pm/RegisteredServicesCacheListener.java
5ebbb4a6b3 core/java/android/content/pm/XmlSerializerAndParser.java
c4516a7b62 core/java/android/database/sqlite/SQLiteTransactionListener.java
9bbc21a773 core/java/com/android/internal/backup/LocalTransport.java
21f1bd17b2 core/java/com/android/internal/content/PackageMonitor.java
4c62fc0e1e core/java/com/android/internal/view/BaseSurfaceHolder.java
4c62fc0e1e core/java/com/android/internal/view/BaseIWindow.java
e540833fdf core/java/com/android/internal/os/SamplingProfilerIntegration.java
192ab90388 core/tests/coretests/src/android/widget/expandablelistview/PositionTesterContextMenuListener.java
1619367ab8 media/tests/MediaFrameworkTest/src/com/android/mediaframeworktest/MediaProfileReader.java
27f8002e59 opengl/tools/glgen/stubs/gles11/glGetString.java
560814f6b1 opengl/tools/glgen/stubs/gles11/glGetProgramInfoLog.java
560814f6b1 opengl/tools/glgen/stubs/gles11/glGetShaderInfoLog.java
560814f6b1 opengl/tools/glgen/stubs/gles11/glShaderSource.java
1c4907ee77 opengl/tools/glgen/src/GenerateGLES.java
1c4907ee77 opengl/tools/glgen/src/Jsr239CodeEmitter.java
1c4907ee77 opengl/tools/glgen/src/GLESCodeEmitter.java
69e21f5f6e opengl/tests/gldual/src/com/android/gldual/TriangleRenderer.java
c028be4f3b packages/DefaultContainerService/src/com/android/defcontainer/DefaultContainerService.java
7c6efa13f1 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerMeasurement.java
7c6efa13f1 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestActivity.java
7c6efa13f1 tests/BrowserPowerTest/src/com/android/browserpowertest/PowerTestRunner.java
df8a3f31d8 tests/BrowserTestPlugin/src/com/android/testplugin/TestPlugin.java
cfaef699e1 tests/permission/src/com/android/framework/permission/tests/ActivityManagerPermissionTests.java
cfaef699e1 tests/permission/src/com/android/framework/permission/tests/ServiceManagerPermissionTests.java
cfaef699e1 tests/permission/src/com/android/framework/permission/tests/WindowManagerPermissionTests.java

Copyright header moved to top in following file:

core/tests/coretests/src/android/widget/ListViewTest.java

Change-Id: I3c3198be5a0ba36e18679ed834170432bf0b8418
2010-03-11 18:22:10 -08:00
Eric Fischer
26779e7e82 Merge "Don't break lines in the middle of a smiley or other graphic replacement." 2010-03-10 17:59:48 -08:00
Erik
191bbafacc Merge "Noticed comment field when splitting guests wasn't being cleared." 2010-03-10 16:29:44 -08:00
Eric Fischer
de61f78340 Don't break lines in the middle of a smiley or other graphic replacement.
The code that was supposed to keep this from happening was not being
executed when the text was all ASCII.

Bug 1899722

Change-Id: Ifc97a4423d6136e19abbc4c82eb36ac0216ce415
2010-03-10 14:51:09 -08:00
Ken Shirriff
0ef3eeec40 Merge "Remove DateException and obsolete DateUtils functions." 2010-03-01 22:46:07 -08:00
Ken Shirriff
a53bbe4033 Remove DateException and obsolete DateUtils functions.
These functions are deprecated and no longer used.
2010-03-01 14:21:13 -08:00
Mark Wagner
60919953ce check offset and don't crash 2010-03-01 09:28:29 -08:00
Eric Fischer
277903f8d8 Merge "Add support for accessing native bidi implementation via jni." 2010-02-25 12:18:55 -08:00
Dianne Hackborn
2269d1572e Re-arrange android-common so framework no longer links with it.
This is the framework part, moving classes around so the framework
no longer needs to link to android-common.  Makes some APIs public,
others that didn't need to be public are private in the framework,
some small things are copied.
2010-02-25 11:39:33 -08:00
Doug Felt
dae8e94cce Add support for accessing native bidi implementation via jni.
Include a simple test to verify that the bidi code works.
2010-02-24 18:20:54 -08:00
Erik
99c7dea754 Noticed comment field when splitting guests wasn't being cleared.
The address field was being cleared twice instead of address and comment being cleared.
2010-02-24 15:57:46 -08:00
Doug Felt
20178d62cf Factor bidi algorithm into separate method.
Add rudimentary support for overriding default base line direction heuristic.
Add some simple tests of the bidi implementation.
2010-02-24 11:21:46 -08:00
Doug Felt
1065758a0f Fix rounding of extra spacing when it is negative. 2010-02-22 14:14:57 -08:00
Kenny Root
7951eaa92a Change Javadocs to fix SDK build
Remove some hidden reference and update links to other classes and
methods.

Change-Id: I4b6561f1bac07329d75da13f72496aa7d5b20a62
2010-02-17 14:00:55 -08:00
Kenny Root
574ecc8ed9 Merge "Add better index checks for AndroidCharacter.mirror" 2010-02-17 13:24:37 -08:00
Eric Fischer
f7c569897c Merge "Enhance text docs, rename some variables for clarity, comment places in the code for further investigation." 2010-02-17 10:37:29 -08:00
Kenny Root
073a3d56ea Add better index checks for AndroidCharacter.mirror
Fix potential invalid array access if start index is before the
beginning of the array or start + count is past the end of the array.
Update Javadoc for mirror to reflect the usage of "start" and "count".

Change-Id: I7e596de8eae5c518a2b4ff0d28604bd9c59f9d9d
2010-02-17 08:46:04 -08:00
Doug Felt
71b8dd71e4 Enhance text docs, rename some variables for clarity, comment places in the code
for further investigation.
2010-02-16 17:27:09 -08:00
Kenny Root
bb9a51768d Add API to access ICU's East Asian Width
Currently there is no way for an application built against the API to
access East Asian Width data from ICU. This adds an API for applications
to use to access it for correct drawing of international characters.

Change-Id: Iab50698ee555ae2ca8ab4b242cc14aa6e0dc3b48
2010-02-16 15:05:02 -08:00
Eric Fischer
a877c03442 Keep Rfc822Tokenizer from crashing when the string ends with a backslash.
Bug 2442537
2010-02-16 14:34:32 -08:00
Michael Chan
a969dc4ea4 Unhiding Rfc822Tokenizer.tokenize(CharSequence text, Collection<Rfc822Token> out)
Note that Rfc822Tokenizer.tokenize(CharSequence text) is already in the SDK
and it just wraps the version I am unhiding.

Change-Id: I1ac3b405a04df960fc1e65ca4797d6f5adf85dc4
2010-02-04 14:51:28 -08:00
Fred Quintana
30d203050e allow + in usernames 2010-01-14 14:57:20 -08:00
Maryam Garrett
62c4ad3b6b Enable onepointfivetap-and-swipe to select.
The goal of this new feature is to enable users to select
text without having to go through the cumbersome context
menu.  Now users can simply execute a
onepointfivetap-and-swipe gesture to select text.
Onepointfivetap is similar to doubletap gesture (where a
finger goes down, up, down, up, in a short time period),
except in the onepointfive tap, a users finger only needs
to go down, up, down in a short time period.

I don't think this change should cause any waves, because
this interaction is consistent with the select interaction
using  a computer-mouse and computer-screen, and i've
checked and it seems to be implemented on other touch-based
phones as well.

Change-Id: Iba84f7316a647e963ba7c57ca608bfdc3bb438b8
2010-01-06 13:55:07 -05:00
Tom Taylor
ad2fa35d88 am d4a4729c: Update imports to android-common
Merge commit 'd4a4729c0cac582a2dcec7c8cfb316b81885a0f0' into eclair-mr2-plus-aosp

* commit 'd4a4729c0cac582a2dcec7c8cfb316b81885a0f0':
  Update imports to android-common
2009-12-21 15:44:34 -08:00
Tom Taylor
d4a4729c0c Update imports to android-common
Several files were moved to android-common. Update all the references
to import those files from the new location.
2009-12-21 13:59:18 -08:00
Maryam Garrett
50fbfe65bb am 39f0efba: Fixes context-menu trigger behavior after scroll in TextView
Merge commit '39f0efba92a4420f77e3abc53c367ea3cacde3cf' into eclair-mr2-plus-aosp

* commit '39f0efba92a4420f77e3abc53c367ea3cacde3cf':
  Fixes context-menu trigger behavior after scroll in TextView
2009-12-14 15:26:33 -08:00
Maryam Garrett
39f0efba92 Fixes context-menu trigger behavior after scroll in TextView
This change fixes the context menu trigger behavior while
the user is selecting via touch. How if a user is selecting
text via dragging their finger, to trigger the context menu
they will have to lift their finger up, then issue a
longpress. This is consistent with the behavior of selecting
via the trackball.
2009-12-14 14:42:25 -05:00
Paul Westbrook
15d3bb2ce6 am 7762d936: Unbundling work
Merge commit '7762d93621f508f4410fd37b5bbdfec0071b0420' into eclair-mr2-plus-aosp

* commit '7762d93621f508f4410fd37b5bbdfec0071b0420':
  Unbundling work
2009-12-14 10:10:20 -08:00
Paul Westbrook
7762d93621 Unbundling work
Moved AndroidHttpClient, Rfc822InputFilter, Rfc822Validator
NumberPicker, NumberPickerButton to android-common
---
2009-12-14 09:24:09 -08:00
Maryam Garrett
fe9b503e57 am 946bfa49: Merge change Ida4d6ab0 into eclair-mr2
Merge commit '946bfa490a4df62bfb48e8017c329b052e3e905e' into eclair-mr2-plus-aosp

* commit '946bfa490a4df62bfb48e8017c329b052e3e905e':
  Allows users to scroll while in select mode.
2009-12-11 06:27:21 -08:00
Maryam Garrett
ab9289320f Allows users to scroll while in select mode.
This change allows the user to select-n-scroll. While a user
is in select mode, and they try to scroll, the textbox will
scroll in the direction of the selection, and expand the selection.
2009-12-10 16:00:32 -05:00
Maryam Garrett
44e537a859 am 7c427030: Merge change I9088d29b into eclair-mr2
Merge commit '7c42703082574638ecaa88ea18b0cc94bfabea2d' into eclair-mr2-plus-aosp

* commit '7c42703082574638ecaa88ea18b0cc94bfabea2d':
  Improves the touch-based text selection UI in text boxes.
2009-12-07 07:17:26 -08:00
Android (Google) Code Review
7c42703082 Merge change I9088d29b into eclair-mr2
* changes:
  Improves the touch-based text selection UI in text boxes.
2009-12-07 07:14:41 -08:00
Daisuke Miyakawa
0f6357d855 am 67d9aa15: Merge change I6173d7c7 into eclair-mr2
Merge commit '67d9aa15b6c6217a7d3b7b017924af132d048e56' into eclair-mr2-plus-aosp

* commit '67d9aa15b6c6217a7d3b7b017924af132d048e56':
  Add isPrintableAscii() and isPrintableAsciiOnly() to TextUtils.java as hidden methods, and make vCard code use them.
2009-12-03 16:40:50 -08:00
Maryam Garrett
ce08379e22 Improves the touch-based text selection UI in text boxes.
With this change, when a user is in "text select" mode, they
can swipe any part of the text. This changes the behavior of
the touch-based select in 2 ways (behavior for cursor-based
select remains the same):

1. You can now indicate where your select will start. Before
this change, the select always started at the last cursor
position.

2. Selection will respect word boundaries. Before this
change the selection would be character to character. Since
users don't have a fine grain level of control over touch
events, this would often lead to incomplete selections.
2009-12-03 14:20:53 -05:00
Daisuke Miyakawa
973afa96bf Add isPrintableAscii() and isPrintableAsciiOnly() to TextUtils.java as hidden methods, and make vCard code use them.
In the future, ContactsProvider will use those methods.
See also the change 34604

Internal issue number: 2275764, 2195990
2009-12-03 15:45:19 +09:00