Commit Graph

8402 Commits

Author SHA1 Message Date
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
Ray Chen
f974b84b54 am e4b62c23: am 84d12f3f: am dbad286c: am 25c2dd60: Merge "Per requested by API council, rename MediaScannerConneciton.ScanResultListener to .OnScanCompletedListener http://2553871" into froyo 2010-04-07 13:52:52 -07:00
Dianne Hackborn
b4d32b5657 am c24a1498: am 7aed1e14: am d66e2b23: am 4e7cacd3: Merge "Maybe fix issue #2568615: System server crashed in SyncStorageEngine" into froyo 2010-04-07 13:52:46 -07:00
Ray Chen
84d12f3fe7 am dbad286c: am 25c2dd60: Merge "Per requested by API council, rename MediaScannerConneciton.ScanResultListener to .OnScanCompletedListener http://2553871" into froyo
Merge commit 'dbad286c4640ab7d2244695c5b175ebd1b6fcbab' into kraken

* commit 'dbad286c4640ab7d2244695c5b175ebd1b6fcbab':
  Per requested by API council, rename MediaScannerConneciton.ScanResultListener to .OnScanCompletedListener
2010-04-07 12:14:49 -07:00
Ray Chen
dbad286c46 am 25c2dd60: Merge "Per requested by API council, rename MediaScannerConneciton.ScanResultListener to .OnScanCompletedListener http://2553871" into froyo
Merge commit '25c2dd60d43298c18b9459abd6ff33046d675fe6' into froyo-plus-aosp

* commit '25c2dd60d43298c18b9459abd6ff33046d675fe6':
  Per requested by API council, rename MediaScannerConneciton.ScanResultListener to .OnScanCompletedListener
2010-04-07 12:09:42 -07:00
Ray Chen
25c2dd60d4 Merge "Per requested by API council, rename MediaScannerConneciton.ScanResultListener to .OnScanCompletedListener http://2553871" into froyo 2010-04-07 12:05:58 -07:00
Dianne Hackborn
7aed1e14b5 am d66e2b23: am 4e7cacd3: Merge "Maybe fix issue #2568615: System server crashed in SyncStorageEngine" into froyo
Merge commit 'd66e2b23a5c6b4b2b6586015c1a6951b4d6d1bfa' into kraken

* commit 'd66e2b23a5c6b4b2b6586015c1a6951b4d6d1bfa':
  Maybe fix issue #2568615: System server crashed in SyncStorageEngine
2010-04-07 11:58:21 -07:00
Dianne Hackborn
d66e2b23a5 am 4e7cacd3: Merge "Maybe fix issue #2568615: System server crashed in SyncStorageEngine" into froyo
Merge commit '4e7cacd3e44bd222a7892113336caff571a9983a' into froyo-plus-aosp

* commit '4e7cacd3e44bd222a7892113336caff571a9983a':
  Maybe fix issue #2568615: System server crashed in SyncStorageEngine
2010-04-07 11:52:21 -07:00
Dianne Hackborn
4e80820ab5 Maybe fix issue #2568615: System server crashed in SyncStorageEngine
Ack, we were acquiring the wrong lock at some points when
accessing the data structure!

Change-Id: I8bbc8e1ffa2e3e8a94bf7625e3d7f020c458eea2
2010-04-07 11:14:15 -07:00
Romain Guy
1d5c03ffa0 am dddcd6e1: am 388fe1b0: am 2a9ec986: am 7b70f658: Search for focusable views only after layout has happened when the window is first created. Bug #2565564 2010-04-07 10:43:43 -07:00
Romain Guy
388fe1b040 am 2a9ec986: am 7b70f658: Search for focusable views only after layout has happened when the window is first created. Bug #2565564
Merge commit '2a9ec9869ee0fb8112426f85a85dffd966a2fa97' into kraken

* commit '2a9ec9869ee0fb8112426f85a85dffd966a2fa97':
  Search for focusable views only after layout has happened when the window is first created.
