Commit Graph

1366 Commits

Author SHA1 Message Date
Deepanshu Gupta
ca67a24929 am bb600de6: am 74147527: am 8505c387: Special case AppCompat to show action bar.
* commit 'bb600de6e7c5c7a0a1d4b872d2ee100ccc353213':
  Special case AppCompat to show action bar.
2015-01-10 03:51:05 +00:00
Deepanshu Gupta
bb600de6e7 am 74147527: am 8505c387: Special case AppCompat to show action bar.
* commit '74147527357b9abd9d30b3a2dbd72a5172a35625':
  Special case AppCompat to show action bar.
2015-01-10 02:16:44 +00:00
Deepanshu Gupta
dbd64f7c90 Support Locale.toLanguageTag on Java 6
Change-Id: I255e79e2c288cd24b350b7c26128bbbb0b2cb9a3
(cherry picked from commit 5cd9dde5a2)
2015-01-09 17:43:12 -08:00
Deepanshu Gupta
51fb7754fc LayoutLib: Fix System.arraycopy()
Framework has specialized versions of java.lang.System.arraycopy() for
all primitive data types. These versions are not present on the Desktop
VM. This change replaces calls to any of the specialized versions with
the more general alternative - the one using Objects.

Note that this was already being done for char.

Change-Id: If1584125fea8ecc080fb39a5ee6cdb4d922d0c98
(cherry picked from commit e1960cc0b5)
2015-01-09 17:03:54 -08:00
Deepanshu Gupta
8505c3870a Special case AppCompat to show action bar.
Bug: http://b.android.com/78944
Change-Id: I02d68d592d812016744716f99376cfefd519b21b
2015-01-10 00:29:52 +00:00
Deepanshu Gupta
d657b14927 Fix tests on jenkins, take 2.
Change-Id: I67386c34a7abd7c3afdf9f0768f36f4786399be0
2015-01-07 11:22:22 -08:00
Deepanshu Gupta
48603a39d4 Fix tests on jenkins
When the tests are run on the build server, they are run from the jar,
as opposed to the extracted build, which is default when run from an
IDE. Thus, when class.getResourceAsStream() is called with ".." in the
path, it is not resolved properly. This change explicitly resolves the
relative path, so that the test is run properly on the server.

Change-Id: Ib5fabd617dca4052220e5173a8bf4fb4234254ff
2015-01-06 17:32:26 -08:00
Deepanshu Gupta
58df125bbc Add image comparison to LayoutLib tests.
The LayoutLib rendering tests now compares the rendered image with a
golden file from a previous execution. This will help catch any
unexpected changes in the final rendering.

Change-Id: I80251a778e89df7d7ec13863a8f299967f3d747d
2015-01-05 11:32:41 -08:00
Deepanshu Gupta
4022272a4f Remove Time from CreateInfo
Time_Delegate was removed in change with Change-Id:
Iae5ef65678f0e6c7c5af520c45bd15980ce3fa55. But the name wasn't removed
from CreateInfo. This didn't cause any problems at runtime, but caused
the layoutlib_create tests to fail.

Change-Id: I079b1e024b97d389eb07d4f088fd860efbb02eb3
2015-01-02 13:55:20 -08:00
Deepanshu Gupta
eae390a94e Add DatePicker, CalendarView to LayoutLib tests
Change-Id: Ice8c41ff90ccb0ffe90fcbfcccc91ea24225a3d9
2015-01-02 11:20:19 -08:00
Deepanshu Gupta
e64a5bd2fb Fix DatePicker rendering.
1. Return AccessibilityManager service from context.
2. Don't throw an exception if no style specifited in
obtainStyledAttributes. Specifying no style is valid and it's supposed
to use the default theme in that case.

Bug: http://b.android.com/82712 and http://b.android.com/79218
Change-Id: Iba7097f36996e4d6f1e9db778dc73294f2854c79
2014-12-29 12:29:16 -08:00
Deepanshu Gupta
0ff4568ca0 Make Preference-cookie map non static.
Moved the map from Preference to View Cookie to BridgeContext. This
means the map need not be static anymore.

NO_SQ: Depends on unsubmitted changes.
Change-Id: I662513def17bd6ec3a2646c3bec9bf4f9f89fc15
2014-12-23 12:04:30 -08:00
Deepanshu Gupta
dfeffd4c0a Fix default initial value for preferences
NO_SQ: Depends on unsubmitted changes.
Change-Id: I061cf71f6167d382e9ef060abeb4d5cff83c4104
2014-12-23 12:04:30 -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
5ceb7f6431 Ensure that RandomAccessFile is not leaked.
This change ensures that RandomAccessFile is always closed. Also, it
changes the BufferIterator implementation to delegate to the byte buffer
directly instead of mainitaining the position itself.

