Commit Graph

1363 Commits

Author SHA1 Message Date
Deepanshu Gupta
38d1fdede3 am 9f4979bf: am c2a72054: am 5456230d: am 03b100e1: am 617e8097: Add missing delegate for AnimatorInflater.
* commit '9f4979bf1159e156a8bc0936474f3378a274d96e':
  Add missing delegate for AnimatorInflater.
2014-10-31 00:00:21 +00:00
Deepanshu Gupta
719b92f3c7 am a9f20a25: am 2df4ea46: am bf59e897: am de4ee0f1: am 75bf1b1c: Merge "Skip loading animations." into lmp-dev
* commit 'a9f20a25d2bd417a13c9ab56476c9b52cf1463b2':
  Skip loading animations.
2014-10-31 00:00:03 +00:00
Deepanshu Gupta
7d86136592 am b9bbcccb: am f82046b2: am 122ccfb0: am 916d7796: am c55eb170: Merge "Fix multiple styles case in resource resolution." into lmp-dev
* commit 'b9bbcccb5aaae55bcb0a7e14982fb06ae21f5d0c':
  Fix multiple styles case in resource resolution.
2014-10-30 23:59:59 +00:00
Deepanshu Gupta
95052e3bb0 am 73b1b5a6: am c5afeb2c: am 62cf56cf: am 6fb2fda8: am 92a52142: Merge "Use right theme for drawable inflation." into lmp-dev
* commit '73b1b5a69f8987228f7b84b236c15148560982b8':
  Use right theme for drawable inflation.
2014-10-30 23:59:54 +00:00
Deepanshu Gupta
9f4979bf11 am c2a72054: am 5456230d: am 03b100e1: am 617e8097: Add missing delegate for AnimatorInflater.
* commit 'c2a72054b158b318fdef54989e39e9220023d4a8':
  Add missing delegate for AnimatorInflater.
2014-10-30 23:43:26 +00:00
Deepanshu Gupta
a9f20a25d2 am 2df4ea46: am bf59e897: am de4ee0f1: am 75bf1b1c: Merge "Skip loading animations." into lmp-dev
* commit '2df4ea4601075b3b0ef3e87d67f7107cbaeb5de2':
  Skip loading animations.
2014-10-30 23:43:05 +00:00
Deepanshu Gupta
b9bbcccb5a am f82046b2: am 122ccfb0: am 916d7796: am c55eb170: Merge "Fix multiple styles case in resource resolution." into lmp-dev
* commit 'f82046b23367e844b43318d9cb73200750a042a5':
  Fix multiple styles case in resource resolution.
2014-10-30 23:42:59 +00:00
Deepanshu Gupta
73b1b5a69f am c5afeb2c: am 62cf56cf: am 6fb2fda8: am 92a52142: Merge "Use right theme for drawable inflation." into lmp-dev
* commit 'c5afeb2cbbbf762013306397507fa2059d3aaf13':
  Use right theme for drawable inflation.
2014-10-30 23:42:52 +00:00
Deepanshu Gupta
5456230d3b am 03b100e1: am 617e8097: Add missing delegate for AnimatorInflater.
* commit '03b100e11dad5bef34e71ccfd45b6c7adc9bfee4':
  Add missing delegate for AnimatorInflater.
2014-10-29 18:52:21 +00:00
Deepanshu Gupta
bf59e8974d am de4ee0f1: am 75bf1b1c: Merge "Skip loading animations." into lmp-dev
* commit 'de4ee0f1be350a52d642a447269a91f6d28e73fc':
  Skip loading animations.
2014-10-29 18:51:32 +00:00
Deepanshu Gupta
122ccfb08f am 916d7796: am c55eb170: Merge "Fix multiple styles case in resource resolution." into lmp-dev
* commit '916d779650352059b08b7257f71a7aab8b333eba':
  Fix multiple styles case in resource resolution.
2014-10-29 18:51:28 +00:00
Deepanshu Gupta
62cf56cf99 am 6fb2fda8: am 92a52142: Merge "Use right theme for drawable inflation." into lmp-dev
* commit '6fb2fda85c410e23a1b9366c025fe288447bf027':
  Use right theme for drawable inflation.
2014-10-29 18:51:23 +00:00
Deepanshu Gupta
617e809731 Add missing delegate for AnimatorInflater.
Change-Id: I96ef2b1085dadfae280df6740aebc10f57e3b949
2014-10-28 18:47:28 -07:00
Deepanshu Gupta
75bf1b1c6a Merge "Skip loading animations." into lmp-dev 2014-10-29 00:13:54 +00:00
Deepanshu Gupta
c55eb170cc Merge "Fix multiple styles case in resource resolution." into lmp-dev 2014-10-29 00:07:59 +00:00
Deepanshu Gupta
92a52142fd Merge "Use right theme for drawable inflation." into lmp-dev 2014-10-29 00:07:42 +00:00
Deepanshu Gupta
0b42936d86 Skip loading animations.
This is a temporary fix until Path.approximate() is supported.