2010-04-07 10:36:28 -07:00
Romain Guy
2a9ec9869e am 7b70f658: Search for focusable views only after layout has happened when the window is first created. Bug #2565564
Merge commit '7b70f6589205dec10afdb358b7ddef7aa61b7dd8' into froyo-plus-aosp

* commit '7b70f6589205dec10afdb358b7ddef7aa61b7dd8':
  Search for focusable views only after layout has happened when the window is first created.
2010-04-07 10:32:34 -07:00
Leon Scroggins
23d9972218 am 1fa4428b: am 84d2d10d: am efaee761: am 083c715d: Merge "Show the microphone when the search box is opened from browser" into froyo 2010-04-07 10:21:51 -07:00
Romain Guy
7b70f65892 Search for focusable views only after layout has happened when the window is first created.
Bug #2565564

Change-Id: I9eb58bbcba873ac1d6dc0b60b0de99e0e9979398
2010-04-07 10:15:18 -07:00
Ray Chen
b7c8c76180 Per requested by API council, rename MediaScannerConneciton.ScanResultListener to .OnScanCompletedListener
http://2553871

Change-Id: I293b8138a2c23ea107b634da014902f838966c0e
2010-04-07 10:14:04 -07:00
Leon Scroggins
84d2d10d36 am efaee761: am 083c715d: Merge "Show the microphone when the search box is opened from browser" into froyo
Merge commit 'efaee761022305d74e63237d87809582514bd5e2' into kraken

* commit 'efaee761022305d74e63237d87809582514bd5e2':
  Show the microphone when the search box is opened from browser
2010-04-07 10:13:28 -07:00
Leon Scroggins
efaee76102 am 083c715d: Merge "Show the microphone when the search box is opened from browser" into froyo
Merge commit '083c715d06a99951429b38c62484f8c3caf43cd1' into froyo-plus-aosp

* commit '083c715d06a99951429b38c62484f8c3caf43cd1':
  Show the microphone when the search box is opened from browser
2010-04-07 10:09:06 -07:00
Leon Scroggins
083c715d06 Merge "Show the microphone when the search box is opened from browser" into froyo 2010-04-07 10:04:50 -07:00
Adam Powell
57f65e04fd am 203cd5e0: am 85a650fe: am c696b0df: am eb3d47e4: Merge "Fix bug 2574860 - fix AbsListView.trackMotionScroll edge detection" into froyo 2010-04-07 10:01:53 -07:00
Adam Powell
85a650fedf am c696b0df: am eb3d47e4: Merge "Fix bug 2574860 - fix AbsListView.trackMotionScroll edge detection" into froyo
Merge commit 'c696b0df1e41f7cbd09c034e47570e6510d5a2e3' into kraken

* commit 'c696b0df1e41f7cbd09c034e47570e6510d5a2e3':
  Fix bug 2574860 - fix AbsListView.trackMotionScroll edge detection
2010-04-07 09:54:32 -07:00
Adam Powell
c696b0df1e am eb3d47e4: Merge "Fix bug 2574860 - fix AbsListView.trackMotionScroll edge detection" into froyo
Merge commit 'eb3d47e43ac971b7d965db9a53ca92db2ce47d77' into froyo-plus-aosp

* commit 'eb3d47e43ac971b7d965db9a53ca92db2ce47d77':
  Fix bug 2574860 - fix AbsListView.trackMotionScroll edge detection
2010-04-07 09:51:48 -07:00
Adam Powell
eb3d47e43a Merge "Fix bug 2574860 - fix AbsListView.trackMotionScroll edge detection" into froyo 2010-04-07 09:48:48 -07:00
Leon Scroggins
e7501c17e6 Show the microphone when the search box is opened from browser
Fix for http://b/issue?id=2549036

Also required moving the call to updateWidgetState to after the
update of mUserQuery so mUserQuery could be used as a comparison.

