StaticLayoutProxy.smali
.class public Lcom/taobao/weex/utils/StaticLayoutProxy;
.super Ljava/lang/Object;
.source "StaticLayoutProxy.java"
# static fields
.field private static layoutConstructor:Ljava/lang/reflect/Constructor;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/reflect/Constructor<",
"Landroid/text/StaticLayout;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.registers 1
.line 33
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static create(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZZ)Landroid/text/StaticLayout;
.registers 17
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0,
0x0,
0x0,
0x0,
0x0,
0x0,
0x0
}
names = {
"source",
"paint",
"width",
"align",
"spacingmult",
"spacingadd",
"includepad",
"forceRtl"
}
.end annotation
.line 39
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x12
if-lt v0, v1, :cond_26
if-eqz p7, :cond_26
.line 40
sget-object v4, Landroid/text/TextDirectionHeuristics;->RTL:Landroid/text/TextDirectionHeuristic;
move-object v0, p0
move-object v1, p1
move v2, p2
move-object v3, p3
move v5, p4
move v6, p5
move v7, p6
.line 41
invoke-static/range {v0 .. v7}, Lcom/taobao/weex/utils/StaticLayoutProxy;->createInternal(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FFZ)Landroid/text/StaticLayout;
move-result-object v0
if-eqz v0, :cond_18
return-object v0
.line 45
:cond_18
new-instance v0, Landroid/text/StaticLayout;
move-object v1, v0
move-object v2, p0
move-object v3, p1
move v4, p2
move-object v5, p3
move v6, p4
move v7, p5
move v8, p6
invoke-direct/range {v1 .. v8}, Landroid/text/StaticLayout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZ)V
return-object v0
.line 48
:cond_26
new-instance v0, Landroid/text/StaticLayout;
move-object v1, v0
move-object v2, p0
move-object v3, p1
move v4, p2
move-object v5, p3
move v6, p4
move v7, p5
move v8, p6
invoke-direct/range {v1 .. v8}, Landroid/text/StaticLayout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZ)V
return-object v0
.end method
.method private static createInternal(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FFZ)Landroid/text/StaticLayout;
.registers 21
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0,
0x0,
0x0,
0x0,
0x0,
0x0,
0x0
}
names = {
"source",
"paint",
"width",
"align",
"textDir",
"spacingmult",
"spacingadd",
"includepad"
}
.end annotation
.line 55
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/4 v1, 0x0
const/16 v2, 0x12
if-ge v0, v2, :cond_8
return-object v1
.line 59
:cond_8
:try_start_8
sget-object v0, Lcom/taobao/weex/utils/StaticLayoutProxy;->layoutConstructor:Ljava/lang/reflect/Constructor;
const/4 v2, 0x7
const/4 v3, 0x6
const/4 v4, 0x5
const/4 v5, 0x4
const/4 v6, 0x3
const/4 v7, 0x2
const/4 v8, 0x1
const/4 v9, 0x0
const/16 v10, 0x8
if-nez v0, :cond_40
.line 60
const-class v0, Landroid/text/StaticLayout;
new-array v11, v10, [Ljava/lang/Class;
.line 61
const-class v12, Ljava/lang/CharSequence;
aput-object v12, v11, v9
const-class v12, Landroid/text/TextPaint;
aput-object v12, v11, v8
sget-object v12, Ljava/lang/Integer;->TYPE:Ljava/lang/Class;
aput-object v12, v11, v7
const-class v12, Landroid/text/Layout$Alignment;
aput-object v12, v11, v6
const-class v12, Landroid/text/TextDirectionHeuristic;
aput-object v12, v11, v5
sget-object v12, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
aput-object v12, v11, v4
sget-object v12, Ljava/lang/Float;->TYPE:Ljava/lang/Class;
aput-object v12, v11, v3
sget-object v12, Ljava/lang/Boolean;->TYPE:Ljava/lang/Class;
aput-object v12, v11, v2
invoke-virtual {v0, v11}, Ljava/lang/Class;->getConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
move-result-object v0
.line 65
sput-object v0, Lcom/taobao/weex/utils/StaticLayoutProxy;->layoutConstructor:Ljava/lang/reflect/Constructor;
.line 67
:cond_40
sget-object v0, Lcom/taobao/weex/utils/StaticLayoutProxy;->layoutConstructor:Ljava/lang/reflect/Constructor;
if-eqz v0, :cond_71
new-array v10, v10, [Ljava/lang/Object;
aput-object p0, v10, v9
aput-object p1, v10, v8
.line 68
invoke-static {p2}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v8
aput-object v8, v10, v7
aput-object p3, v10, v6
aput-object p4, v10, v5
.line 69
invoke-static/range {p5 .. p5}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v5
aput-object v5, v10, v4
invoke-static/range {p6 .. p6}, Ljava/lang/Float;->valueOf(F)Ljava/lang/Float;
move-result-object v4
aput-object v4, v10, v3
invoke-static/range {p7 .. p7}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v3
aput-object v3, v10, v2
.line 68
invoke-virtual {v0, v10}, Ljava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/text/StaticLayout;
:try_end_6c
.catchall {:try_start_8 .. :try_end_6c} :catchall_6d
return-object v0
:catchall_6d
move-exception v0
.line 73
invoke-virtual {v0}, Ljava/lang/Throwable;->printStackTrace()V
:cond_71
return-object v1
.end method