RichTextLayout.smali 
.class public Lio/dcloud/feature/nativeObj/richtext/RichTextLayout;
.super Ljava/lang/Object;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lio/dcloud/feature/nativeObj/richtext/RichTextLayout$RichTextLayoutHolder;,
        Lio/dcloud/feature/nativeObj/richtext/RichTextLayout$DefaultAssets;
    }
.end annotation
# direct methods
.method public constructor <init>()V
    .registers 1
    .line 1
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V
    return-void
.end method
.method public static makeRichText([Ljava/lang/Object;)Landroid/widget/TextView;
    .registers 8
    const/4 v0, 0x0
    .line 96
    aget-object v0, p0, v0
    check-cast v0, Lio/dcloud/common/DHInterface/IFrameView;
    .line 97
    invoke-interface {v0}, Lio/dcloud/common/DHInterface/IFrameView;->obtainWebView()Lio/dcloud/common/DHInterface/IWebview;
    move-result-object v2
    const/4 v0, 0x1
    .line 98
    aget-object v0, p0, v0
    move-object v4, v0
    check-cast v4, Ljava/lang/String;
    const/4 v0, 0x2
    .line 99
    aget-object v0, p0, v0
    move-object v5, v0
    check-cast v5, Lorg/json/JSONObject;
    .line 100
    new-instance v0, Landroid/widget/TextView;
    invoke-interface {v2}, Lio/dcloud/common/DHInterface/IWebview;->getContext()Landroid/content/Context;
    move-result-object v1
    invoke-direct {v0, v1}, Landroid/widget/TextView;-><init>(Landroid/content/Context;)V
    .line 101
    new-instance v1, Lio/dcloud/feature/nativeObj/richtext/RichTextLayout$1;
    invoke-direct {v1, v2}, Lio/dcloud/feature/nativeObj/richtext/RichTextLayout$1;-><init>(Lio/dcloud/common/DHInterface/IWebview;)V
    const/4 v3, 0x3
    aget-object p0, p0, v3
    move-object v6, p0
    check-cast v6, Lio/dcloud/common/DHInterface/ICallBack;
    move-object v3, v0
    invoke-static/range {v1 .. v6}, Lio/dcloud/feature/nativeObj/richtext/RichTextParser;->updateFromHTML(Lio/dcloud/feature/nativeObj/richtext/IAssets;Lio/dcloud/common/DHInterface/IWebview;Landroid/widget/TextView;Ljava/lang/String;Lorg/json/JSONObject;Lio/dcloud/common/DHInterface/ICallBack;)V
    return-object v0
.end method
.method public static makeRichText(Landroid/content/Context;Lio/dcloud/common/DHInterface/IWebview;Lio/dcloud/feature/nativeObj/NativeView;Ljava/lang/String;Lorg/json/JSONObject;Lorg/json/JSONObject;Ljava/lang/String;)Lio/dcloud/feature/nativeObj/richtext/RichTextLayout$RichTextLayoutHolder;
    .registers 8
    .line 1
    new-instance v0, Lio/dcloud/feature/nativeObj/richtext/RichTextLayout$RichTextLayoutHolder;
    invoke-direct {v0, p0, p1, p2, p6}, Lio/dcloud/feature/nativeObj/richtext/RichTextLayout$RichTextLayoutHolder;-><init>(Landroid/content/Context;Lio/dcloud/common/DHInterface/IWebview;Lio/dcloud/feature/nativeObj/NativeView;Ljava/lang/String;)V
    .line 2
    invoke-static {v0, p3, p4, p5}, Lio/dcloud/feature/nativeObj/richtext/RichTextLayout;->makeRichText(Lio/dcloud/feature/nativeObj/richtext/RichTextLayout$RichTextLayoutHolder;Ljava/lang/String;Lorg/json/JSONObject;Lorg/json/JSONObject;)Lio/dcloud/feature/nativeObj/richtext/RichTextLayout$RichTextLayoutHolder;
    move-result-object p0
    return-object p0
.end method
.method public static makeRichText(Lio/dcloud/feature/nativeObj/richtext/RichTextLayout$RichTextLayoutHolder;Ljava/lang/String;Lorg/json/JSONObject;Lorg/json/JSONObject;)Lio/dcloud/feature/nativeObj/richtext/RichTextLayout$RichTextLayoutHolder;
    .registers 23
    move-object/from16 v0, p0
    move-object/from16 v1, p2
    .line 3
    iget-object v2, v0, Lio/dcloud/feature/nativeObj/richtext/RichTextLayout$RichTextLayoutHolder;->mWebView:Lio/dcloud/common/DHInterface/IWebview;
    iget-object v3, v0, Lio/dcloud/feature/nativeObj/richtext/RichTextLayout$RichTextLayoutHolder;->mMainView:Landroid/widget/TextView;
    move-object/from16 v4, p1
    move-object/from16 v5, p3
    invoke-static {v0, v2, v3, v4, v5}, Lio/dcloud/feature/nativeObj/richtext/RichTextParser;->updateFromHTML(Lio/dcloud/feature/nativeObj/richtext/IAssets;Lio/dcloud/common/DHInterface/IWebview;Landroid/widget/TextView;Ljava/lang/String;Lorg/json/JSONObject;)V
    .line 4
    invoke-virtual/range {p0 .. p0}, Lio/dcloud/feature/nativeObj/richtext/RichTextLayout$RichTextLayoutHolder;->updateLayout()V
    .line 6
    iget-object v2, v0, Lio/dcloud/feature/nativeObj/richtext/RichTextLayout$RichTextLayoutHolder;->mNativeView:Lio/dcloud/feature/nativeObj/NativeView;
    .line 7
    iget v3, v2, Lio/dcloud/feature/nativeObj/NativeView;->mInnerWidth:I
    .line 8
    iget v4, v2, Lio/dcloud/feature/nativeObj/NativeView;->mInnerHeight:I
    const-string v5, "left"
    .line 9
    invoke-virtual {v1, v5}, Lorg/json/JSONObject;->isNull(Ljava/lang/String;)Z
    move-result v6
    xor-int/lit8 v6, v6, 0x1
    const-string v7, "right"
    .line 10
    invoke-virtual {v1, v7}, Lorg/json/JSONObject;->isNull(Ljava/lang/String;)Z
    move-result v8
    xor-int/lit8 v8, v8, 0x1
    const-string v9, "top"
    .line 11
    invoke-virtual {v1, v9}, Lorg/json/JSONObject;->isNull(Ljava/lang/String;)Z
    move-result v10
    xor-int/lit8 v10, v10, 0x1
    const-string v11, "width"
    .line 12
    invoke-virtual {v1, v11}, Lorg/json/JSONObject;->isNull(Ljava/lang/String;)Z
    move-result v12
    xor-int/lit8 v12, v12, 0x1
    const-string v13, "height"
    .line 13
    invoke-virtual {v1, v13}, Lorg/json/JSONObject;->isNull(Ljava/lang/String;)Z
    move-result v14
    xor-int/lit8 v14, v14, 0x1
    const-string v15, "bottom"
    .line 14
    invoke-virtual {v1, v15}, Lorg/json/JSONObject;->isNull(Ljava/lang/String;)Z
    move-result v16
    xor-int/lit8 v16, v16, 0x1
    move-object/from16 p1, v15
    .line 16
    iget v15, v2, Lio/dcloud/feature/nativeObj/NativeView;->mInnerLeft:I
    move/from16 p3, v15
    iget v15, v2, Lio/dcloud/feature/nativeObj/NativeView;->mInnerTop:I
    const/16 v17, 0x0
    if-eqz v14, :cond_81
    .line 18
    invoke-virtual {v1, v13}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v13
    .line 19
    invoke-static {v13}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
    move-result v18
    if-nez v18, :cond_7c
    const-string v2, "wrap_content"
    .line 20
    invoke-virtual {v2, v13}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
    move-result v2
    if-eqz v2, :cond_6a
    const/4 v2, -0x2
    move/from16 v14, v17
    goto :goto_84
    .line 24
    :cond_6a
    iget v2, v0, Lio/dcloud/feature/nativeObj/richtext/RichTextLayout$RichTextLayoutHolder;->mNativeViewHeight:I
    int-to-float v2, v2
    move/from16 v18, v14
    int-to-float v14, v4
    invoke-virtual {v0, v13, v14}, Lio/dcloud/feature/nativeObj/richtext/RichTextLayout$RichTextLayoutHolder;->convertHeight(Ljava/lang/String;F)F
    move-result v13
    invoke-static {v2, v13}, Ljava/lang/Math;->min(FF)F
    move-result v2
    float-to-int v2, v2
    move/from16 v14, v18
    goto :goto_84
    :cond_7c
    move/from16 v18, v14
    .line 27
    iget v2, v2, Lio/dcloud/feature/nativeObj/NativeView;->mInnerHeight:I
    goto :goto_84
    :cond_81
    move/from16 v18, v14
    move v2, v4
    :goto_84
    if-eqz v12, :cond_97
    .line 31
    invoke-virtual {v1, v11}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v11
    .line 32
    invoke-static {v11}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
    move-result v13
    if-nez v13, :cond_97
    int-to-float v13, v3
    .line 33
    invoke-virtual {v0, v11, v13}, Lio/dcloud/feature/nativeObj/richtext/RichTextLayout$RichTextLayoutHolder;->convertWidth(Ljava/lang/String;F)F
    move-result v11
    float-to-int v11, v11
    goto :goto_98
    :cond_97
    move v11, v3
    :goto_98
    if-eqz v10, :cond_aa
    .line 37
    invoke-virtual {v1, v9}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v9
    .line 38
    invoke-static {v9}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
    move-result v13
    if-nez v13, :cond_aa
    int-to-float v13, v4
    .line 39
    invoke-virtual {v0, v9, v13}, Lio/dcloud/feature/nativeObj/richtext/RichTextLayout$RichTextLayoutHolder;->convertHeight(Ljava/lang/String;F)F
    move-result v9
    float-to-int v15, v9
    :cond_aa
    if-eqz v6, :cond_bd
    .line 44
    invoke-virtual {v1, v5}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v5
    .line 45
    invoke-static {v5}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
    move-result v9
    if-nez v9, :cond_bd
    int-to-float v9, v3
    .line 46
    invoke-virtual {v0, v5, v9}, Lio/dcloud/feature/nativeObj/richtext/RichTextLayout$RichTextLayoutHolder;->convertWidth(Ljava/lang/String;F)F
    move-result v5
    float-to-int v5, v5
    goto :goto_bf
    :cond_bd
    move/from16 v5, p3
    :goto_bf
    if-eqz v8, :cond_d2
    .line 50
    invoke-virtual {v1, v7}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v7
    .line 51
    invoke-static {v7}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
    move-result v9
    if-nez v9, :cond_d2
    int-to-float v9, v3
    .line 52
    invoke-virtual {v0, v7, v9}, Lio/dcloud/feature/nativeObj/richtext/RichTextLayout$RichTextLayoutHolder;->convertWidth(Ljava/lang/String;F)F
    move-result v7
    float-to-int v7, v7
    goto :goto_d4
    :cond_d2
    move/from16 v7, v17
    :goto_d4
    if-eqz v16, :cond_e9
    move-object/from16 v9, p1
    .line 56
    invoke-virtual {v1, v9}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
    move-result-object v1
    .line 57
    invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
    move-result v9
    if-nez v9, :cond_e9
    int-to-float v9, v4
    .line 58
    invoke-virtual {v0, v1, v9}, Lio/dcloud/feature/nativeObj/richtext/RichTextLayout$RichTextLayoutHolder;->convertHeight(Ljava/lang/String;F)F
    move-result v1
    float-to-int v1, v1
    goto :goto_eb
    :cond_e9
    move/from16 v1, v17
    :goto_eb
    if-nez v6, :cond_103
    if-nez v12, :cond_f3
    if-eqz v8, :cond_f3
    neg-int v5, v7
    goto :goto_10a
    :cond_f3
    if-eqz v12, :cond_fb
    if-nez v8, :cond_fb
    sub-int/2addr v3, v11
    .line 66
    div-int/lit8 v5, v3, 0x2
    goto :goto_10a
    :cond_fb
    if-eqz v12, :cond_10a
    if-eqz v8, :cond_10a
    sub-int/2addr v3, v11
    sub-int v5, v3, v7
    goto :goto_10a
    :cond_103
    if-nez v12, :cond_10a
    if-eqz v8, :cond_10a
    sub-int/2addr v3, v5
    sub-int v11, v3, v7
    :cond_10a
    :goto_10a
    if-nez v10, :cond_122
    if-nez v14, :cond_112
    if-eqz v16, :cond_112
    neg-int v15, v1
    goto :goto_129
    :cond_112
    if-eqz v14, :cond_11a
    if-nez v16, :cond_11a
    sub-int/2addr v4, v2
    .line 80
    div-int/lit8 v15, v4, 0x2
    goto :goto_129
    :cond_11a
    if-eqz v14, :cond_129
    if-eqz v16, :cond_129
    sub-int/2addr v4, v2
    sub-int v15, v4, v1
    goto :goto_129
    :cond_122
    if-nez v14, :cond_129
    if-eqz v16, :cond_129
    sub-int/2addr v4, v15
    sub-int v2, v4, v1
    .line 90
    :cond_129
    :goto_129
    new-instance v3, Landroid/widget/LinearLayout$LayoutParams;
    invoke-direct {v3, v11, v2}, Landroid/widget/LinearLayout$LayoutParams;-><init>(II)V
    .line 91
    iput v5, v3, Landroid/widget/LinearLayout$LayoutParams;->leftMargin:I
    .line 92
    iput v7, v3, Landroid/widget/LinearLayout$LayoutParams;->rightMargin:I
    .line 93
    iput v1, v3, Landroid/widget/LinearLayout$LayoutParams;->bottomMargin:I
    .line 94
    iput v15, v3, Landroid/widget/LinearLayout$LayoutParams;->topMargin:I
    .line 95
    iget-object v1, v0, Lio/dcloud/feature/nativeObj/richtext/RichTextLayout$RichTextLayoutHolder;->mMainView:Landroid/widget/TextView;
    invoke-virtual {v1, v3}, Landroid/widget/TextView;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V
    return-object v0
.end method