Commit Graph

22 Commits

Author SHA1 Message Date
Deepanshu Gupta
476e582d2f LayoutLib: Change nullity annotations.
Switch from using tools nullity annotations (com.android.annotations)
to android framework annotations (android.annotation).

A new sdk-common prebuilt is required for LayoutLib tests. The new
sdk-common requires an updated tools-common. The updated tools-common
doesn't have nullity annotations. So, instead of adding the annotation
dependency, just reuse the platform ones. This also paves the way to
include other platform annotations like IdRes etc.

Change-Id: I87b8f767d3681d914abe7d1329e26a87f49f50a7
2015-05-22 17:57:29 -07:00
Deepanshu Gupta
719c9b93f1 Fix line breaking.
Essentially moves line breaking measurement later in the process when
character widths have already been computed.

Change-Id: I17c5bc10d373d8906c5caf86604ce8504650cd7f
2015-05-20 16:51:22 -07:00
Deepanshu Gupta
88b92541be Use Balanced line breaker instead of HighQuality.
Fallback to the Balanced line breaker till the time HighQuality one is
implemented.

Change-Id: I51e9882c5c733e5409f932ef740684829340ced9
2015-05-13 20:53:14 -07:00
Deepanshu Gupta
d77b9ed7dc Add missing delegates for M preview.
- Remove ICU dependency (use the version bundled with platform).
- Restructure intelliJ project to move dependencies to module.
- Minor fixes to layoutlib tests.

TODO:
- Load ICU data.
- Hyphenator doesn't work.
- High quality line breaker not present.

Change-Id: I965e096e17bfc97ee995a649c3f4f6f64bb4f70d
2015-05-13 18:15:20 -07:00
Raph Levien
26d443aee4 Revert "Fix build: Revert "Record hyphens from Minikin and draw them""
This reverts commit 5a6eeb3cbe and
fixes the underlying issue (needed to @hide getHyphen() for subclasses
of Layout, not just the base class), and layoutlib changes for
checkbuild.

Change-Id: I7a2b5f20ae014ea8e224d8c4079cf9131e17e1c1
2015-03-30 15:13:50 -07:00
Diego Perez
6386b8dae7 More layoutlib delegate native methods to do text rendering.
Moving some more methods to measure the text and compute the line
breaks.
The missing methods were causing crashes when running layoutlib from
master.

Change-Id: I910e1509836186fcff5cdd40c1dc38466b44c434
2015-03-26 14:39:12 +00:00
Diego Perez
fe12aa7774 Add support for the new native Builder class on StaticLayout.
This patch updates StaticLayout_Delegate to support the new Builder
class introduced in ag/646289.

Change-Id: I9f8c528b8751ce69482e33ac6f1bc42406a0b606
2015-03-10 13:51:01 +00:00
Deepanshu Gupta
96cdef7b75 am f0da92bf: am 169c11dd: Merge "Add missing DateFormat method." into lmp-mr1-dev automerge: 33b2de7
* commit 'f0da92bfda9a7b393cac87436173c1284c7d48be':
  Add missing DateFormat method.
2015-01-08 01:54:08 +00:00
Deepanshu Gupta
6aede34e24 Add missing DateFormat method.
Change-Id: Ia03023e65ef4a7ec90b61f1f538cbe74868c63c5
2015-01-07 12:26:31 -08:00
Deepanshu Gupta
b95475404e resolved conflicts for merge of 20db8770 to master
Change-Id: Ifffcf8e2741ec242d940c3ba81244d4df57642fc
2015-01-06 16:41:58 -08:00
Deepanshu Gupta
10bb1371dc Add preferences rendering.
NO_SQ: Depends on updating layoutlib-api-prebuilt.jar
Change-Id: Iae93ab74c478e6f2158e1528467bec9ee2d7ee9b
2014-12-23 12:04:30 -08:00
Deepanshu Gupta
1f4bafef12 am 940a1e56: am 52a60ff6: am 302a7cc1: am 4628d51a: am 141c7614: Merge "Fix AnalogClock rendering" into lmp-dev
* commit '940a1e563fd94f912a7322cea8f0a5662b79050f':
  Fix AnalogClock rendering
2014-12-04 21:56:12 +00:00
Deepanshu Gupta
17a6170c62 Fix AnalogClock rendering
1. Change calls to java.lang.System.log* since they don't exist on the
host.
2. Clean up method rewrite mechanism in ReplaceMethodCallsAdapter.
3. Stub out creation of uninitialized GregorianCalendar.
4. Memory map the time zone data base file and provide a custom
implementation of BufferIterator for use by ZoneInfoDB
5. Delete unused Time_Delegate

Also fixed a comment in BridgeAssetManager and an error message in
FontFamily_Delegate.

Bug: http://b.android.com/79160
Change-Id: Iae5ef65678f0e6c7c5af520c45bd15980ce3fa55
2014-11-26 12:03:39 +00:00
Deepanshu Gupta
7053919a3a Add Optimized Line breaking to LayoutLib
Change-Id: I308a7d07d98ddd7747f16e06bcffcfd14d667534
2014-10-21 15:43:53 -07:00
Deepanshu Gupta
45aab0eb8f LayoutLib: Use ICU's line break algo.
Change-Id: I7e5b0ab7423a72f5a4b0e1163d0a537f0b03ba07
2014-08-05 21:12:16 +00:00
Deepanshu Gupta
1840e8f2c7 Fix Delegates
Change-Id: I2b6a6b679b7a5b2532b76b723155bc2763b70768
2014-08-04 23:00:43 +00:00
Deepanshu Gupta
84d1d431cf Update text rendering delegates.
The flags for RTL and LTR are simplified in commit
0a1d91862a3822dcbbb412bcd6d69b0f5f079f8b. This change follows up the
same in LayoutLib.

This also fixes the following bug which incorrectly computed runs with
'en-dash' (\u20132) as RTL.

Bug: http://b.android.com/69432
Change-Id: Iaed62d13ce31f107773576ed2ef412be6037cd04
2014-07-01 12:23:59 -07:00
Deepanshu Gupta
eb3c5459eb Add methods for Time_Delegate
Bug: http://b.android.com/65359
Change-Id: I7c2d09286d6bcd9899444aaa5a4a5a342e39d923
2014-01-31 19:24:06 -08:00
Deepanshu Gupta
083e3caf66 Fix CalendarView to show the right month and year label.
Change-Id: I95431f1054678d4192bd1621c1f69b29268f55e9
2013-10-16 15:09:52 -07:00
Deepanshu Gupta
0d9c922c96 Fix text rendering
There are still some errors
1. Little vertical clippping for extra tall glyphs.
2. Breaking into scripts isn't perfect which results in incorrect layout
of text.

Change-Id: I54de3c05eca5e8affb1135c120eea24c3afe8a47
2013-09-05 10:58:10 -07:00
Xavier Ducrohet
47a021f764 Fix DateFormat for layoutlib.
Change-Id: I389c9d106b93b9f81dd3614398a5b66ba2b39a70
2013-02-12 14:05:32 -08:00
Xavier Ducrohet
af64556de0 Layoutlib: misc fix + start of AndroidBidi support.
Change-Id: If2ce0b683da8cce01679322d503eed8dd474e521
2011-07-19 15:10:23 -07:00