Bug: http://b.android.com/77865
Change-Id: I28739e58f51fabaaf1dcc1c9be61cd0b17e84eec
2014-10-28 15:07:25 -07:00
Deepanshu Gupta
b6444c4309 Fix multiple styles case in resource resolution.
When multiple styles are applied to a theme, we only remembered the last
one. This change fixes the issue.

Change-Id: I46490e882edc3eabe522a641c83366234b5bb25d
2014-10-28 11:11:10 -07:00
Deepanshu Gupta
4a605c6fa0 Use right theme for drawable inflation.
The theme information was lost when inflating drawables. As a result,
drawables inflated in the ActionBar did not have the right tint.

Change-Id: I13d5c78039e35085ed4902289fcb735bb15d972e
2014-10-28 11:11:09 -07:00
Deepanshu Gupta
3886d8c7a0 am c719872b: am 22387d9d: am 01c80f15: am 37779f07: Merge "Check Bridge init before disposing." into lmp-dev automerge: 568f16c
* commit 'c719872b4e4eb9329eab4ce9f3976a44e142e141':
  Check Bridge init before disposing.
2014-10-22 21:26:58 +00:00
Deepanshu Gupta
c719872b4e am 22387d9d: am 01c80f15: am 37779f07: Merge "Check Bridge init before disposing." into lmp-dev automerge: 568f16c
* commit '22387d9d3529515e64dfc01e81f14fddb2da463c':
  Check Bridge init before disposing.
2014-10-22 21:19:36 +00:00
Deepanshu Gupta
01c80f155d am 37779f07: Merge "Check Bridge init before disposing." into lmp-dev automerge: 568f16c
* commit '37779f07496462afa4b5d88725e8a004a7e10bc0':
  Check Bridge init before disposing.
2014-10-22 20:47:37 +00:00
Deepanshu Gupta
eea621810c Merge "Add Optimized Line breaking to LayoutLib" 2014-10-21 22:44:38 +00:00
Deepanshu Gupta
7053919a3a Add Optimized Line breaking to LayoutLib
Change-Id: I308a7d07d98ddd7747f16e06bcffcfd14d667534
2014-10-21 15:43:53 -07:00
Deepanshu Gupta
b69ec7708b Check Bridge init before disposing.
In some cases ADT may dispose the Bridge even before init is called on
it. This caused an NPE. Fixed this by checking for the initialization
before disposing resources.

Bug: http://b.android.com/77726
Change-Id: I741d6ea3595a3b7cb816abd0417f23aecca6370e
2014-10-20 11:12:53 -07:00
Derek Sollenberger
f4242b107c Ensure that all requests for the Paint's nativePtr use p.getNativeInstance()
Since requesting the native pointer triggers specific paint behavior we need
to ensure that the field is private and that callers use the public method.

Change-Id: I598a8bf2904960023397728c1ce4502ce408348e
2014-10-17 08:22:46 -04:00
Deepanshu Gupta
7c5020db4f am d8497e45: am 0a61c7ee: am 985d59d7: am 908a4f9a: am 4f133894: Exclude KXmlParser from LayoutLib.
* commit 'd8497e45c72fbb27961d096499984906af19d35f':
  Exclude KXmlParser from LayoutLib.
2014-10-10 04:26:33 +00:00
Elliott Hughes
b913af5408 Track change to private libcore data structure.
Bug: 15476051

(cherry picked from commit d47acaeecd)

Change-Id: Iac79ce3602282a2780dd895995f42ab03f346ad4
2014-10-09 11:20:56 -07:00
Elliott Hughes
90e01b3b40 am b68fe9e5: am ae1b6805: Merge "Track change to private libcore data structure."
* commit 'b68fe9e5f355a3d13ed74cb89fb3e3818b356cee':
  Track change to private libcore data structure.
2014-10-09 18:20:23 +00:00
Elliott Hughes
b68fe9e5f3 am ae1b6805: Merge "Track change to private libcore data structure."
* commit 'ae1b6805a2609759186af8d7131c4750e011019a':
  Track change to private libcore data structure.
2014-10-09 18:13:54 +00:00
Elliott Hughes
d47acaeecd Track change to private libcore data structure.
Bug: 15476051
Change-Id: I4e28ecfa3a1d03c21f9bbde7f3daf79a79d96fe6
2014-10-08 16:07:33 -07:00
Deepanshu Gupta
908a4f9a43 am 4f133894: Exclude KXmlParser from LayoutLib.
* commit '4f133894a6e98d8d30557ea42cec92cfb21fa5c9':
  Exclude KXmlParser from LayoutLib.
