SendMediaManager.smali
.class public Lio/rong/imkit/manager/SendMediaManager;
.super Ljava/lang/Object;
.source "SendMediaManager.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/rong/imkit/manager/SendMediaManager$UploadController;,
Lio/rong/imkit/manager/SendMediaManager$SingletonHolder;
}
.end annotation
# static fields
.field private static final TAG:Ljava/lang/String; = "SendMediaManager"
# instance fields
.field private executorService:Ljava/util/concurrent/ExecutorService;
.field private uploadController:Lio/rong/imkit/manager/SendMediaManager$UploadController;
# direct methods
.method static constructor <clinit>()V
.registers 0
return-void
.end method
.method private constructor <init>()V
.registers 2
.line 2
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 3
invoke-direct {p0}, Lio/rong/imkit/manager/SendMediaManager;->getExecutorService()Ljava/util/concurrent/ExecutorService;
move-result-object v0
iput-object v0, p0, Lio/rong/imkit/manager/SendMediaManager;->executorService:Ljava/util/concurrent/ExecutorService;
.line 4
new-instance v0, Lio/rong/imkit/manager/SendMediaManager$UploadController;
invoke-direct {v0, p0}, Lio/rong/imkit/manager/SendMediaManager$UploadController;-><init>(Lio/rong/imkit/manager/SendMediaManager;)V
iput-object v0, p0, Lio/rong/imkit/manager/SendMediaManager;->uploadController:Lio/rong/imkit/manager/SendMediaManager$UploadController;
return-void
.end method
.method synthetic constructor <init>(Lio/rong/imkit/manager/SendMediaManager$1;)V
.registers 2
.line 1
invoke-direct {p0}, Lio/rong/imkit/manager/SendMediaManager;-><init>()V
return-void
.end method
.method static synthetic access$100(Lio/rong/imkit/manager/SendMediaManager;)Lio/rong/imkit/manager/SendMediaManager$UploadController;
.registers 1
.line 1
iget-object p0, p0, Lio/rong/imkit/manager/SendMediaManager;->uploadController:Lio/rong/imkit/manager/SendMediaManager$UploadController;
return-object p0
.end method
.method static synthetic access$200(Lio/rong/imkit/manager/SendMediaManager;)Ljava/util/concurrent/ExecutorService;
.registers 1
.line 1
iget-object p0, p0, Lio/rong/imkit/manager/SendMediaManager;->executorService:Ljava/util/concurrent/ExecutorService;
return-object p0
.end method
.method static synthetic access$300()Ljava/lang/String;
.registers 1
.line 1
sget-object v0, Lio/rong/imkit/manager/SendMediaManager;->TAG:Ljava/lang/String;
return-object v0
.end method
.method private getExecutorService()Ljava/util/concurrent/ExecutorService;
.registers 10
.line 1
iget-object v0, p0, Lio/rong/imkit/manager/SendMediaManager;->executorService:Ljava/util/concurrent/ExecutorService;
if-nez v0, :cond_1d
.line 2
new-instance v0, Ljava/util/concurrent/ThreadPoolExecutor;
const/4 v2, 0x1
const v3, 0x7fffffff
const-wide/16 v4, 0x3c
sget-object v6, Ljava/util/concurrent/TimeUnit;->SECONDS:Ljava/util/concurrent/TimeUnit;
new-instance v7, Ljava/util/concurrent/SynchronousQueue;
invoke-direct {v7}, Ljava/util/concurrent/SynchronousQueue;-><init>()V
.line 3
invoke-direct {p0}, Lio/rong/imkit/manager/SendMediaManager;->threadFactory()Ljava/util/concurrent/ThreadFactory;
move-result-object v8
move-object v1, v0
invoke-direct/range {v1 .. v8}, Ljava/util/concurrent/ThreadPoolExecutor;-><init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;Ljava/util/concurrent/ThreadFactory;)V
iput-object v0, p0, Lio/rong/imkit/manager/SendMediaManager;->executorService:Ljava/util/concurrent/ExecutorService;
.line 4
:cond_1d
iget-object v0, p0, Lio/rong/imkit/manager/SendMediaManager;->executorService:Ljava/util/concurrent/ExecutorService;
return-object v0
.end method
.method public static getInstance()Lio/rong/imkit/manager/SendMediaManager;
.registers 1
.line 1
sget-object v0, Lio/rong/imkit/manager/SendMediaManager$SingletonHolder;->sInstance:Lio/rong/imkit/manager/SendMediaManager;
return-object v0
.end method
.method private threadFactory()Ljava/util/concurrent/ThreadFactory;
.registers 2
.line 1
new-instance v0, Lio/rong/imkit/manager/SendMediaManager$3;
invoke-direct {v0, p0}, Lio/rong/imkit/manager/SendMediaManager$3;-><init>(Lio/rong/imkit/manager/SendMediaManager;)V
return-object v0
.end method
# virtual methods
.method public cancelSendingMedia(Lio/rong/imlib/model/Conversation$ConversationType;Ljava/lang/String;)V
.registers 5
.line 1
sget-object v0, Lio/rong/imkit/manager/SendMediaManager;->TAG:Ljava/lang/String;
const-string v1, "cancel Sending media"
invoke-static {v0, v1}, Lio/rong/common/RLog;->d(Ljava/lang/String;Ljava/lang/String;)I
if-eqz p1, :cond_12
if-eqz p2, :cond_12
.line 2
iget-object v0, p0, Lio/rong/imkit/manager/SendMediaManager;->uploadController:Lio/rong/imkit/manager/SendMediaManager$UploadController;
if-eqz v0, :cond_12
.line 3
invoke-virtual {v0, p1, p2}, Lio/rong/imkit/manager/SendMediaManager$UploadController;->cancel(Lio/rong/imlib/model/Conversation$ConversationType;Ljava/lang/String;)V
:cond_12
return-void
.end method
.method public cancelSendingMedia(Lio/rong/imlib/model/Conversation$ConversationType;Ljava/lang/String;I)V
.registers 6
.line 4
sget-object v0, Lio/rong/imkit/manager/SendMediaManager;->TAG:Ljava/lang/String;
const-string v1, "cancel Sending media"
invoke-static {v0, v1}, Lio/rong/common/RLog;->d(Ljava/lang/String;Ljava/lang/String;)I
if-eqz p1, :cond_14
if-eqz p2, :cond_14
.line 5
iget-object v0, p0, Lio/rong/imkit/manager/SendMediaManager;->uploadController:Lio/rong/imkit/manager/SendMediaManager$UploadController;
if-eqz v0, :cond_14
if-lez p3, :cond_14
.line 6
invoke-virtual {v0, p1, p2, p3}, Lio/rong/imkit/manager/SendMediaManager$UploadController;->cancel(Lio/rong/imlib/model/Conversation$ConversationType;Ljava/lang/String;I)V
:cond_14
return-void
.end method
.method public reset()V
.registers 2
.line 1
iget-object v0, p0, Lio/rong/imkit/manager/SendMediaManager;->uploadController:Lio/rong/imkit/manager/SendMediaManager$UploadController;
invoke-virtual {v0}, Lio/rong/imkit/manager/SendMediaManager$UploadController;->reset()V
return-void
.end method
.method public sendMedia(Lio/rong/imlib/model/Conversation$ConversationType;Ljava/lang/String;Ljava/util/List;Z)V
.registers 13
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/rong/imlib/model/Conversation$ConversationType;",
"Ljava/lang/String;",
"Ljava/util/List<",
"Landroid/net/Uri;",
">;Z)V"
}
.end annotation
const/4 v5, 0x0
const-wide/16 v6, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v3, p3
move v4, p4
.line 1
invoke-virtual/range {v0 .. v7}, Lio/rong/imkit/manager/SendMediaManager;->sendMedia(Lio/rong/imlib/model/Conversation$ConversationType;Ljava/lang/String;Ljava/util/List;ZZJ)V
return-void
.end method
.method public sendMedia(Lio/rong/imlib/model/Conversation$ConversationType;Ljava/lang/String;Ljava/util/List;ZZJ)V
.registers 15
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lio/rong/imlib/model/Conversation$ConversationType;",
"Ljava/lang/String;",
"Ljava/util/List<",
"Landroid/net/Uri;",
">;ZZJ)V"
}
.end annotation
.line 2
sget-object p4, Lio/rong/imkit/manager/SendMediaManager;->TAG:Ljava/lang/String;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "The size of media is "
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-interface {p3}, Ljava/util/List;->size()I
move-result v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {p4, v0}, Lio/rong/common/RLog;->d(Ljava/lang/String;Ljava/lang/String;)I
.line 3
invoke-static {}, Lio/rong/imkit/RongIM;->getInstance()Lio/rong/imkit/RongIM;
move-result-object p4
invoke-virtual {p4}, Lio/rong/imkit/RongIM;->getApplicationContext()Landroid/content/Context;
move-result-object p4
if-nez p4, :cond_25
return-void
.line 4
:cond_25
invoke-interface {p3}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p3
:cond_29
:goto_29
invoke-interface {p3}, Ljava/util/Iterator;->hasNext()Z
move-result p4
if-eqz p4, :cond_a1
invoke-interface {p3}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p4
check-cast p4, Landroid/net/Uri;
.line 5
invoke-virtual {p4}, Landroid/net/Uri;->toString()Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_29
.line 6
invoke-static {}, Lio/rong/imkit/RongIM;->getInstance()Lio/rong/imkit/RongIM;
move-result-object v0
invoke-virtual {v0}, Lio/rong/imkit/RongIM;->getApplicationContext()Landroid/content/Context;
move-result-object v0
invoke-static {v0, p4}, Lio/rong/common/FileUtils;->isFileExistsWithUri(Landroid/content/Context;Landroid/net/Uri;)Z
move-result v0
if-nez v0, :cond_4e
goto :goto_29
.line 7
:cond_4e
invoke-static {}, Lio/rong/imkit/RongIM;->getInstance()Lio/rong/imkit/RongIM;
move-result-object v0
invoke-virtual {v0}, Lio/rong/imkit/RongIM;->getApplicationContext()Landroid/content/Context;
move-result-object v0
invoke-virtual {p4}, Landroid/net/Uri;->toString()Ljava/lang/String;
move-result-object v1
invoke-static {v0, v1}, Lio/rong/imkit/utilities/RongUtils;->getVideoDuration(Landroid/content/Context;Ljava/lang/String;)I
move-result v0
.line 8
div-int/lit16 v0, v0, 0x3e8
invoke-static {p4, v0}, Lio/rong/message/SightMessage;->obtain(Landroid/net/Uri;I)Lio/rong/message/SightMessage;
move-result-object v5
if-eqz p5, :cond_69
.line 9
invoke-virtual {v5, p6, p7}, Lio/rong/imlib/model/MessageContent;->setDestructTime(J)V
.line 10
:cond_69
invoke-static {}, Lio/rong/imkit/RongContext;->getInstance()Lio/rong/imkit/RongContext;
move-result-object p4
invoke-virtual {p4}, Lio/rong/imkit/RongContext;->getOnSendMessageListener()Lio/rong/imkit/RongIM$OnSendMessageListener;
move-result-object p4
if-eqz p4, :cond_91
.line 11
invoke-static {p2, p1, v5}, Lio/rong/imlib/model/Message;->obtain(Ljava/lang/String;Lio/rong/imlib/model/Conversation$ConversationType;Lio/rong/imlib/model/MessageContent;)Lio/rong/imlib/model/Message;
move-result-object v0
invoke-interface {p4, v0}, Lio/rong/imkit/RongIM$OnSendMessageListener;->onSend(Lio/rong/imlib/model/Message;)Lio/rong/imlib/model/Message;
move-result-object p4
if-eqz p4, :cond_29
.line 12
invoke-static {}, Lio/rong/imlib/RongIMClient;->getInstance()Lio/rong/imlib/RongIMClient;
move-result-object v0
const/4 v3, 0x0
.line 13
invoke-virtual {p4}, Lio/rong/imlib/model/Message;->getContent()Lio/rong/imlib/model/MessageContent;
move-result-object v4
new-instance v5, Lio/rong/imkit/manager/SendMediaManager$1;
invoke-direct {v5, p0}, Lio/rong/imkit/manager/SendMediaManager$1;-><init>(Lio/rong/imkit/manager/SendMediaManager;)V
move-object v1, p1
move-object v2, p2
.line 14
invoke-virtual/range {v0 .. v5}, Lio/rong/imlib/RongIMClient;->insertOutgoingMessage(Lio/rong/imlib/model/Conversation$ConversationType;Ljava/lang/String;Lio/rong/imlib/model/Message$SentStatus;Lio/rong/imlib/model/MessageContent;Lio/rong/imlib/RongIMClient$ResultCallback;)V
goto :goto_29
.line 15
:cond_91
invoke-static {}, Lio/rong/imlib/RongIMClient;->getInstance()Lio/rong/imlib/RongIMClient;
move-result-object v1
const/4 v4, 0x0
new-instance v6, Lio/rong/imkit/manager/SendMediaManager$2;
invoke-direct {v6, p0}, Lio/rong/imkit/manager/SendMediaManager$2;-><init>(Lio/rong/imkit/manager/SendMediaManager;)V
move-object v2, p1
move-object v3, p2
invoke-virtual/range {v1 .. v6}, Lio/rong/imlib/RongIMClient;->insertOutgoingMessage(Lio/rong/imlib/model/Conversation$ConversationType;Ljava/lang/String;Lio/rong/imlib/model/Message$SentStatus;Lio/rong/imlib/model/MessageContent;Lio/rong/imlib/RongIMClient$ResultCallback;)V
goto :goto_29
:cond_a1
return-void
.end method