Change-Id: I8f93e80c91a7c35e6a7fb015185b8b11e36b6286
2014-12-02 14:24:36 +05:30
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
cb09bc45c5 Fix typos in previous bugfixes.
The commits 2c9fbdd and 12b6d29 introduced minor bugs. This change fixes
them.
2014-11-20 13:35:47 +00:00
Deepanshu Gupta
4104abf875 Merge "Fix setTextAppearance for styles with dots." into lmp-dev 2014-11-19 22:30:20 +00:00
Deepanshu Gupta
2c9fbdd29c Fix setTextAppearance for styles with dots.
Bug: http://b.android.com/78842
Change-Id: I65923134b2d3812030e2b7dd8ab96363b0647c1f
2014-11-18 22:52:10 +00:00
Deepanshu Gupta
12b6d29b7b LayoutLib: Stub AM/PM keycodes in Time Picker.
TimePickerSpinnerDelegate doesn't need to deal with input when running
inside LayoutLib. So, we just return the keycodes as if it's running in
English locale.

Bug: http://b.android.com/79189
Change-Id: Ife0ae91a1e34a8dac379bc1dda1c1c8ed461c164
2014-11-18 22:02:40 +00:00
Deepanshu Gupta
2c5cddbd07 Don't skip loading object animator.
This is used by Buttons as part of StateListAnimator.

Change-Id: Id370869e71898d46e11bbd17ad31169c9f9f5274
2014-11-11 15:21:19 +00:00
Deepanshu Gupta
8657baa06d Fix setting styles in custom views.
Bug: http://b.android.com/78842
Change-Id: I5d4571d94d96b00419acc258c9e2b519367b689d
2014-11-10 20:10:55 +00:00
Deepanshu Gupta
796e9b7f99 Add primitive shadows support to LayoutLib
The shadows rendered are not the same as rendered by the framework. The
main purpose of the shadows here is let the user know when shadows will
be cast.

Currently rectangular shadows are available in only two intensities. Any
elevation below 10dp uses one shadow and any elevation over 10 dp uses
the other.

Also, even though the code for arbitrary shapes exist, it doesn't quite
work yet. No shadows are visible when that code is run.

Change-Id: Ie8235ffccf1d3809713f5d8f82afde434817d6b2
2014-11-07 22:26:11 +00:00
Deepanshu Gupta
9173c8a2e9 Remove needlessly thrown IOException.
Change-Id: If34986367554c98f96f6f9a1088f5e25077a1be1
2014-11-06 11:43:37 -08:00
Deepanshu Gupta
9b64954cb5 Merge "Fix BridgeContext.get*ResourceValue()" into lmp-dev 2014-11-03 23:15:03 +00:00
Deepanshu Gupta
c23487aa18 Merge "Support framework menus in ActionBar" into lmp-dev 2014-11-03 23:14:46 +00:00
Deepanshu Gupta
84a89ed0f5 Merge "Use the right layout for inflating Action Bar." into lmp-dev 2014-11-03 23:13:15 +00:00
Deepanshu Gupta
9fa48b09ad Fix BridgeContext.get*ResourceValue()
getFrameworkResourceValue() and getProjectResourceValue() never really
returned the defValue passed to them, instead creating a new id for
non-existent resources. We now checks for the existence of the resources
before trying to obtain the id.

Change-Id: Ie3103ba32af6186651a5f77c27d1efc33dc2bcc7
2014-10-30 12:18:56 -07:00
Deepanshu Gupta
df0ebab0f9 Support framework menus in ActionBar
Add support for adding menus in the framework namespace to the ActionBar
preview. If a menu id name begins with the android namespace prefix
(android:) we find the framework menu and render it.

Change-Id: If52910b46154591883af2b2f357e72eea6f84235
2014-10-30 11:58:37 -07:00
Deepanshu Gupta
0bffc736e1 Use the right layout for inflating Action Bar.
The choice of Action Bar layout depends on the theme. This also affects
the widget used to render the Action Bar.

Bug: http://b.android.com/77853
Change-Id: I6219a02853b4cd207a6125a5ed96fa5d16699460
2014-10-30 11:58:37 -07: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
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
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
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
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