From 4273457c9e57f95390d591bedb0eebd15debfc6f Mon Sep 17 00:00:00 2001 From: Eric Holk Date: Mon, 17 Dec 2018 15:46:18 -0800 Subject: [view compiler] Add XML to DEX compilation Test: atest Bug: 111895153 Change-Id: I91c01ff4474e080c87b902ae963b5d655346f859 --- startop/view_compiler/Android.bp | 1 + startop/view_compiler/dex_builder_test/Android.bp | 18 +- .../view_compiler/dex_builder_test/AndroidTest.xml | 1 + .../dex_builder_test/res/layout/layout1.xml | 17 ++ .../android/startop/test/LayoutCompilerTest.java | 46 +++++ startop/view_compiler/dex_layout_compiler.cc | 226 +++++++++++++++++++++ startop/view_compiler/dex_layout_compiler.h | 118 +++++++++++ startop/view_compiler/java_lang_builder.cc | 2 +- startop/view_compiler/java_lang_builder.h | 2 +- startop/view_compiler/main.cc | 74 +++++-- 10 files changed, 479 insertions(+), 26 deletions(-) create mode 100644 startop/view_compiler/dex_builder_test/res/layout/layout1.xml create mode 100644 startop/view_compiler/dex_builder_test/src/android/startop/test/LayoutCompilerTest.java create mode 100644 startop/view_compiler/dex_layout_compiler.cc create mode 100644 startop/view_compiler/dex_layout_compiler.h diff --git a/startop/view_compiler/Android.bp b/startop/view_compiler/Android.bp index 91cec554d7cd..82056e9a33fe 100644 --- a/startop/view_compiler/Android.bp +++ b/startop/view_compiler/Android.bp @@ -34,6 +34,7 @@ cc_library_host_static { defaults: ["viewcompiler_defaults"], srcs: [ "dex_builder.cc", + "dex_layout_compiler.cc", "java_lang_builder.cc", "tinyxml_layout_parser.cc", "util.cc", diff --git a/startop/view_compiler/dex_builder_test/Android.bp b/startop/view_compiler/dex_builder_test/Android.bp index 4449ea0f707e..d4f38ed148c9 100644 --- a/startop/view_compiler/dex_builder_test/Android.bp +++ b/startop/view_compiler/dex_builder_test/Android.bp @@ -14,16 +14,30 @@ // limitations under the License. // +genrule { + name: "generate_compiled_layout", + tools: [":viewcompiler"], + cmd: "$(location :viewcompiler) $(in) --dex --out $(out) --package android.startop.test", + srcs: ["res/layout/layout1.xml"], + out: [ + "layout1.dex", + ], +} + android_test { name: "dex-builder-test", - srcs: ["src/android/startop/test/DexBuilderTest.java"], + srcs: [ + "src/android/startop/test/DexBuilderTest.java", + "src/android/startop/test/LayoutCompilerTest.java", + ], sdk_version: "current", - data: [":generate_dex_testcases"], + data: [":generate_dex_testcases", ":generate_compiled_layout"], static_libs: [ "android-support-test", "guava", ], manifest: "AndroidManifest.xml", + resource_dirs: ["res"], test_config: "AndroidTest.xml", test_suites: ["general-tests"], } diff --git a/startop/view_compiler/dex_builder_test/AndroidTest.xml b/startop/view_compiler/dex_builder_test/AndroidTest.xml index 6f90cf3b81a7..68d8fdc444d8 100644 --- a/startop/view_compiler/dex_builder_test/AndroidTest.xml +++ b/startop/view_compiler/dex_builder_test/AndroidTest.xml @@ -25,6 +25,7 @@