Change-Id: I4996f09c02751a6d74e8f517669025e4bdd709d8
2010-04-07 12:22:01 -04:00
Daniel Sandler
bbfc02e861 am 03e96acb: am aea1443b: am 93720cad: am c957ebef: Merge "Add more WindowManager flags to ViewDebug." into froyo 2010-04-07 06:52:35 -07:00
Daniel Sandler
aea1443b0d am 93720cad: am c957ebef: Merge "Add more WindowManager flags to ViewDebug." into froyo
Merge commit '93720cad0c2905e7d0a80aee154684396d8b0ed1' into kraken

* commit '93720cad0c2905e7d0a80aee154684396d8b0ed1':
  Add more WindowManager flags to ViewDebug.
2010-04-07 06:48:07 -07:00
Daniel Sandler
93720cad0c am c957ebef: Merge "Add more WindowManager flags to ViewDebug." into froyo
Merge commit 'c957ebef9755d15f92c27d690641995587c0ba2f' into froyo-plus-aosp

* commit 'c957ebef9755d15f92c27d690641995587c0ba2f':
  Add more WindowManager flags to ViewDebug.
2010-04-07 06:44:04 -07:00
Daniel Sandler
c957ebef97 Merge "Add more WindowManager flags to ViewDebug." into froyo 2010-04-07 06:40:26 -07:00
Daisuke Miyakawa
921e5f725f Modify comments.
Bug: 2576594
Change-Id: I7d38bd4c738befddeb4e7ce14ac84032fb764d9d
2010-04-07 19:36:34 +09:00
Daisuke Miyakawa
9fb4ace5f3 Merge "Add FLAG_REPRAIN_PHONE_NUMBER_FORMATTING." 2010-04-07 01:40:43 -07:00
Daisuke Miyakawa
ea08c40cba Add FLAG_REPRAIN_PHONE_NUMBER_FORMATTING.
Bug: 2329952
Change-Id: I263f581c8146abc372a2cb287e6e61766fefd9b6
2010-04-07 17:32:01 +09:00
Wu-cheng Li
f09b8a7f7b am e624acc4: am 1bab46c6: am 14111d14: am cae57d62: Fix SDK build. 2010-04-06 23:53:27 -07:00
Dan Egnor
ba3ce9fa9e am 7f903d3e: am 7da9fc2f: am aa94842c: am 9807d6a5: Merge "Comment-only change to clarify the role and use of IntentService" into froyo 2010-04-06 23:48:07 -07:00
Wu-cheng Li
1bab46c648 am 14111d14: am cae57d62: Fix SDK build.
Merge commit '14111d1444ad5f5f5beb914e51eed32cfaab75cf' into kraken

* commit '14111d1444ad5f5f5beb914e51eed32cfaab75cf':
  Fix SDK build.
2010-04-06 23:12:29 -07:00
Wu-cheng Li
14111d1444 am cae57d62: Fix SDK build.
Merge commit 'cae57d6205a8ebc8599ff89629307ecb8cabb3b8' into froyo-plus-aosp

* commit 'cae57d6205a8ebc8599ff89629307ecb8cabb3b8':
  Fix SDK build.
2010-04-06 23:08:51 -07:00
Wu-cheng Li
cae57d6205 Fix SDK build.
Change-Id: I2d816f8e765678fa1dc07c1f50cef51026e66a10
2010-04-07 13:54:49 +08:00
Dan Egnor
7da9fc2f4f am aa94842c: am 9807d6a5: Merge "Comment-only change to clarify the role and use of IntentService" into froyo
Merge commit 'aa94842c1ad16298e27adf07701bf0bb792e0a51' into kraken

* commit 'aa94842c1ad16298e27adf07701bf0bb792e0a51':
  Comment-only change to clarify the role and use of IntentService
2010-04-06 22:06:48 -07:00
Dan Egnor
aa94842c1a am 9807d6a5: Merge "Comment-only change to clarify the role and use of IntentService" into froyo
Merge commit '9807d6a5b7d27f438d0bd30389c5930e3fe389d8' into froyo-plus-aosp

* commit '9807d6a5b7d27f438d0bd30389c5930e3fe389d8':
  Comment-only change to clarify the role and use of IntentService
