diff --git a/gradle.properties b/gradle.properties index 042516e..237908c 100644 --- a/gradle.properties +++ b/gradle.properties @@ -46,7 +46,7 @@ org.gradle.jvmargs=-Xmx1536M GROUP=com.alibaba.android ARTIFACT=tangram VERSION=1 -VERSION_NAME=3.2.0.0 +VERSION_NAME=3.2.0.1 PACKAGING_TYPE=aar systemProp.compileSdkVersion=26 systemProp.targetSdkVersion=26 diff --git a/tangram/build.gradle b/tangram/build.gradle index a192f3b..9febfd9 100644 --- a/tangram/build.gradle +++ b/tangram/build.gradle @@ -145,7 +145,7 @@ dependencies { exclude group: 'com.android.support', module: 'support-annotations' } } else { - compile('com.alibaba.android:virtualview:1.3.8.4@aar') { + compile('com.alibaba.android:virtualview:1.3.8.5@aar') { transitive true exclude group: 'com.android.support', module: 'appcompat' exclude group: 'com.android.support', module: 'appcompat-v7' diff --git a/tangram/src/main/java/com/tmall/wireless/tangram/BaseTangramEngine.java b/tangram/src/main/java/com/tmall/wireless/tangram/BaseTangramEngine.java index cc86b27..f87ba91 100644 --- a/tangram/src/main/java/com/tmall/wireless/tangram/BaseTangramEngine.java +++ b/tangram/src/main/java/com/tmall/wireless/tangram/BaseTangramEngine.java @@ -219,6 +219,11 @@ public class BaseTangramEngine implements ServiceManager { return viewManager.loadBinBufferSync(data); } + public void setVirtualViewTemplateAsync(String type, byte[] data) { + ViewManager viewManager = getService(ViewManager.class); + viewManager.loadBinBufferAsync(type, data); + } + /** * set compiled binary data after engine has been setup, used when load template data dynamically * @param type @@ -238,6 +243,20 @@ public class BaseTangramEngine implements ServiceManager { } } + public void registerVirtualViewTemplateAsync(String type, byte[] data) { + BaseCellBinderResolver baseCellBinderResolver = getService(BaseCellBinderResolver.class); + BaseCardBinderResolver baseCardBinderResolver = getService(BaseCardBinderResolver.class); + if (baseCellBinderResolver != null && baseCardBinderResolver != null) { + CardResolver cardResolver = baseCardBinderResolver.getDelegate(); + MVHelper mMVHelper = getService(MVHelper.class); + if (cardResolver != null && mMVHelper != null) { + baseCellBinderResolver.register(type, new BaseCellBinder(type, mMVHelper)); + cardResolver.register(type, VVCard.class); + setVirtualViewTemplateAsync(type, data); + } + } + } + /** * register cell after engine has been created * @param type