Skip to content
This repository has been archived by the owner on Jun 3, 2021. It is now read-only.

Commit

Permalink
[WEEX-342][android] when animation module or transition parser proper…
Browse files Browse the repository at this point in the history
…ties, show more readable log when call js
  • Loading branch information
jianbai.gbj committed Jun 19, 2018
1 parent 906a4ff commit 42f6c73
Show file tree
Hide file tree
Showing 8 changed files with 33 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -1535,7 +1535,7 @@ private void invokeExecJS(String instanceId, String namespace, String function,

public void invokeExecJS(String instanceId, String namespace, String function,
WXJSObject[] args, boolean logTaskDetail) {
if (WXEnvironment.isOpenDebugLog()) {
if (WXEnvironment.isOpenDebugLog() && BRIDGE_LOG_SWITCH) {
mLodBuilder.append("callJS >>>> instanceId:").append(instanceId)
.append("function:").append(function);
if (logTaskDetail) {
Expand Down Expand Up @@ -1616,7 +1616,7 @@ private byte[] invokeExecJSWithResult(String instanceId, String namespace, Strin
StringBuilder builder = new StringBuilder();
builder.append("[");
for(WXJSObject object : args){
builder.append(WXJsonUtils.fromObjectToJSONString(object));
builder.append(WXWsonJSONSwitch.fromObjectToJSONString(object));
builder.append(",");
}
builder.append("]");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,7 @@ public enum WXErrorCode {
WX_RENDER_ERR_LAYER_OVERFLOW("-9602", "WX_RENDER_ERR_LAYER_OVERFLOW", ErrorType.NATIVE_ERROR, ErrorGroup.NATIVE),
WX_RENDER_ERR_NULL_KEY("-9603", "WX_RENDER_ERR_NULL_KEY", ErrorType.NATIVE_ERROR, ErrorGroup.NATIVE),
WX_RENDER_ERR_CONTAINER_TYPE("-9611", "WX_RENDER_ERR_CONTAINER_TYPE", ErrorType.JS_ERROR,ErrorGroup.JS),
WX_RENDER_ERR_TRANSITION("-9616", "WX_RENDER_ERR_TRANSITION", ErrorType.JS_ERROR, ErrorGroup.JS),



Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -336,7 +336,7 @@ private void doPendingTransformAnimation(int token) {
List<PropertyValuesHolder> holders = new ArrayList<>(8);
String transform = WXUtils.getString(transformPendingUpdates.remove(Constants.Name.TRANSFORM), null);
if(!TextUtils.isEmpty(transform)){
Map<Property<View,Float>, Float> properties = TransformParser.parseTransForm(transform, (int)mWXComponent.getLayoutWidth(), (int)mWXComponent.getLayoutHeight(), mWXComponent.getViewPortWidth());
Map<Property<View,Float>, Float> properties = TransformParser.parseTransForm(mWXComponent.getInstanceId(), transform, (int)mWXComponent.getLayoutWidth(), (int)mWXComponent.getLayoutHeight(), mWXComponent.getViewPortWidth());
PropertyValuesHolder[] transformHolders = TransformParser.toHolders(properties);
for(PropertyValuesHolder holder : transformHolders){
holders.add(holder);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ public void executeAction() {
if (null != mAnimationBean.styles) {
mAnimationBean.styles.init(mAnimationBean.styles.transformOrigin,
mAnimationBean.styles.transform, (int) component.getLayoutWidth(), (int) component.getLayoutHeight(),
instance.getInstanceViewPortWidth());
instance.getInstanceViewPortWidth(), instance);
startAnimation(instance, component);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,10 @@

import com.taobao.weex.WXEnvironment;
import com.taobao.weex.common.Constants;
import com.taobao.weex.common.WXErrorCode;
import com.taobao.weex.utils.FunctionParser;
import com.taobao.weex.utils.WXDataStructureUtil;
import com.taobao.weex.utils.WXExceptionUtils;
import com.taobao.weex.utils.WXLogUtils;
import com.taobao.weex.utils.WXUtils;
import com.taobao.weex.utils.WXViewUtils;
Expand Down Expand Up @@ -100,7 +102,7 @@ public static PropertyValuesHolder[] toHolders(Map<Property<View,Float>, Float>
return holders;
}

public static Map<Property<View,Float>, Float> parseTransForm(@Nullable String rawTransform, final int width,
public static Map<Property<View,Float>, Float> parseTransForm(String instanceId, @Nullable String rawTransform, final int width,
final int height, final int viewportW) {
try{

Expand Down Expand Up @@ -229,6 +231,11 @@ private Float parseCameraDistance(List<String> rawValue){
}
}catch (Exception e){
WXLogUtils.e("TransformParser", e);
WXExceptionUtils.commitCriticalExceptionRT(instanceId,
WXErrorCode.WX_RENDER_ERR_TRANSITION,
"parse animation transition",
WXErrorCode.WX_RENDER_ERR_TRANSITION.getErrorMsg() + "parse transition error: " + e.getMessage(),
null);
}
return new LinkedHashMap<>();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
import android.util.Property;
import android.view.View;
import com.taobao.weex.WXEnvironment;
import com.taobao.weex.WXSDKInstance;
import com.taobao.weex.common.Constants;
import com.taobao.weex.common.Constants.Name;
import com.taobao.weex.utils.FunctionParser;
Expand Down Expand Up @@ -118,10 +119,6 @@ public static class Style {
private List<PropertyValuesHolder> holders=new LinkedList<>();
private float cameraDistance = Float.MAX_VALUE;

private static Map<Property<View,Float>, Float> parseTransForm(@Nullable String rawTransform, final int width,
final int height,final int viewportW) {
return TransformParser.parseTransForm(rawTransform, width, height, viewportW);
}

private static Pair<Float, Float> parsePivot(@Nullable String transformOrigin,
int width, int height,int viewportW) {
Expand Down Expand Up @@ -202,9 +199,9 @@ private void resetToDefaultIfAbsent() {
}

public void init(@Nullable String transformOrigin,@Nullable String rawTransform,
final int width, final int height,int viewportW){
final int width, final int height,int viewportW, WXSDKInstance instance){
pivot = parsePivot(transformOrigin,width,height,viewportW);
transformMap.putAll(parseTransForm(rawTransform,width,height,viewportW));
transformMap.putAll(TransformParser.parseTransForm(instance.getInstanceId(), rawTransform, width,height,viewportW));
resetToDefaultIfAbsent();
if (transformMap.containsKey(CameraDistanceProperty.getInstance())) {
cameraDistance = transformMap.remove(CameraDistanceProperty.getInstance());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2222,7 +2222,8 @@ private WXAnimationBean createAnimationBean(String ref,Map<String, Object> style
int width = (int) getLayoutWidth();
int height = (int) getLayoutHeight();
animationBean.styles = new WXAnimationBean.Style();
animationBean.styles.init(transformOrigin, (String) transform, width, height,WXSDKManager.getInstanceViewPortWidth(getInstanceId()));
animationBean.styles.init(transformOrigin, (String) transform, width, height,WXSDKManager.getInstanceViewPortWidth(getInstanceId()),
getInstance());
return animationBean;
}
}catch (RuntimeException e){
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
*/
package com.taobao.weex.utils;

import android.support.annotation.NonNull;

import com.alibaba.fastjson.JSON;
import com.taobao.weex.bridge.WXJSObject;
import com.taobao.weex.wson.Wson;
Expand Down Expand Up @@ -110,4 +112,17 @@ public static final Object convertWXJSObjectDataToJSON(WXJSObject object){
public static final String WSON_OFF = "wson_off";


public @NonNull
static String fromObjectToJSONString(WXJSObject obj) {
if(obj != null && obj.type == WXJSObject.WSON){
Object data = Wson.parse((byte[]) obj.data);
if(data != null){
return data.toString();
}
}
return WXJsonUtils.fromObjectToJSONString(obj,false);
}



}

0 comments on commit 42f6c73

Please sign in to comment.