2010-04-06 22:03:04 -07:00
Dan Egnor
9807d6a5b7 Merge "Comment-only change to clarify the role and use of IntentService" into froyo 2010-04-06 20:50:25 -07:00
Adam Powell
91f234fe4d Fix bug 2574860 - fix AbsListView.trackMotionScroll edge detection
Change-Id: I0fc6d2b8547ab56937eeb5ef3438003a06b966ec
2010-04-06 19:35:32 -07:00
Dan Egnor
6e3d9884e4 Comment-only change to clarify the role and use of IntentService
Change-Id: I0adb26daccc8d1559f96892cc31694fbf6ab4583
2010-04-06 19:19:43 -07:00
Kenny Root
f1b256f519 Merge "Fix last character of password field being visible after rotation" into froyo 2010-04-06 14:33:24 -07:00
Daniel Lehmann
04867ab7c6 am ba3147d1: am 140d040b: am d8b9b511: Merge "Pass cookie to TOKEN_CONTACT_INFO so that QuickContact without photo works again Bug:2572239" into froyo 2010-04-06 14:28:37 -07:00
Daniel Lehmann
ba3147d157 am 140d040b: am d8b9b511: Merge "Pass cookie to TOKEN_CONTACT_INFO so that QuickContact without photo works again Bug:2572239" into froyo
Merge commit '140d040b6a5d2dc01e999e6f7b69863c71b2272b' into kraken

* commit '140d040b6a5d2dc01e999e6f7b69863c71b2272b':
  Pass cookie to TOKEN_CONTACT_INFO so that QuickContact without photo works again
2010-04-06 14:17:57 -07:00
Daniel Lehmann
140d040b6a am d8b9b511: Merge "Pass cookie to TOKEN_CONTACT_INFO so that QuickContact without photo works again Bug:2572239" into froyo
Merge commit 'd8b9b511821a06d86b3ffaab0d71ee9ce3834678' into froyo-plus-aosp

* commit 'd8b9b511821a06d86b3ffaab0d71ee9ce3834678':
  Pass cookie to TOKEN_CONTACT_INFO so that QuickContact without photo works again
2010-04-06 14:14:21 -07:00
Daniel Lehmann
d8b9b51182 Merge "Pass cookie to TOKEN_CONTACT_INFO so that QuickContact without photo works again Bug:2572239" into froyo 2010-04-06 14:10:04 -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
Romain Guy
b8d980227e am d00edffb: am 92b46ffb: am bd4808dc: Merge "Correctly resize dialogs when measured in WRAP_CONTENT Bug #2549649" into froyo 2010-04-06 12:52:24 -07:00
Romain Guy
d00edffbae am 92b46ffb: am bd4808dc: Merge "Correctly resize dialogs when measured in WRAP_CONTENT Bug #2549649" into froyo
Merge commit '92b46ffb2c0c9f2bf6700f7004b26bf952bce1ae' into kraken

* commit '92b46ffb2c0c9f2bf6700f7004b26bf952bce1ae':
  Correctly resize dialogs when measured in WRAP_CONTENT
2010-04-06 12:43:16 -07:00
Romain Guy
92b46ffb2c am bd4808dc: Merge "Correctly resize dialogs when measured in WRAP_CONTENT Bug #2549649" into froyo
Merge commit 'bd4808dccf8cd3e5d8e96e667fa435a6c68e0f7c' into froyo-plus-aosp

* commit 'bd4808dccf8cd3e5d8e96e667fa435a6c68e0f7c':
  Correctly resize dialogs when measured in WRAP_CONTENT
2010-04-06 12:38:33 -07:00
Romain Guy
2e4f426bbc Correctly resize dialogs when measured in WRAP_CONTENT
Bug #2549649

If the window had a different size than its content but the content had already
been measured with the appropriate size, the window would not be resized. This
happens in wrap_content windows (dialogs.) This change simply adds a new codition
to window resizing: if the window is wrap_content, not as big as it can be and
not as big as its content, it gets resized.

Change-Id: I1d82d03af5a15c9ad8dffa0511d5f6d522578285
2010-04-06 11:07:52 -07:00