From 84e550f5e6b286f6f2194d0a01b460df331dae03 Mon Sep 17 00:00:00 2001 From: Deepanshu Gupta Date: Tue, 17 Mar 2015 17:03:59 -0700 Subject: [PATCH] Fix layoutlib tests. The date picker and calendar widgets show the current date. Comparing widgets showing current date with a static golden image wasn't the best idea. - Change the widgets to custom widgets that set a predefined date/time so that the rendering is independent of the system date. - Change the layout slightly to make it look nicer. - Update gradle plugin version. Change-Id: Ia3fb4965a372a28087a0d8c9df40fd6779df6050 --- .../res/testApp/MyApplication/build.gradle | 12 +++---- .../test/myapplication/BuildConfig.class | Bin 775 -> 777 bytes .../test/myapplication/CustomCalendar.class | Bin 0 -> 1174 bytes .../test/myapplication/CustomDate.class | Bin 0 -> 1300 bytes .../test/myapplication/MyActivity.class | Bin 1157 -> 1157 bytes .../layoutlib/test/myapplication/R$attr.class | Bin 406 -> 406 bytes .../test/myapplication/R$dimen.class | Bin 527 -> 527 bytes .../test/myapplication/R$drawable.class | Bin 473 -> 473 bytes .../layoutlib/test/myapplication/R$id.class | Bin 488 -> 488 bytes .../test/myapplication/R$layout.class | Bin 485 -> 515 bytes .../layoutlib/test/myapplication/R$menu.class | Bin 452 -> 452 bytes .../test/myapplication/R$string.class | Bin 538 -> 538 bytes .../test/myapplication/R$style.class | Bin 461 -> 461 bytes .../layoutlib/test/myapplication/R.class | Bin 897 -> 897 bytes .../testApp/MyApplication/golden/activity.png | Bin 3272 -> 8075 bytes .../gradle/wrapper/gradle-wrapper.properties | 4 +-- .../test/myapplication/ApplicationTest.java | 13 -------- .../test/myapplication/CustomCalendar.java | 31 ++++++++++++++++++ .../test/myapplication/CustomDate.java | 31 ++++++++++++++++++ .../src/main/res/layout/layout.xml | 24 +++++++++----- .../layoutlib/bridge/intensive/Main.java | 19 +++++++---- 21 files changed, 97 insertions(+), 37 deletions(-) create mode 100644 tools/layoutlib/bridge/tests/res/testApp/MyApplication/build/intermediates/classes/debug/com/android/layoutlib/test/myapplication/CustomCalendar.class create mode 100644 tools/layoutlib/bridge/tests/res/testApp/MyApplication/build/intermediates/classes/debug/com/android/layoutlib/test/myapplication/CustomDate.class delete mode 100644 tools/layoutlib/bridge/tests/res/testApp/MyApplication/src/androidTest/java/com/android/layoulib/test/myapplication/ApplicationTest.java create mode 100644 tools/layoutlib/bridge/tests/res/testApp/MyApplication/src/main/java/com/android/layoutlib/test/myapplication/CustomCalendar.java create mode 100644 tools/layoutlib/bridge/tests/res/testApp/MyApplication/src/main/java/com/android/layoutlib/test/myapplication/CustomDate.java diff --git a/tools/layoutlib/bridge/tests/res/testApp/MyApplication/build.gradle b/tools/layoutlib/bridge/tests/res/testApp/MyApplication/build.gradle index 80be12d767c4a..491dee800632b 100644 --- a/tools/layoutlib/bridge/tests/res/testApp/MyApplication/build.gradle +++ b/tools/layoutlib/bridge/tests/res/testApp/MyApplication/build.gradle @@ -3,7 +3,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:0.12.+' + classpath 'com.android.tools.build:gradle:1.1.3' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files @@ -19,23 +19,21 @@ allprojects { apply plugin: 'com.android.application' android { - compileSdkVersion 20 - buildToolsVersion '20' + compileSdkVersion 21 + buildToolsVersion '21.1.2' defaultConfig { applicationId 'com.android.layoutlib.test.myapplication' minSdkVersion 19 - targetSdkVersion 20 + targetSdkVersion 21 versionCode 1 versionName '1.0' } buildTypes { release { - runProguard false + minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } - productFlavors { - } } dependencies { diff --git a/tools/layoutlib/bridge/tests/res/testApp/MyApplication/build/intermediates/classes/debug/com/android/layoutlib/test/myapplication/BuildConfig.class b/tools/layoutlib/bridge/tests/res/testApp/MyApplication/build/intermediates/classes/debug/com/android/layoutlib/test/myapplication/BuildConfig.class index 2b4f7bf37dde914e4b250ce47ef1f00c0a0d0ec9..e29e490164c9580e76e38157061f9300ee9a8b34 100644 GIT binary patch delta 36 scmZo?>ty3N^>5cc1_lP>i5wdIe2xJDKAz5wA)fwz@t!UlZBH=)0MsK3Pyhe` delta 34 qcmeBVYiHv)^>5cc1_lPBi5wcdJOPf*-j43B@qUiJt{d%7F#!O*mI|2w diff --git a/tools/layoutlib/bridge/tests/res/testApp/MyApplication/build/intermediates/classes/debug/com/android/layoutlib/test/myapplication/CustomCalendar.class b/tools/layoutlib/bridge/tests/res/testApp/MyApplication/build/intermediates/classes/debug/com/android/layoutlib/test/myapplication/CustomCalendar.class new file mode 100644 index 0000000000000000000000000000000000000000..4ae0da70d788d79344122eef61bf632d6d2bbd34 GIT binary patch literal 1174 zcmbW0-)<5?6vn@S1!P&bTBt3wXzO2~#=X$Qni`V^)1-!&R16o5Hv^1z%(C0SV9QhZ zEZ#`sg%8m8@z!__yR0#xUXV==bA~y;@9gk-&>qFC2JttS=|w*!a5Z88tHAU?R`XeBF~q zhk@4|k4!jdN?!$iIoub>&APZS0_7_k6L@}g*GbjbXx}?9W~jSkquMHZp^T&*>T&Zw z=LGha;vezEoWAadC;v6xwkna5Pem4(Lc<0;aMpf0k6vkAk{?dW&{EyPelU~MMJ`1Kh70Tw-gL-^_x z)*^lpIckTincs-cCwwR2J29VV*g%>3V5Lf|bV{$zU$4tbYt|H*MOqs)oH7lwGShk% zRU}$&qU9!9Zmh*4-lSTKhDvuNR^20lAXU3jLN;xE$F;wf*t79hN%8hfjcsHTB0B`_ IvUzv@0Hu%UjQ{`u literal 0 HcmV?d00001 diff --git a/tools/layoutlib/bridge/tests/res/testApp/MyApplication/build/intermediates/classes/debug/com/android/layoutlib/test/myapplication/CustomDate.class b/tools/layoutlib/bridge/tests/res/testApp/MyApplication/build/intermediates/classes/debug/com/android/layoutlib/test/myapplication/CustomDate.class new file mode 100644 index 0000000000000000000000000000000000000000..6729eb45c65184045cfbe3f0bfc86b0fe4956283 GIT binary patch literal 1300 zcmbW0&2G~`5Xb+UI7#c6v8@+k$hd>CJU#VvPZ}NgZYvy_VDM5J zwI@)BDmXI&s}~j}uzPXEX;x^o=e{szsJo$2hbnF+C&@$g)&3DD@c2^vHc!jxs}F}} z>?xKO5N&}cm!n0v;uQB*QPmc2Od#7}CHpW4hds5gc^3=kQ+)7IewGgAVLP~v8h=&T zRN1VsZ%bh366>LzOc(k^_m7ovd1mgC0abQf?!sK0XI qS9Wnpd_(?xDR#7gb?R*+(sSb2L@z^?@cQa#(3_Whm)3qSKmP|Xvk-Uy literal 0 HcmV?d00001 diff --git a/tools/layoutlib/bridge/tests/res/testApp/MyApplication/build/intermediates/classes/debug/com/android/layoutlib/test/myapplication/MyActivity.class b/tools/layoutlib/bridge/tests/res/testApp/MyApplication/build/intermediates/classes/debug/com/android/layoutlib/test/myapplication/MyActivity.class index d2524625e16c8549eaae0a041056ffd91c362f0a..985d2676a065b67531bb34de9d7e00a91d0d3b30 100644 GIT binary patch delta 17 YcmZqWY~|!Q^>5cc1_lP>jU2Ts06A0z(f|Me delta 17 YcmZqWY~|!Q^>5cc1_lPBjU2Ts069+u(EtDd diff --git a/tools/layoutlib/bridge/tests/res/testApp/MyApplication/build/intermediates/classes/debug/com/android/layoutlib/test/myapplication/R$attr.class b/tools/layoutlib/bridge/tests/res/testApp/MyApplication/build/intermediates/classes/debug/com/android/layoutlib/test/myapplication/R$attr.class index 9bab801635bf2fd561fa1796f399cedddfc77738..5142ca63651c9f6abe557326e8efad0eab731ca6 100644 GIT binary patch delta 17 ZcmbQnJdK&-)W2Q(7#J9gH*)kb0suPS1@-^{ delta 17 ZcmbQnJdK&-)W2Q(7#J9gHgfba0suPN1@!;` diff --git a/tools/layoutlib/bridge/tests/res/testApp/MyApplication/build/intermediates/classes/debug/com/android/layoutlib/test/myapplication/R$dimen.class b/tools/layoutlib/bridge/tests/res/testApp/MyApplication/build/intermediates/classes/debug/com/android/layoutlib/test/myapplication/R$dimen.class index 7ad860522790a8f15748a4668561374a63912899..cb52ba53624d1b4e57abe71c4eb99fdc401e9c64 100644 GIT binary patch delta 17 YcmeBY>1W|M^>5cc1_lP>jU4Pu067o^WB>pF delta 17 YcmeBY>1W|M^>5cc1_lPBjU4Pu067Zff$?3=9m$4ANW-%nV}e3=-@Nk`qNuxr;M%3vyDK>zNstCb}<9Y*q$A24S$g2$&RQ5CYO%KshD`aRv?sNdSAP5!V0! delta 137 zcmZo>dCDw$>ff$?3=9lL43b<7%nTyz3}WmI;uA$pCq~R;<6_`uXONiqrWK@{^j!_2yXdehB delta 23 fcmbQmGK+=d)W2Q(7#J9gHgY^=WR#!$j!_2yXb%V^ diff --git a/tools/layoutlib/bridge/tests/res/testApp/MyApplication/build/intermediates/classes/debug/com/android/layoutlib/test/myapplication/R$style.class b/tools/layoutlib/bridge/tests/res/testApp/MyApplication/build/intermediates/classes/debug/com/android/layoutlib/test/myapplication/R$style.class index 8bbae9035f0ec882412708cbb07c10cd96fbf96f..c7d64f8c190a6a794b99829830cb4a9554557184 100644 GIT binary patch delta 23 fcmX@he3qHx)W2Q(7#J9gH*(BiWK^BJkWmK!ZG#8( delta 23 fcmX@he3qHx)W2Q(7#J9gHge2hWK@~FkWmK!ZF2|n diff --git a/tools/layoutlib/bridge/tests/res/testApp/MyApplication/build/intermediates/classes/debug/com/android/layoutlib/test/myapplication/R.class b/tools/layoutlib/bridge/tests/res/testApp/MyApplication/build/intermediates/classes/debug/com/android/layoutlib/test/myapplication/R.class index 8af745dc8d3bd45c60116abe8a25a650c0c393f0..8831b718c8377600d8bb58e5bd5c4cc494cf4938 100644 GIT binary patch delta 23 ecmZo5cc1_lP>jT|D(jH;7mnNt8;xdxd4 delta 23 ecmZo5cc1_lPBjT|D(j4G35nNt8;sRow- diff --git a/tools/layoutlib/bridge/tests/res/testApp/MyApplication/golden/activity.png b/tools/layoutlib/bridge/tests/res/testApp/MyApplication/golden/activity.png index 943cdf1bbcc52d7b8c81564d5624c4072d68abdc..e38f437a0ce43a5f64f126046232b83f9bb55669 100644 GIT binary patch literal 8075 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 literal 3272 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 ZmA;{@KA*R^1^l6aEKF>Ts|`J4{sk@f10?_e diff --git a/tools/layoutlib/bridge/tests/res/testApp/MyApplication/gradle/wrapper/gradle-wrapper.properties b/tools/layoutlib/bridge/tests/res/testApp/MyApplication/gradle/wrapper/gradle-wrapper.properties index 5de946b072f19..3b51ffe88bc72 100644 --- a/tools/layoutlib/bridge/tests/res/testApp/MyApplication/gradle/wrapper/gradle-wrapper.properties +++ b/tools/layoutlib/bridge/tests/res/testApp/MyApplication/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Wed Apr 10 15:27:10 PDT 2013 +#Tue Mar 17 15:13:06 PDT 2015 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=http\://services.gradle.org/distributions/gradle-1.10-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip diff --git a/tools/layoutlib/bridge/tests/res/testApp/MyApplication/src/androidTest/java/com/android/layoulib/test/myapplication/ApplicationTest.java b/tools/layoutlib/bridge/tests/res/testApp/MyApplication/src/androidTest/java/com/android/layoulib/test/myapplication/ApplicationTest.java deleted file mode 100644 index 7304af13b1293..0000000000000 --- a/tools/layoutlib/bridge/tests/res/testApp/MyApplication/src/androidTest/java/com/android/layoulib/test/myapplication/ApplicationTest.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.android.layoulib.test.myapplication; - -import android.app.Application; -import android.test.ApplicationTestCase; - -/** - * Testing Fundamentals - */ -public class ApplicationTest extends ApplicationTestCase { - public ApplicationTest() { - super(Application.class); - } -} \ No newline at end of file diff --git a/tools/layoutlib/bridge/tests/res/testApp/MyApplication/src/main/java/com/android/layoutlib/test/myapplication/CustomCalendar.java b/tools/layoutlib/bridge/tests/res/testApp/MyApplication/src/main/java/com/android/layoutlib/test/myapplication/CustomCalendar.java new file mode 100644 index 0000000000000..80bbaf139b4c9 --- /dev/null +++ b/tools/layoutlib/bridge/tests/res/testApp/MyApplication/src/main/java/com/android/layoutlib/test/myapplication/CustomCalendar.java @@ -0,0 +1,31 @@ +package com.android.layoutlib.test.myapplication; + +import android.content.Context; +import android.util.AttributeSet; +import android.widget.CalendarView; + +public class CustomCalendar extends CalendarView { + public CustomCalendar(Context context) { + super(context); + init(); + } + + public CustomCalendar(Context context, AttributeSet attrs) { + super(context, attrs); + init(); + } + + public CustomCalendar(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + init(); + } + + public CustomCalendar(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + init(); + } + + private void init() { + setDate(871703200000L, false, true); + } +} diff --git a/tools/layoutlib/bridge/tests/res/testApp/MyApplication/src/main/java/com/android/layoutlib/test/myapplication/CustomDate.java b/tools/layoutlib/bridge/tests/res/testApp/MyApplication/src/main/java/com/android/layoutlib/test/myapplication/CustomDate.java new file mode 100644 index 0000000000000..cb750f49322b4 --- /dev/null +++ b/tools/layoutlib/bridge/tests/res/testApp/MyApplication/src/main/java/com/android/layoutlib/test/myapplication/CustomDate.java @@ -0,0 +1,31 @@ +package com.android.layoutlib.test.myapplication; + +import android.content.Context; +import android.util.AttributeSet; +import android.widget.DatePicker; + +public class CustomDate extends DatePicker { + public CustomDate(Context context) { + super(context); + init(); + } + + public CustomDate(Context context, AttributeSet attrs) { + super(context, attrs); + init(); + } + + public CustomDate(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + init(); + } + + public CustomDate(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { + super(context, attrs, defStyleAttr, defStyleRes); + init(); + } + + private void init() { + init(2015, 0, 20, null); + } +} diff --git a/tools/layoutlib/bridge/tests/res/testApp/MyApplication/src/main/res/layout/layout.xml b/tools/layoutlib/bridge/tests/res/testApp/MyApplication/src/main/res/layout/layout.xml index b8ec566159dda..c1f663e9fa8af 100644 --- a/tools/layoutlib/bridge/tests/res/testApp/MyApplication/src/main/res/layout/layout.xml +++ b/tools/layoutlib/bridge/tests/res/testApp/MyApplication/src/main/res/layout/layout.xml @@ -1,17 +1,25 @@ - - + - - \ No newline at end of file + android:layout_height="wrap_content"/> + + \ No newline at end of file diff --git a/tools/layoutlib/bridge/tests/src/com/android/layoutlib/bridge/intensive/Main.java b/tools/layoutlib/bridge/tests/src/com/android/layoutlib/bridge/intensive/Main.java index 96725af35e72a..a8c52485bd095 100644 --- a/tools/layoutlib/bridge/tests/src/com/android/layoutlib/bridge/intensive/Main.java +++ b/tools/layoutlib/bridge/tests/src/com/android/layoutlib/bridge/intensive/Main.java @@ -300,7 +300,8 @@ public class Main { FolderConfiguration config = configGenerator.getFolderConfig(); ResourceResolver resourceResolver = ResourceResolver.create(mProjectResources.getConfiguredResources(config), - mFrameworkRepo.getConfiguredResources(config), "Theme.Material", false); + mFrameworkRepo.getConfiguredResources(config), + "Theme.Material.Light.DarkActionBar", false); return new SessionParams( layoutParser, @@ -320,7 +321,7 @@ public class Main { @Override public void warning(String tag, String message, Object data) { System.out.println("Warning " + tag + ": " + message); - fail(message); + failWithMsg(message); } @Override @@ -330,13 +331,13 @@ public class Main { if (throwable != null) { throwable.printStackTrace(); } - fail(message); + failWithMsg(message); } @Override public void error(String tag, String message, Object data) { System.out.println("Error " + tag + ": " + message); - fail(message); + failWithMsg(message); } @Override @@ -345,7 +346,7 @@ public class Main { if (throwable != null) { throwable.printStackTrace(); } - fail(message); + failWithMsg(message); } }; } @@ -360,12 +361,12 @@ public class Main { if (t != null) { t.printStackTrace(); } - fail(String.format(msgFormat, args)); + failWithMsg(msgFormat, args); } @Override public void warning(String msgFormat, Object... args) { - fail(String.format(msgFormat, args)); + failWithMsg(msgFormat, args); } @Override @@ -381,4 +382,8 @@ public class Main { } return mLogger; } + + private static void failWithMsg(String msgFormat, Object... args) { + fail(msgFormat == null || args == null ? "" : String.format(msgFormat, args)); + } }