BaseMediaUploader.smali

.class public abstract Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader;
.super Ljava/lang/Object;
.source "BaseMediaUploader.java"

# interfaces
.implements Lio/rong/imlib/filetransfer/RequestCallBack;
.implements Lio/rong/imlib/filetransfer/upload/uploader/IMediaUploader;


# annotations
.annotation system Ldalvik/annotation/MemberClasses;
    value = {
        Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader$Factory;,
        Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader$BaseBuilder;,
        Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader$IGetUrlResultCallback;
    }
.end annotation


# static fields
.field private static final TAG:Ljava/lang/String; = "BaseMediaUploader"


# instance fields
.field public callback:Lio/rong/imlib/filetransfer/upload/MediaUploadEngine$IMediaUploadResultCallback;

.field protected configuration:Lio/rong/imlib/filetransfer/Configuration;

.field protected nativeObj:Lio/rong/imlib/NativeObject;

.field public option:Lio/rong/imlib/filetransfer/RequestOption$Upload;

.field protected platform:Lio/rong/imlib/filetransfer/upload/FilePlatformInfo;

.field private request:Lio/rong/imlib/filetransfer/Request;


# direct methods
.method static constructor <clinit>()V
    .registers 0

    return-void
.end method

.method public constructor <init>(Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader$BaseBuilder;)V
    .registers 4

    .line 1
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 2
    iget-object v0, p1, Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader$BaseBuilder;->platform:Lio/rong/imlib/filetransfer/upload/FilePlatformInfo;

    iput-object v0, p0, Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader;->platform:Lio/rong/imlib/filetransfer/upload/FilePlatformInfo;

    .line 3
    iget-object v0, p1, Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader$BaseBuilder;->nativeObj:Lio/rong/imlib/NativeObject;

    iput-object v0, p0, Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader;->nativeObj:Lio/rong/imlib/NativeObject;

    .line 4
    invoke-virtual {p0}, Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader;->getConfiguration()Lio/rong/imlib/filetransfer/Configuration;

    move-result-object v0

    if-eqz v0, :cond_16

    invoke-virtual {p0}, Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader;->getConfiguration()Lio/rong/imlib/filetransfer/Configuration;

    move-result-object v0

    goto :goto_2b

    :cond_16
    new-instance v0, Lio/rong/imlib/filetransfer/Configuration$Builder;

    invoke-direct {v0}, Lio/rong/imlib/filetransfer/Configuration$Builder;-><init>()V

    const/16 v1, 0x1e

    invoke-virtual {v0, v1}, Lio/rong/imlib/filetransfer/Configuration$Builder;->connectTimeout(I)Lio/rong/imlib/filetransfer/Configuration$Builder;

    move-result-object v0

    const/16 v1, 0x3c

    invoke-virtual {v0, v1}, Lio/rong/imlib/filetransfer/Configuration$Builder;->readTimeout(I)Lio/rong/imlib/filetransfer/Configuration$Builder;

    move-result-object v0

    invoke-virtual {v0}, Lio/rong/imlib/filetransfer/Configuration$Builder;->build()Lio/rong/imlib/filetransfer/Configuration;

    move-result-object v0

    :goto_2b
    iput-object v0, p0, Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader;->configuration:Lio/rong/imlib/filetransfer/Configuration;

    .line 5
    # getter for: Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader$BaseBuilder;->option:Lio/rong/imlib/filetransfer/RequestOption$Upload;
    invoke-static {p1}, Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader$BaseBuilder;->access$000(Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader$BaseBuilder;)Lio/rong/imlib/filetransfer/RequestOption$Upload;

    move-result-object p1

    iput-object p1, p0, Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader;->option:Lio/rong/imlib/filetransfer/RequestOption$Upload;

    return-void
.end method


# virtual methods
.method protected abstract getConfiguration()Lio/rong/imlib/filetransfer/Configuration;
.end method

.method protected handleURL(Ljava/lang/String;)Ljava/lang/String;
    .registers 5

    .line 1
    invoke-virtual {p1}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;

    move-result-object v0

    const-string v1, "http"

    invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z

    move-result v0

    if-nez v0, :cond_30

    .line 2
    new-instance v0, Ljava/lang/StringBuilder;

    invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V

    sget v1, Landroid/os/Build$VERSION;->SDK_INT:I

    const/16 v2, 0x1c

    if-lt v1, v2, :cond_24

    invoke-static {}, Landroid/security/NetworkSecurityPolicy;->getInstance()Landroid/security/NetworkSecurityPolicy;

    move-result-object v1

    invoke-virtual {v1}, Landroid/security/NetworkSecurityPolicy;->isCleartextTrafficPermitted()Z

    move-result v1

    if-nez v1, :cond_24

    const-string v1, "https://"

    goto :goto_26

    :cond_24
    const-string v1, "http://"

    :goto_26
    invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object p1

    :cond_30
    return-object p1
