DefaultUriAdapter.smali
.class public Lcom/taobao/weex/adapter/DefaultUriAdapter;
.super Ljava/lang/Object;
.source "DefaultUriAdapter.java"
# interfaces
.implements Lcom/taobao/weex/adapter/URIAdapter;
# direct methods
.method public constructor <init>()V
.registers 1
.line 34
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private buildRelativeURI(Landroid/net/Uri$Builder;Landroid/net/Uri;Landroid/net/Uri;)Landroid/net/Uri$Builder;
.registers 7
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0,
0x0
}
names = {
"resultBuilder",
"base",
"uri"
}
.end annotation
.line 71
invoke-virtual {p3}, Landroid/net/Uri;->getAuthority()Ljava/lang/String;
move-result-object v0
if-eqz v0, :cond_f
.line 72
invoke-virtual {p2}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
move-result-object p2
invoke-virtual {p1, p2}, Landroid/net/Uri$Builder;->scheme(Ljava/lang/String;)Landroid/net/Uri$Builder;
move-result-object p1
return-object p1
.line 75
:cond_f
invoke-virtual {p2}, Landroid/net/Uri;->getEncodedAuthority()Ljava/lang/String;
move-result-object v0
invoke-virtual {p1, v0}, Landroid/net/Uri$Builder;->encodedAuthority(Ljava/lang/String;)Landroid/net/Uri$Builder;
move-result-object v0
.line 76
invoke-virtual {p2}, Landroid/net/Uri;->getScheme()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Landroid/net/Uri$Builder;->scheme(Ljava/lang/String;)Landroid/net/Uri$Builder;
move-result-object v0
const/4 v1, 0x0
.line 77
invoke-virtual {v0, v1}, Landroid/net/Uri$Builder;->path(Ljava/lang/String;)Landroid/net/Uri$Builder;
.line 79
invoke-virtual {p3}, Landroid/net/Uri;->getPath()Ljava/lang/String;
move-result-object v0
const-string v1, "/"
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v0
const/4 v2, 0x1
if-eqz v0, :cond_3c
.line 81
invoke-virtual {p3}, Landroid/net/Uri;->getEncodedPath()Ljava/lang/String;
move-result-object p2
invoke-virtual {p2, v2}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p2
invoke-virtual {p1, p2}, Landroid/net/Uri$Builder;->appendEncodedPath(Ljava/lang/String;)Landroid/net/Uri$Builder;
goto :goto_64
.line 83
:cond_3c
invoke-virtual {p2}, Landroid/net/Uri;->getPathSegments()Ljava/util/List;
move-result-object v0
.line 86
invoke-virtual {p2}, Landroid/net/Uri;->getPath()Ljava/lang/String;
move-result-object p2
invoke-virtual {p2, v1}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
move-result p2
xor-int/2addr p2, v2
const/4 v1, 0x0
.line 89
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v2
sub-int/2addr v2, p2
:goto_4f
if-ge v1, v2, :cond_5d
.line 90
invoke-interface {v0, v1}, Ljava/util/List;->get(I)Ljava/lang/Object;
move-result-object p2
check-cast p2, Ljava/lang/String;
invoke-virtual {p1, p2}, Landroid/net/Uri$Builder;->appendEncodedPath(Ljava/lang/String;)Landroid/net/Uri$Builder;
add-int/lit8 v1, v1, 0x1
goto :goto_4f
.line 92
:cond_5d
invoke-virtual {p3}, Landroid/net/Uri;->getEncodedPath()Ljava/lang/String;
move-result-object p2
invoke-virtual {p1, p2}, Landroid/net/Uri$Builder;->appendEncodedPath(Ljava/lang/String;)Landroid/net/Uri$Builder;
:goto_64
return-object p1
.end method
# virtual methods
.method public rewrite(Lcom/taobao/weex/WXSDKInstance;Ljava/lang/String;Landroid/net/Uri;)Landroid/net/Uri;
.registers 4
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0,
0x0
}
names = {
"instance",
"type",
"uri"
}
.end annotation
.line 40
invoke-virtual {p1}, Lcom/taobao/weex/WXSDKInstance;->getBundleUrl()Ljava/lang/String;
move-result-object p1
invoke-virtual {p0, p1, p2, p3}, Lcom/taobao/weex/adapter/DefaultUriAdapter;->rewrite(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)Landroid/net/Uri;
move-result-object p1
return-object p1
.end method
.method public rewrite(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)Landroid/net/Uri;
.registers 6
.annotation system Ldalvik/annotation/MethodParameters;
accessFlags = {
0x0,
0x0,
0x0
}
names = {
"bundleURL",
"type",
"uri"
}
.end annotation
.line 46
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_7
return-object p3
.line 50
:cond_7
invoke-static {p1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object p1
.line 51
invoke-virtual {p3}, Landroid/net/Uri;->buildUpon()Landroid/net/Uri$Builder;
move-result-object v0
.line 53
invoke-virtual {p3}, Landroid/net/Uri;->isRelative()Z
move-result v1
if-eqz v1, :cond_3c
.line 55
invoke-virtual {p3}, Landroid/net/Uri;->getEncodedPath()Ljava/lang/String;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/String;->length()I
move-result v1
if-nez v1, :cond_33
const-string v0, "image"
.line 56
invoke-virtual {v0, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result p2
if-eqz p2, :cond_32
.line 57
invoke-virtual {p3}, Landroid/net/Uri;->toString()Ljava/lang/String;
move-result-object p2
invoke-static {p2}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result p2
if-eqz p2, :cond_32
return-object p3
:cond_32
return-object p1
.line 63
:cond_33
invoke-direct {p0, v0, p1, p3}, Lcom/taobao/weex/adapter/DefaultUriAdapter;->buildRelativeURI(Landroid/net/Uri$Builder;Landroid/net/Uri;Landroid/net/Uri;)Landroid/net/Uri$Builder;
move-result-object p1
.line 64
invoke-virtual {p1}, Landroid/net/Uri$Builder;->build()Landroid/net/Uri;
move-result-object p1
return-object p1
:cond_3c
return-object p3
.end method