2014-10-08 17:34:12 +00:00
Deepanshu Gupta
4f133894a6 Exclude KXmlParser from LayoutLib.
The class was incorrectly being included in the LayoutLib.

Change-Id: I3c86662efa068019fe9165f2fc49a00d0a1b7f2d
2014-10-08 10:12:11 -07:00
Deepanshu Gupta
11b14e3996 LayoutLib: Use ICU's line break algo. [DO NOT MERGE]
Change-Id: I7e5b0ab7423a72f5a4b0e1163d0a537f0b03ba07
(cherry picked from commit 760f6394d0f65fbb5365186e8e068d53c506b653)
2014-10-08 02:05:05 +00:00
Deepanshu Gupta
fe54f8a496 am 09714a76: am 82e28181: am c62da8a0: am c74a2b34: Merge "Minor style changes." into lmp-dev
* commit '09714a76a9463f5e18ea8ac91ba040f6fd2235fd':
  Minor style changes.
2014-10-03 21:52:46 +00:00
Deepanshu Gupta
3c8140ab4b Minor style changes.
Addressing code review comments on previous change: 171804201d

Change-Id: I2c9e0ce35e755c23d8292749828d15a87109d6dc
2014-10-02 11:45:07 -07:00
Deepanshu Gupta
e4ef95bfe0 am 2e67a882: am 92c40bbd: am 8989290b: am 7b13c4d8: Merge "Always resolve enum when resolving resources." into lmp-dev
* commit '2e67a88214fa93a325a84a4b8e6ae122544c8edb':
  Always resolve enum when resolving resources.
2014-10-02 13:38:54 +00:00
Neil Fuller
c2a0b4482d resolved conflicts for merge of ee665151 to lmp-mr1-dev-plus-aosp
Change-Id: I2588c65b7a9fa43f968151a206924a804f0595a7
2014-10-02 14:32:37 +01:00
Neil Fuller
ee665151a4 am 0c1faf43: Merge "Switch from FloatMath -> Math and Math.hypot where possible"
* commit '0c1faf43aecadc37b78c4ad6cb669eb351d21385':
  Switch from FloatMath -> Math and Math.hypot where possible
2014-10-02 10:18:29 +00:00
Deepanshu Gupta
409bd3d774 Resource resolution bug fix. [DO NOT MERGE]
Fix a bug where "?attr/foo" in framework resources wasn't resolved
properly.

Change-Id: I9a56974f526774fde79685f668f01021136d68f1
(cherry picked from commit 19c7842082d831ad432abe906f4c37c6ed08e414)
2014-10-01 12:45:26 -07:00
Deepanshu Gupta
fea51feb5c Fix Tests after cherry picks. [DO NOT MERGE]
1. Updated the intelliJ run configuration for the layoutlib_create tool.
2. Updated the code to search for the platform.dir.
3. Update tests to use AppTheme and Target SDK 19

Change-Id: I6f1cc6ff2a53e4474c746537029c7f89c6dd6dc1
(cherry picked from commit 8592eeafd01370d1a17e34602290becf7f611c75)
2014-10-01 12:44:24 -07:00
Deepanshu Gupta
98a03e771e Update intelliJ copyright profile [DO NOT MERGE]
Change-Id: Ib9386b686cb24e1f187d0b636b59b4b13d59bbcd
(cherry picked from commit 91fa62ac67a5e294124b5bfb70b35addc7687c34)
2014-10-01 12:44:14 -07:00
Deepanshu Gupta
039d5849ea Build layoutlib create tests as part of sdk build. [DO NOT MERGE]
LayoutLib Create tests are now built whenever LayoutLib create is built.

Change-Id: Id215e8690e435019579dba1734090a0d585f37e1
(cherry picked from commit 4efe6264f1251fa200427f54ea6f5dd4c4d03665)
2014-10-01 12:44:05 -07:00
Deepanshu Gupta
6fb5fdc233 Add layoutlib tests to DIST_DIR [DO NOT MERGE]
Add the layoutlib and layoutlib-create tests to DIST_DIR for sdk
targets. These can be used for continuous testing on the build server.

Change-Id: I747dddcddfd8009937668bec4d75cb99bf63235f
(cherry picked from commit f9c749c9901c459f77ffc6f4fbbc15f4142c6e0a)
2014-10-01 12:43:52 -07:00
Deepanshu Gupta
bd4133133a Build layoutlib_create tests. [DO NOT MERGE]
Change-Id: Ia13a090f8ec29b2b2a107825b6a13d7db77e6d61
(cherry picked from commit 2294f939bc79ce902a40db37def64cc28394d56b)
2014-10-01 12:43:43 -07:00
Deepanshu Gupta
3f0e467a06 Remove ANDROID_BUILD_TOP from intelliJ path variables. [DO NOT MERGE]
The variable is not actually needed and it makes working with different
API levels a lot easier since everything now depends on $PROJECT_DIR$.