.end method

.method public onCanceled(Ljava/lang/Object;)V
    .registers 4

    .line 1
    iget-object v0, p0, Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader;->callback:Lio/rong/imlib/filetransfer/upload/MediaUploadEngine$IMediaUploadResultCallback;

    if-eqz v0, :cond_b

    .line 2
    iget-object v1, p0, Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader;->request:Lio/rong/imlib/filetransfer/Request;

    iget-object v1, v1, Lio/rong/imlib/filetransfer/Request;->serverIp:Ljava/lang/String;

    invoke-interface {v0, p1, v1}, Lio/rong/imlib/filetransfer/upload/MediaUploadEngine$IMediaUploadResultCallback;->onCanceled(Ljava/lang/Object;Ljava/lang/String;)V

    :cond_b
    return-void
.end method

.method public onComplete(Ljava/lang/String;)V
    .registers 3

    .line 1
    new-instance v0, Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader$1;

    invoke-direct {v0, p0, p1}, Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader$1;-><init>(Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader;Ljava/lang/String;)V

    invoke-interface {p0, p1, v0}, Lio/rong/imlib/filetransfer/upload/uploader/IMediaUploader;->buildDownloadUrl(Ljava/lang/String;Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader$IGetUrlResultCallback;)V

    return-void
.end method

.method public onError(I)V
    .registers 4

    .line 1
    iget-object v0, p0, Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader;->callback:Lio/rong/imlib/filetransfer/upload/MediaUploadEngine$IMediaUploadResultCallback;

    if-eqz v0, :cond_d

    .line 2
    iget-object v1, p0, Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader;->platform:Lio/rong/imlib/filetransfer/upload/FilePlatformInfo;

    invoke-virtual {v1}, Lio/rong/imlib/filetransfer/upload/FilePlatformInfo;->getHost()Ljava/lang/String;

    move-result-object v1

    invoke-interface {v0, p1, v1}, Lio/rong/imlib/filetransfer/upload/MediaUploadEngine$IMediaUploadResultCallback;->onError(ILjava/lang/String;)V

    :cond_d
    return-void
.end method

.method public onProgress(I)V
    .registers 3

    .line 1
    iget-object v0, p0, Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader;->callback:Lio/rong/imlib/filetransfer/upload/MediaUploadEngine$IMediaUploadResultCallback;

    if-eqz v0, :cond_7

    .line 2
    invoke-interface {v0, p1}, Lio/rong/imlib/filetransfer/upload/MediaUploadEngine$IMediaUploadResultCallback;->onProgress(I)V

    :cond_7
    return-void
.end method

.method public run(Lio/rong/imlib/filetransfer/CallDispatcher;Lio/rong/imlib/filetransfer/upload/MediaUploadEngine$IMediaUploadResultCallback;)V
    .registers 3

    .line 1
    iput-object p2, p0, Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader;->callback:Lio/rong/imlib/filetransfer/upload/MediaUploadEngine$IMediaUploadResultCallback;

    .line 2
    invoke-interface {p0}, Lio/rong/imlib/filetransfer/upload/uploader/IMediaUploader;->buildRequest()Lio/rong/imlib/filetransfer/Request;

    move-result-object p2

    iput-object p2, p0, Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader;->request:Lio/rong/imlib/filetransfer/Request;

    .line 3
    iget-object p2, p0, Lio/rong/imlib/filetransfer/upload/uploader/BaseMediaUploader;->request:Lio/rong/imlib/filetransfer/Request;

    invoke-static {p1, p2}, Lio/rong/imlib/filetransfer/Call;->create(Lio/rong/imlib/filetransfer/CallDispatcher;Lio/rong/imlib/filetransfer/Request;)Lio/rong/imlib/filetransfer/Call;

    move-result-object p1

    .line 4
    invoke-virtual {p1}, Lio/rong/imlib/filetransfer/Call;->enqueue()V

    return-void
.end method