This change also makes the tests more robust by improving the way it
tries to find the SDK.

Change-Id: I3502ad4a0ba85fd88b497e47964fddb2a89e520c
(cherry picked from commit 5377695d4ecf3cc6dc1abe59bbfca63f6137b722)
2014-10-01 12:43:32 -07:00
Deepanshu Gupta
2f3715aaaa Get filename from File faster [DO NOT MERGE]
Use the direct call from a File object to get the filename instead of
going through Path which depends on Java 7 making the LayoutLib tests
incompatible with Java 6.

Change-Id: I815895eedbc10245ee09bdb53b11e5548b076aad
(cherry picked from commit 7dbf91fee96790fbeb9858740be1bb375f29ecb5)
2014-10-01 12:43:19 -07:00
Deepanshu Gupta
b6a37d897a Add testing framework to LayoutLib. [DO NOT MERGE]
This change adds an end to end test which loads the framework resources
and a test app and ensures that no exceptions or warnings are thrown.

The change also adds project configuration for intelliJ.

Change-Id: I7b67c0f1a2af2dac95df7f3231cab537b9826d7d
(cherry picked from commit a8e9517470869fa29946ae1fa1ceeb24c7970391)
2014-10-01 12:43:11 -07:00
Deepanshu Gupta
23f09423cb Add tests to the layoutlib eclipse project. [DO NOT MERGE]
Specify the test folder in the layoutlib/bridge eclipse project.

Also add the sourcepath for layoutlib-api-prebuilt.jar

Change-Id: I194ed182618e564388d6df645e2de7f59897fa1e
(cherry picked from commit 36acf8baeb)
2014-10-01 12:42:49 -07:00
Neil Fuller
33253a4baa Switch from FloatMath -> Math and Math.hypot where possible
The motivation is an API change: FloatMath is going to be
deprecated and/or removed. Performance is not the goal of
this change.

That said...

Math is faster than FloatMath with AOT compilation.

While making the change, occurances of:

{Float}Math.sqrt(x * x + y * y) and
{Float}Math.sqrt({Float}Math.pow(x, 2) + {Float}Math.pow(y, 2))

have been replaced with:

{(float)} Math.hypot(x, y)

Right now there is no runtime intrinsic for hypot so is not faster
in all cases for AOT compilation:

Math.sqrt(x * x + y * y) is faster than Math.hypot(x, y) with
AOT, but all other combinations of FloatMath, use of pow() etc.
are slower than hypot().

hypot() has the advantage of being self documenting and
could be optimized in future. None of the behavior differences
around NaN and rounding appear to be important for the cases
looked at: they all assume results and arguments are in range
and usually the results are cast to float.

Different implementations measured on hammerhead / L:

AOT compiled:

[FloatMath.hypot(x, y)]
benchmark=Hypot_FloatMathHypot} 633.85 ns; σ=0.32 ns @ 3 trials

[FloatMath.sqrt(x*x + y*y)]
benchmark=Hypot_FloatMathSqrtMult} 684.17 ns; σ=4.83 ns @ 3 trials

[FloatMath.sqrt(FloatMath.pow(x, 2) + FloatMath.pow(y, 2))]
benchmark=Hypot_FloatMathSqrtPow} 1270.65 ns; σ=12.20 ns @ 6 trials

[(float) Math.hypot(x, y)]
benchmark=Hypot_MathHypot} 96.80 ns; σ=0.05 ns @ 3 trials

[(float) Math.sqrt(x*x + y*y)]
benchmark=Hypot_MathSqrtMult} 23.97 ns; σ=0.01 ns @ 3 trials

[(float) Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2))]
benchmark=Hypot_MathSqrtPow} 156.19 ns; σ=0.12 ns @ 3 trials

Interpreter:

benchmark=Hypot_FloatMathHypot} 1180.54 ns; σ=5.13 ns @ 3 trials
benchmark=Hypot_FloatMathSqrtMult} 1121.05 ns; σ=3.80 ns @ 3 trials
benchmark=Hypot_FloatMathSqrtPow} 3327.14 ns; σ=7.33 ns @ 3 trials
benchmark=Hypot_MathHypot} 856.57 ns; σ=1.41 ns @ 3 trials
benchmark=Hypot_MathSqrtMult} 1028.92 ns; σ=9.11 ns @ 3 trials
benchmark=Hypot_MathSqrtPow} 2539.47 ns; σ=24.44 ns @ 3 trials

Bug: https://code.google.com/p/android/issues/detail?id=36199
Change-Id: I06c91f682095e627cb547d60d936ef87941be692
2014-10-01 14:04:15 +01:00