2022-06-10 21:38:30 +09:00

3010 lines
88 KiB
Smali

.class public Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;
.super Ljava/lang/Object;
.source "MqttAsyncClient.java"
# interfaces
.implements Lorg/eclipse/paho/client/mqttv3/IMqttAsyncClient;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient$ReconnectTask;
}
.end annotation
# static fields
.field private static final CLASS_NAME:Ljava/lang/String;
.field private static final CLIENT_ID_PREFIX:Ljava/lang/String; = "paho"
.field private static final DISCONNECT_TIMEOUT:J = 0x2710L
.field private static final MAX_HIGH_SURROGATE:C = '\udbff'
.field private static final MIN_HIGH_SURROGATE:C = '\ud800'
.field private static final QUIESCE_TIMEOUT:J = 0x7530L
.field public static synthetic class$0:Ljava/lang/Class;
.field private static final log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
.field private static reconnectDelay:I
# instance fields
.field private clientId:Ljava/lang/String;
.field public comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
.field private connOpts:Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;
.field private mqttCallback:Lorg/eclipse/paho/client/mqttv3/MqttCallback;
.field private persistence:Lorg/eclipse/paho/client/mqttv3/MqttClientPersistence;
.field private reconnectTimer:Ljava/util/Timer;
.field private reconnecting:Z
.field private serverURI:Ljava/lang/String;
.field private topics:Ljava/util/Hashtable;
.field private userContext:Ljava/lang/Object;
# direct methods
.method public static constructor <clinit>()V
.locals 2
.line 1
sget-object v0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->class$0:Ljava/lang/Class;
if-nez v0, :cond_0
:try_start_0
const-class v0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;
:try_end_0
.catch Ljava/lang/ClassNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
sput-object v0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->class$0:Ljava/lang/Class;
goto :goto_0
:catch_0
move-exception v0
new-instance v1, Ljava/lang/NoClassDefFoundError;
invoke-virtual {v0}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/lang/NoClassDefFoundError;-><init>(Ljava/lang/String;)V
throw v1
:cond_0
:goto_0
invoke-virtual {v0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object v0
sput-object v0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->CLASS_NAME:Ljava/lang/String;
const-string v1, "org.eclipse.paho.client.mqttv3.internal.nls.logcat"
.line 2
invoke-static {v1, v0}, Lorg/eclipse/paho/client/mqttv3/logging/LoggerFactory;->getLogger(Ljava/lang/String;Ljava/lang/String;)Lorg/eclipse/paho/client/mqttv3/logging/Logger;
move-result-object v0
sput-object v0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
const/16 v0, 0x3e8
.line 3
sput v0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->reconnectDelay:I
return-void
.end method
.method public constructor <init>(Ljava/lang/String;Ljava/lang/String;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
.line 1
new-instance v0, Lorg/eclipse/paho/client/mqttv3/persist/MqttDefaultFilePersistence;
invoke-direct {v0}, Lorg/eclipse/paho/client/mqttv3/persist/MqttDefaultFilePersistence;-><init>()V
invoke-direct {p0, p1, p2, v0}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;-><init>(Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/paho/client/mqttv3/MqttClientPersistence;)V
return-void
.end method
.method public constructor <init>(Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/paho/client/mqttv3/MqttClientPersistence;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
.line 2
new-instance v0, Lorg/eclipse/paho/client/mqttv3/TimerPingSender;
invoke-direct {v0}, Lorg/eclipse/paho/client/mqttv3/TimerPingSender;-><init>()V
invoke-direct {p0, p1, p2, p3, v0}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;-><init>(Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/paho/client/mqttv3/MqttClientPersistence;Lorg/eclipse/paho/client/mqttv3/MqttPingSender;)V
return-void
.end method
.method public constructor <init>(Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/paho/client/mqttv3/MqttClientPersistence;Lorg/eclipse/paho/client/mqttv3/MqttPingSender;)V
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
.line 3
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
const/4 v0, 0x0
.line 4
iput-boolean v0, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->reconnecting:Z
.line 5
sget-object v1, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
invoke-interface {v1, p2}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->setResourceName(Ljava/lang/String;)V
if-eqz p2, :cond_4
move v1, v0
move v2, v1
.line 6
:goto_0
invoke-virtual {p2}, Ljava/lang/String;->length()I
move-result v3
const/4 v4, 0x1
sub-int/2addr v3, v4
if-lt v1, v3, :cond_2
const v1, 0xffff
if-gt v2, v1, :cond_1
.line 7
invoke-static {p1}, Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;->validateURI(Ljava/lang/String;)I
.line 8
iput-object p1, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->serverURI:Ljava/lang/String;
.line 9
iput-object p2, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->clientId:Ljava/lang/String;
.line 10
iput-object p3, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->persistence:Lorg/eclipse/paho/client/mqttv3/MqttClientPersistence;
if-nez p3, :cond_0
.line 11
new-instance v1, Lorg/eclipse/paho/client/mqttv3/persist/MemoryPersistence;
invoke-direct {v1}, Lorg/eclipse/paho/client/mqttv3/persist/MemoryPersistence;-><init>()V
iput-object v1, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->persistence:Lorg/eclipse/paho/client/mqttv3/MqttClientPersistence;
.line 12
:cond_0
sget-object v1, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
sget-object v2, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->CLASS_NAME:Ljava/lang/String;
const/4 v3, 0x3
new-array v3, v3, [Ljava/lang/Object;
aput-object p2, v3, v0
aput-object p1, v3, v4
const/4 v0, 0x2
aput-object p3, v3, v0
const-string p3, "MqttAsyncClient"
const-string v0, "101"
invoke-interface {v1, v2, p3, v0, v3}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 13
iget-object p3, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->persistence:Lorg/eclipse/paho/client/mqttv3/MqttClientPersistence;
invoke-interface {p3, p2, p1}, Lorg/eclipse/paho/client/mqttv3/MqttClientPersistence;->open(Ljava/lang/String;Ljava/lang/String;)V
.line 14
new-instance p1, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
iget-object p2, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->persistence:Lorg/eclipse/paho/client/mqttv3/MqttClientPersistence;
invoke-direct {p1, p0, p2, p4}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;-><init>(Lorg/eclipse/paho/client/mqttv3/IMqttAsyncClient;Lorg/eclipse/paho/client/mqttv3/MqttClientPersistence;Lorg/eclipse/paho/client/mqttv3/MqttPingSender;)V
iput-object p1, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
.line 15
iget-object p1, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->persistence:Lorg/eclipse/paho/client/mqttv3/MqttClientPersistence;
invoke-interface {p1}, Lorg/eclipse/paho/client/mqttv3/MqttClientPersistence;->close()V
.line 16
new-instance p1, Ljava/util/Hashtable;
invoke-direct {p1}, Ljava/util/Hashtable;-><init>()V
iput-object p1, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->topics:Ljava/util/Hashtable;
return-void
.line 17
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "ClientId longer than 65535 characters"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.line 18
:cond_2
invoke-virtual {p2, v1}, Ljava/lang/String;->charAt(I)C
move-result v3
invoke-static {v3}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->Character_isHighSurrogate(C)Z
move-result v3
if-eqz v3, :cond_3
add-int/lit8 v1, v1, 0x1
:cond_3
add-int/lit8 v2, v2, 0x1
add-int/2addr v1, v4
goto :goto_0
.line 19
:cond_4
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "Null clientId"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public static Character_isHighSurrogate(C)Z
.locals 1
const v0, 0xd800
if-lt p0, v0, :cond_0
const v0, 0xdbff
if-gt p0, v0, :cond_0
const/4 p0, 0x1
return p0
:cond_0
const/4 p0, 0x0
return p0
.end method
.method public static synthetic access$0()Lorg/eclipse/paho/client/mqttv3/logging/Logger;
.locals 1
.line 1
sget-object v0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
return-object v0
.end method
.method public static synthetic access$1()Ljava/lang/String;
.locals 1
.line 1
sget-object v0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->CLASS_NAME:Ljava/lang/String;
return-object v0
.end method
.method public static synthetic access$2(Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;)V
.locals 0
.line 1
invoke-direct {p0}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->attemptReconnect()V
return-void
.end method
.method public static synthetic access$3(Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;Z)V
.locals 0
.line 1
iput-boolean p1, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->reconnecting:Z
return-void
.end method
.method public static synthetic access$4(Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;)V
.locals 0
.line 1
invoke-direct {p0}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->startReconnectCycle()V
return-void
.end method
.method public static synthetic access$5(Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;)V
.locals 0
.line 1
invoke-direct {p0}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->stopReconnectCycle()V
return-void
.end method
.method public static synthetic access$6()I
.locals 1
.line 1
sget v0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->reconnectDelay:I
return v0
.end method
.method public static synthetic access$7(I)V
.locals 0
.line 1
sput p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->reconnectDelay:I
return-void
.end method
.method public static synthetic access$8(Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;I)V
.locals 0
.line 1
invoke-direct {p0, p1}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->rescheduleReconnectCycle(I)V
return-void
.end method
.method private attemptReconnect()V
.locals 7
.line 1
sget-object v0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
sget-object v1, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->CLASS_NAME:Ljava/lang/String;
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
iget-object v3, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->clientId:Ljava/lang/String;
const/4 v4, 0x0
aput-object v3, v2, v4
const-string v3, "attemptReconnect"
const-string v4, "500"
invoke-interface {v0, v1, v3, v4, v2}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
:try_start_0
iget-object v0, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->connOpts:Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;
iget-object v1, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->userContext:Ljava/lang/Object;
new-instance v2, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient$2;
invoke-direct {v2, p0}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient$2;-><init>(Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;)V
invoke-virtual {p0, v0, v1, v2}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->connect(Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;Ljava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
:try_end_0
.catch Lorg/eclipse/paho/client/mqttv3/MqttSecurityException; {:try_start_0 .. :try_end_0} :catch_1
.catch Lorg/eclipse/paho/client/mqttv3/MqttException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
:catch_0
move-exception v0
move-object v6, v0
.line 3
sget-object v1, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
sget-object v2, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->CLASS_NAME:Ljava/lang/String;
const/4 v5, 0x0
const-string v3, "attemptReconnect"
const-string v4, "804"
invoke-interface/range {v1 .. v6}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
goto :goto_0
:catch_1
move-exception v0
move-object v6, v0
.line 4
sget-object v1, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
sget-object v2, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->CLASS_NAME:Ljava/lang/String;
const/4 v5, 0x0
const-string v3, "attemptReconnect"
const-string v4, "804"
invoke-interface/range {v1 .. v6}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
:goto_0
return-void
.end method
.method private createNetworkModule(Ljava/lang/String;Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;)Lorg/eclipse/paho/client/mqttv3/internal/NetworkModule;
.locals 13
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;,
Lorg/eclipse/paho/client/mqttv3/MqttSecurityException;
}
.end annotation
.line 1
sget-object v0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
sget-object v1, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->CLASS_NAME:Ljava/lang/String;
const/4 v2, 0x1
new-array v3, v2, [Ljava/lang/Object;
const/4 v4, 0x0
aput-object p1, v3, v4
const-string v4, "createNetworkModule"
const-string v5, "115"
invoke-interface {v0, v1, v4, v5, v3}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
invoke-virtual {p2}, Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;->getSocketFactory()Ljavax/net/SocketFactory;
move-result-object v0
.line 3
invoke-static {p1}, Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;->validateURI(Ljava/lang/String;)I
move-result v1
const/4 v3, 0x6
const/16 v4, 0x7d69
const/4 v5, 0x0
if-eqz v1, :cond_e
if-eq v1, v2, :cond_9
const/4 v2, 0x2
if-eq v1, v2, :cond_8
const/4 v2, 0x3
if-eq v1, v2, :cond_5
const/4 v2, 0x4
if-eq v1, v2, :cond_0
goto/16 :goto_4
.line 4
:cond_0
invoke-virtual {p1, v3}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v1
.line 5
invoke-direct {p0, v1}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->getHostName(Ljava/lang/String;)Ljava/lang/String;
move-result-object v9
const/16 v2, 0x1bb
.line 6
invoke-direct {p0, v1, v2}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->getPort(Ljava/lang/String;I)I
move-result v10
if-nez v0, :cond_2
.line 7
new-instance v0, Lorg/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory;
invoke-direct {v0}, Lorg/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory;-><init>()V
.line 8
invoke-virtual {p2}, Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;->getSSLProperties()Ljava/util/Properties;
move-result-object v1
if-eqz v1, :cond_1
.line 9
invoke-virtual {v0, v1, v5}, Lorg/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory;->initialize(Ljava/util/Properties;Ljava/lang/String;)V
.line 10
:cond_1
invoke-virtual {v0, v5}, Lorg/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory;->createSocketFactory(Ljava/lang/String;)Ljavax/net/ssl/SSLSocketFactory;
move-result-object v1
move-object v12, v1
move-object v1, v0
move-object v0, v12
goto :goto_0
.line 11
:cond_2
instance-of v1, v0, Ljavax/net/ssl/SSLSocketFactory;
if-eqz v1, :cond_4
move-object v1, v5
.line 12
:goto_0
new-instance v2, Lorg/eclipse/paho/client/mqttv3/internal/websocket/WebSocketSecureNetworkModule;
move-object v7, v0
check-cast v7, Ljavax/net/ssl/SSLSocketFactory;
iget-object v11, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->clientId:Ljava/lang/String;
move-object v6, v2
move-object v8, p1
invoke-direct/range {v6 .. v11}, Lorg/eclipse/paho/client/mqttv3/internal/websocket/WebSocketSecureNetworkModule;-><init>(Ljavax/net/ssl/SSLSocketFactory;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
.line 13
invoke-virtual {p2}, Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;->getConnectionTimeout()I
move-result p1
invoke-virtual {v2, p1}, Lorg/eclipse/paho/client/mqttv3/internal/SSLNetworkModule;->setSSLhandshakeTimeout(I)V
if-eqz v1, :cond_3
.line 14
invoke-virtual {v1, v5}, Lorg/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory;->getEnabledCipherSuites(Ljava/lang/String;)[Ljava/lang/String;
move-result-object p1
if-eqz p1, :cond_3
.line 15
invoke-virtual {v2, p1}, Lorg/eclipse/paho/client/mqttv3/internal/SSLNetworkModule;->setEnabledCiphers([Ljava/lang/String;)V
:cond_3
move-object v5, v2
goto/16 :goto_4
.line 16
:cond_4
invoke-static {v4}, Lorg/eclipse/paho/client/mqttv3/internal/ExceptionHelper;->createMqttException(I)Lorg/eclipse/paho/client/mqttv3/MqttException;
move-result-object p1
throw p1
:cond_5
const/4 v1, 0x5
.line 17
invoke-virtual {p1, v1}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object v1
.line 18
invoke-direct {p0, v1}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->getHostName(Ljava/lang/String;)Ljava/lang/String;
move-result-object v8
const/16 v2, 0x50
.line 19
invoke-direct {p0, v1, v2}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->getPort(Ljava/lang/String;I)I
move-result v9
if-nez v0, :cond_6
.line 20
invoke-static {}, Ljavax/net/SocketFactory;->getDefault()Ljavax/net/SocketFactory;
move-result-object v0
goto :goto_1
.line 21
:cond_6
instance-of v1, v0, Ljavax/net/ssl/SSLSocketFactory;
if-nez v1, :cond_7
:goto_1
move-object v6, v0
.line 22
new-instance v0, Lorg/eclipse/paho/client/mqttv3/internal/websocket/WebSocketNetworkModule;
iget-object v10, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->clientId:Ljava/lang/String;
move-object v5, v0
move-object v7, p1
invoke-direct/range {v5 .. v10}, Lorg/eclipse/paho/client/mqttv3/internal/websocket/WebSocketNetworkModule;-><init>(Ljavax/net/SocketFactory;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
.line 23
invoke-virtual {p2}, Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;->getConnectionTimeout()I
move-result p1
invoke-virtual {v0, p1}, Lorg/eclipse/paho/client/mqttv3/internal/TCPNetworkModule;->setConnectTimeout(I)V
goto/16 :goto_4
.line 24
:cond_7
invoke-static {v4}, Lorg/eclipse/paho/client/mqttv3/internal/ExceptionHelper;->createMqttException(I)Lorg/eclipse/paho/client/mqttv3/MqttException;
move-result-object p1
throw p1
.line 25
:cond_8
new-instance v5, Lorg/eclipse/paho/client/mqttv3/internal/LocalNetworkModule;
const/16 p2, 0x8
invoke-virtual {p1, p2}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p1
invoke-direct {v5, p1}, Lorg/eclipse/paho/client/mqttv3/internal/LocalNetworkModule;-><init>(Ljava/lang/String;)V
goto/16 :goto_4
.line 26
:cond_9
invoke-virtual {p1, v3}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p1
.line 27
invoke-direct {p0, p1}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->getHostName(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const/16 v2, 0x22b3
.line 28
invoke-direct {p0, p1, v2}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->getPort(Ljava/lang/String;I)I
move-result p1
if-nez v0, :cond_b
.line 29
new-instance v0, Lorg/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory;
invoke-direct {v0}, Lorg/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory;-><init>()V
.line 30
invoke-virtual {p2}, Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;->getSSLProperties()Ljava/util/Properties;
move-result-object v2
if-eqz v2, :cond_a
.line 31
invoke-virtual {v0, v2, v5}, Lorg/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory;->initialize(Ljava/util/Properties;Ljava/lang/String;)V
.line 32
:cond_a
invoke-virtual {v0, v5}, Lorg/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory;->createSocketFactory(Ljava/lang/String;)Ljavax/net/ssl/SSLSocketFactory;
move-result-object v2
move-object v12, v2
move-object v2, v0
move-object v0, v12
goto :goto_2
.line 33
:cond_b
instance-of v2, v0, Ljavax/net/ssl/SSLSocketFactory;
if-eqz v2, :cond_d
move-object v2, v5
.line 34
:goto_2
new-instance v3, Lorg/eclipse/paho/client/mqttv3/internal/SSLNetworkModule;
check-cast v0, Ljavax/net/ssl/SSLSocketFactory;
iget-object v4, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->clientId:Ljava/lang/String;
invoke-direct {v3, v0, v1, p1, v4}, Lorg/eclipse/paho/client/mqttv3/internal/SSLNetworkModule;-><init>(Ljavax/net/ssl/SSLSocketFactory;Ljava/lang/String;ILjava/lang/String;)V
.line 35
invoke-virtual {p2}, Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;->getConnectionTimeout()I
move-result p1
invoke-virtual {v3, p1}, Lorg/eclipse/paho/client/mqttv3/internal/SSLNetworkModule;->setSSLhandshakeTimeout(I)V
if-eqz v2, :cond_c
.line 36
invoke-virtual {v2, v5}, Lorg/eclipse/paho/client/mqttv3/internal/security/SSLSocketFactoryFactory;->getEnabledCipherSuites(Ljava/lang/String;)[Ljava/lang/String;
move-result-object p1
if-eqz p1, :cond_c
.line 37
invoke-virtual {v3, p1}, Lorg/eclipse/paho/client/mqttv3/internal/SSLNetworkModule;->setEnabledCiphers([Ljava/lang/String;)V
:cond_c
move-object v5, v3
goto :goto_4
.line 38
:cond_d
invoke-static {v4}, Lorg/eclipse/paho/client/mqttv3/internal/ExceptionHelper;->createMqttException(I)Lorg/eclipse/paho/client/mqttv3/MqttException;
move-result-object p1
throw p1
.line 39
:cond_e
invoke-virtual {p1, v3}, Ljava/lang/String;->substring(I)Ljava/lang/String;
move-result-object p1
.line 40
invoke-direct {p0, p1}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->getHostName(Ljava/lang/String;)Ljava/lang/String;
move-result-object v1
const/16 v2, 0x75b
.line 41
invoke-direct {p0, p1, v2}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->getPort(Ljava/lang/String;I)I
move-result p1
if-nez v0, :cond_f
.line 42
invoke-static {}, Ljavax/net/SocketFactory;->getDefault()Ljavax/net/SocketFactory;
move-result-object v0
goto :goto_3
.line 43
:cond_f
instance-of v2, v0, Ljavax/net/ssl/SSLSocketFactory;
if-nez v2, :cond_10
.line 44
:goto_3
new-instance v5, Lorg/eclipse/paho/client/mqttv3/internal/TCPNetworkModule;
iget-object v2, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->clientId:Ljava/lang/String;
invoke-direct {v5, v0, v1, p1, v2}, Lorg/eclipse/paho/client/mqttv3/internal/TCPNetworkModule;-><init>(Ljavax/net/SocketFactory;Ljava/lang/String;ILjava/lang/String;)V
.line 45
invoke-virtual {p2}, Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;->getConnectionTimeout()I
move-result p1
invoke-virtual {v5, p1}, Lorg/eclipse/paho/client/mqttv3/internal/TCPNetworkModule;->setConnectTimeout(I)V
:goto_4
return-object v5
.line 46
:cond_10
invoke-static {v4}, Lorg/eclipse/paho/client/mqttv3/internal/ExceptionHelper;->createMqttException(I)Lorg/eclipse/paho/client/mqttv3/MqttException;
move-result-object p1
throw p1
.end method
.method public static generateClientId()Ljava/lang/String;
.locals 3
.line 1
new-instance v0, Ljava/lang/StringBuffer;
const-string v1, "paho"
invoke-direct {v0, v1}, Ljava/lang/StringBuffer;-><init>(Ljava/lang/String;)V
invoke-static {}, Ljava/lang/System;->nanoTime()J
move-result-wide v1
invoke-virtual {v0, v1, v2}, Ljava/lang/StringBuffer;->append(J)Ljava/lang/StringBuffer;
invoke-virtual {v0}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method private getHostName(Ljava/lang/String;)Ljava/lang/String;
.locals 2
const/16 v0, 0x3a
.line 1
invoke-virtual {p1, v0}, Ljava/lang/String;->indexOf(I)I
move-result v0
const/4 v1, -0x1
if-ne v0, v1, :cond_0
const/16 v0, 0x2f
.line 2
invoke-virtual {p1, v0}, Ljava/lang/String;->indexOf(I)I
move-result v0
:cond_0
if-ne v0, v1, :cond_1
.line 3
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result v0
:cond_1
const/4 v1, 0x0
.line 4
invoke-virtual {p1, v1, v0}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method private getPort(Ljava/lang/String;I)I
.locals 2
const/16 v0, 0x3a
.line 1
invoke-virtual {p1, v0}, Ljava/lang/String;->lastIndexOf(I)I
move-result v0
const/4 v1, -0x1
if-ne v0, v1, :cond_0
goto :goto_0
:cond_0
const/16 p2, 0x2f
.line 2
invoke-virtual {p1, p2}, Ljava/lang/String;->indexOf(I)I
move-result p2
if-ne p2, v1, :cond_1
.line 3
invoke-virtual {p1}, Ljava/lang/String;->length()I
move-result p2
:cond_1
add-int/lit8 v0, v0, 0x1
.line 4
invoke-virtual {p1, v0, p2}, Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I
move-result p2
:goto_0
return p2
.end method
.method private rescheduleReconnectCycle(I)V
.locals 5
.line 1
sget-object p1, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
sget-object v0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->CLASS_NAME:Ljava/lang/String;
const/4 v1, 0x2
new-array v1, v1, [Ljava/lang/Object;
iget-object v2, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->clientId:Ljava/lang/String;
const/4 v3, 0x0
aput-object v2, v1, v3
new-instance v2, Ljava/lang/Long;
sget v3, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->reconnectDelay:I
int-to-long v3, v3
invoke-direct {v2, v3, v4}, Ljava/lang/Long;-><init>(J)V
const/4 v3, 0x1
aput-object v2, v1, v3
const-string v2, "rescheduleReconnectCycle"
const-string v3, "505"
invoke-interface {p1, v0, v2, v3, v1}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
iget-object p1, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->reconnectTimer:Ljava/util/Timer;
new-instance v0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient$ReconnectTask;
const/4 v1, 0x0
invoke-direct {v0, p0, v1}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient$ReconnectTask;-><init>(Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient$ReconnectTask;)V
sget v1, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->reconnectDelay:I
int-to-long v1, v1
invoke-virtual {p1, v0, v1, v2}, Ljava/util/Timer;->schedule(Ljava/util/TimerTask;J)V
return-void
.end method
.method private startReconnectCycle()V
.locals 6
.line 1
sget-object v0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
sget-object v1, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->CLASS_NAME:Ljava/lang/String;
const/4 v2, 0x2
new-array v2, v2, [Ljava/lang/Object;
iget-object v3, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->clientId:Ljava/lang/String;
const/4 v4, 0x0
aput-object v3, v2, v4
new-instance v3, Ljava/lang/Long;
sget v4, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->reconnectDelay:I
int-to-long v4, v4
invoke-direct {v3, v4, v5}, Ljava/lang/Long;-><init>(J)V
const/4 v4, 0x1
aput-object v3, v2, v4
const-string v3, "startReconnectCycle"
const-string v4, "503"
invoke-interface {v0, v1, v3, v4, v2}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
new-instance v0, Ljava/util/Timer;
new-instance v1, Ljava/lang/StringBuffer;
const-string v2, "MQTT Reconnect: "
invoke-direct {v1, v2}, Ljava/lang/StringBuffer;-><init>(Ljava/lang/String;)V
iget-object v2, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->clientId:Ljava/lang/String;
invoke-virtual {v1, v2}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
invoke-virtual {v1}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/util/Timer;-><init>(Ljava/lang/String;)V
iput-object v0, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->reconnectTimer:Ljava/util/Timer;
.line 3
new-instance v1, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient$ReconnectTask;
const/4 v2, 0x0
invoke-direct {v1, p0, v2}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient$ReconnectTask;-><init>(Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient$ReconnectTask;)V
sget v2, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->reconnectDelay:I
int-to-long v2, v2
invoke-virtual {v0, v1, v2, v3}, Ljava/util/Timer;->schedule(Ljava/util/TimerTask;J)V
return-void
.end method
.method private stopReconnectCycle()V
.locals 5
.line 1
sget-object v0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
sget-object v1, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->CLASS_NAME:Ljava/lang/String;
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
iget-object v3, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->clientId:Ljava/lang/String;
const/4 v4, 0x0
aput-object v3, v2, v4
const-string v3, "stopReconnectCycle"
const-string v4, "504"
invoke-interface {v0, v1, v3, v4, v2}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
iget-object v0, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->reconnectTimer:Ljava/util/Timer;
invoke-virtual {v0}, Ljava/util/Timer;->cancel()V
const/16 v0, 0x3e8
.line 3
sput v0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->reconnectDelay:I
return-void
.end method
# virtual methods
.method public checkPing(Ljava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
.line 1
sget-object p1, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
sget-object p2, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->CLASS_NAME:Ljava/lang/String;
const-string v0, "ping"
const-string v1, "117"
invoke-interface {p1, p2, v0, v1}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.line 2
iget-object v1, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {v1}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->checkForActivity()Lorg/eclipse/paho/client/mqttv3/MqttToken;
move-result-object v1
const-string v2, "118"
.line 3
invoke-interface {p1, p2, v0, v2}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-object v1
.end method
.method public close()V
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
.line 1
sget-object v0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
sget-object v1, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->CLASS_NAME:Ljava/lang/String;
const-string v2, "close"
const-string v3, "113"
invoke-interface {v0, v1, v2, v3}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.line 2
iget-object v3, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {v3}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->close()V
const-string v3, "114"
.line 3
invoke-interface {v0, v1, v2, v3}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public connect()Lorg/eclipse/paho/client/mqttv3/IMqttToken;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;,
Lorg/eclipse/paho/client/mqttv3/MqttSecurityException;
}
.end annotation
const/4 v0, 0x0
.line 2
invoke-virtual {p0, v0, v0}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->connect(Ljava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
move-result-object v0
return-object v0
.end method
.method public connect(Ljava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;,
Lorg/eclipse/paho/client/mqttv3/MqttSecurityException;
}
.end annotation
.line 1
new-instance v0, Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;
invoke-direct {v0}, Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;-><init>()V
invoke-virtual {p0, v0, p1, p2}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->connect(Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;Ljava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
move-result-object p1
return-object p1
.end method
.method public connect(Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;,
Lorg/eclipse/paho/client/mqttv3/MqttSecurityException;
}
.end annotation
const/4 v0, 0x0
.line 3
invoke-virtual {p0, p1, v0, v0}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->connect(Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;Ljava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
move-result-object p1
return-object p1
.end method
.method public connect(Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;Ljava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
.locals 13
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;,
Lorg/eclipse/paho/client/mqttv3/MqttSecurityException;
}
.end annotation
move-object v9, p0
move-object v4, p1
move-object v6, p2
.line 4
iget-object v0, v9, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {v0}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->isConnected()Z
move-result v0
if-nez v0, :cond_6
.line 5
iget-object v0, v9, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {v0}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->isConnecting()Z
move-result v0
if-nez v0, :cond_5
.line 6
iget-object v0, v9, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {v0}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->isDisconnecting()Z
move-result v0
if-nez v0, :cond_4
.line 7
iget-object v0, v9, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {v0}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->isClosed()Z
move-result v0
if-nez v0, :cond_3
.line 8
iput-object v4, v9, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->connOpts:Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;
.line 9
iput-object v6, v9, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->userContext:Ljava/lang/Object;
.line 10
invoke-virtual {p1}, Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;->isAutomaticReconnect()Z
move-result v0
.line 11
sget-object v1, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
sget-object v2, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->CLASS_NAME:Ljava/lang/String;
const/16 v3, 0x8
new-array v3, v3, [Ljava/lang/Object;
.line 12
invoke-virtual {p1}, Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;->isCleanSession()Z
move-result v5
invoke-static {v5}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v5
const/4 v10, 0x0
aput-object v5, v3, v10
const/4 v5, 0x1
.line 13
new-instance v7, Ljava/lang/Integer;
invoke-virtual {p1}, Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;->getConnectionTimeout()I
move-result v8
invoke-direct {v7, v8}, Ljava/lang/Integer;-><init>(I)V
aput-object v7, v3, v5
const/4 v5, 0x2
.line 14
new-instance v7, Ljava/lang/Integer;
invoke-virtual {p1}, Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;->getKeepAliveInterval()I
move-result v8
invoke-direct {v7, v8}, Ljava/lang/Integer;-><init>(I)V
aput-object v7, v3, v5
const/4 v5, 0x3
.line 15
invoke-virtual {p1}, Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;->getUserName()Ljava/lang/String;
move-result-object v7
aput-object v7, v3, v5
const/4 v5, 0x4
.line 16
invoke-virtual {p1}, Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;->getPassword()[C
move-result-object v7
const-string v8, "[null]"
const-string v11, "[notnull]"
if-nez v7, :cond_0
move-object v7, v8
goto :goto_0
:cond_0
move-object v7, v11
:goto_0
aput-object v7, v3, v5
const/4 v5, 0x5
.line 17
invoke-virtual {p1}, Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;->getWillMessage()Lorg/eclipse/paho/client/mqttv3/MqttMessage;
move-result-object v7
if-nez v7, :cond_1
goto :goto_1
:cond_1
move-object v8, v11
:goto_1
aput-object v8, v3, v5
const/4 v5, 0x6
aput-object v6, v3, v5
const/4 v5, 0x7
aput-object p3, v3, v5
const-string v5, "connect"
const-string v7, "103"
.line 18
invoke-interface {v1, v2, v5, v7, v3}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 19
iget-object v1, v9, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
iget-object v2, v9, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->serverURI:Ljava/lang/String;
invoke-virtual {p0, v2, p1}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->createNetworkModules(Ljava/lang/String;Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;)[Lorg/eclipse/paho/client/mqttv3/internal/NetworkModule;
move-result-object v2
invoke-virtual {v1, v2}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->setNetworkModules([Lorg/eclipse/paho/client/mqttv3/internal/NetworkModule;)V
.line 20
iget-object v1, v9, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
new-instance v2, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient$1;
invoke-direct {v2, p0, v0}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient$1;-><init>(Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;Z)V
invoke-virtual {v1, v2}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->setReconnectCallback(Lorg/eclipse/paho/client/mqttv3/MqttCallbackExtended;)V
.line 21
new-instance v11, Lorg/eclipse/paho/client/mqttv3/MqttToken;
invoke-virtual {p0}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->getClientId()Ljava/lang/String;
move-result-object v0
invoke-direct {v11, v0}, Lorg/eclipse/paho/client/mqttv3/MqttToken;-><init>(Ljava/lang/String;)V
.line 22
new-instance v12, Lorg/eclipse/paho/client/mqttv3/internal/ConnectActionListener;
iget-object v2, v9, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->persistence:Lorg/eclipse/paho/client/mqttv3/MqttClientPersistence;
iget-object v3, v9, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
iget-boolean v8, v9, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->reconnecting:Z
move-object v0, v12
move-object v1, p0
move-object v4, p1
move-object v5, v11
move-object v6, p2
move-object/from16 v7, p3
invoke-direct/range {v0 .. v8}, Lorg/eclipse/paho/client/mqttv3/internal/ConnectActionListener;-><init>(Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;Lorg/eclipse/paho/client/mqttv3/MqttClientPersistence;Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;Lorg/eclipse/paho/client/mqttv3/MqttToken;Ljava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;Z)V
.line 23
invoke-virtual {v11, v12}, Lorg/eclipse/paho/client/mqttv3/MqttToken;->setActionCallback(Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)V
.line 24
invoke-virtual {v11, p0}, Lorg/eclipse/paho/client/mqttv3/MqttToken;->setUserContext(Ljava/lang/Object;)V
.line 25
iget-object v0, v9, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->mqttCallback:Lorg/eclipse/paho/client/mqttv3/MqttCallback;
instance-of v1, v0, Lorg/eclipse/paho/client/mqttv3/MqttCallbackExtended;
if-eqz v1, :cond_2
.line 26
check-cast v0, Lorg/eclipse/paho/client/mqttv3/MqttCallbackExtended;
invoke-virtual {v12, v0}, Lorg/eclipse/paho/client/mqttv3/internal/ConnectActionListener;->setMqttCallbackExtended(Lorg/eclipse/paho/client/mqttv3/MqttCallbackExtended;)V
.line 27
:cond_2
iget-object v0, v9, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {v0, v10}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->setNetworkModuleIndex(I)V
.line 28
invoke-virtual {v12}, Lorg/eclipse/paho/client/mqttv3/internal/ConnectActionListener;->connect()V
return-object v11
.line 29
:cond_3
new-instance v0, Lorg/eclipse/paho/client/mqttv3/MqttException;
const/16 v1, 0x7d6f
invoke-direct {v0, v1}, Lorg/eclipse/paho/client/mqttv3/MqttException;-><init>(I)V
throw v0
.line 30
:cond_4
new-instance v0, Lorg/eclipse/paho/client/mqttv3/MqttException;
const/16 v1, 0x7d66
invoke-direct {v0, v1}, Lorg/eclipse/paho/client/mqttv3/MqttException;-><init>(I)V
throw v0
.line 31
:cond_5
new-instance v0, Lorg/eclipse/paho/client/mqttv3/MqttException;
const/16 v1, 0x7d6e
invoke-direct {v0, v1}, Lorg/eclipse/paho/client/mqttv3/MqttException;-><init>(I)V
throw v0
:cond_6
const/16 v0, 0x7d64
.line 32
invoke-static {v0}, Lorg/eclipse/paho/client/mqttv3/internal/ExceptionHelper;->createMqttException(I)Lorg/eclipse/paho/client/mqttv3/MqttException;
move-result-object v0
throw v0
.end method
.method public createNetworkModules(Ljava/lang/String;Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;)[Lorg/eclipse/paho/client/mqttv3/internal/NetworkModule;
.locals 7
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;,
Lorg/eclipse/paho/client/mqttv3/MqttSecurityException;
}
.end annotation
.line 1
sget-object v0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
sget-object v1, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->CLASS_NAME:Ljava/lang/String;
const/4 v2, 0x1
new-array v3, v2, [Ljava/lang/Object;
const/4 v4, 0x0
aput-object p1, v3, v4
const-string v5, "createNetworkModules"
const-string v6, "116"
invoke-interface {v0, v1, v5, v6, v3}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
invoke-virtual {p2}, Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;->getServerURIs()[Ljava/lang/String;
move-result-object v0
if-nez v0, :cond_0
new-array v0, v2, [Ljava/lang/String;
aput-object p1, v0, v4
goto :goto_0
.line 3
:cond_0
array-length v1, v0
if-nez v1, :cond_1
new-array v0, v2, [Ljava/lang/String;
aput-object p1, v0, v4
.line 4
:cond_1
:goto_0
array-length p1, v0
new-array p1, p1, [Lorg/eclipse/paho/client/mqttv3/internal/NetworkModule;
.line 5
:goto_1
array-length v1, v0
if-lt v4, v1, :cond_2
.line 6
sget-object p2, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
sget-object v0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->CLASS_NAME:Ljava/lang/String;
const-string v1, "108"
invoke-interface {p2, v0, v5, v1}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-object p1
.line 7
:cond_2
aget-object v1, v0, v4
invoke-direct {p0, v1, p2}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->createNetworkModule(Ljava/lang/String;Lorg/eclipse/paho/client/mqttv3/MqttConnectOptions;)Lorg/eclipse/paho/client/mqttv3/internal/NetworkModule;
move-result-object v1
aput-object v1, p1, v4
add-int/lit8 v4, v4, 0x1
goto :goto_1
.end method
.method public deleteBufferedMessage(I)V
.locals 1
.line 1
iget-object v0, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {v0, p1}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->deleteBufferedMessage(I)V
return-void
.end method
.method public disconnect()Lorg/eclipse/paho/client/mqttv3/IMqttToken;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
const/4 v0, 0x0
.line 2
invoke-virtual {p0, v0, v0}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->disconnect(Ljava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
move-result-object v0
return-object v0
.end method
.method public disconnect(J)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
const/4 v0, 0x0
.line 3
invoke-virtual {p0, p1, p2, v0, v0}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->disconnect(JLjava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
move-result-object p1
return-object p1
.end method
.method public disconnect(JLjava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
.line 4
sget-object v0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
sget-object v1, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->CLASS_NAME:Ljava/lang/String;
const/4 v2, 0x3
new-array v2, v2, [Ljava/lang/Object;
new-instance v3, Ljava/lang/Long;
invoke-direct {v3, p1, p2}, Ljava/lang/Long;-><init>(J)V
const/4 v4, 0x0
aput-object v3, v2, v4
const/4 v3, 0x1
aput-object p3, v2, v3
const/4 v3, 0x2
aput-object p4, v2, v3
const-string v3, "disconnect"
const-string v4, "104"
invoke-interface {v0, v1, v3, v4, v2}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 5
new-instance v2, Lorg/eclipse/paho/client/mqttv3/MqttToken;
invoke-virtual {p0}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->getClientId()Ljava/lang/String;
move-result-object v4
invoke-direct {v2, v4}, Lorg/eclipse/paho/client/mqttv3/MqttToken;-><init>(Ljava/lang/String;)V
.line 6
invoke-virtual {v2, p4}, Lorg/eclipse/paho/client/mqttv3/MqttToken;->setActionCallback(Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)V
.line 7
invoke-virtual {v2, p3}, Lorg/eclipse/paho/client/mqttv3/MqttToken;->setUserContext(Ljava/lang/Object;)V
.line 8
new-instance p3, Lorg/eclipse/paho/client/mqttv3/internal/wire/MqttDisconnect;
invoke-direct {p3}, Lorg/eclipse/paho/client/mqttv3/internal/wire/MqttDisconnect;-><init>()V
.line 9
:try_start_0
iget-object p4, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {p4, p3, p1, p2, v2}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->disconnect(Lorg/eclipse/paho/client/mqttv3/internal/wire/MqttDisconnect;JLorg/eclipse/paho/client/mqttv3/MqttToken;)V
:try_end_0
.catch Lorg/eclipse/paho/client/mqttv3/MqttException; {:try_start_0 .. :try_end_0} :catch_0
const-string p1, "108"
.line 10
invoke-interface {v0, v1, v3, p1}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-object v2
:catch_0
move-exception p1
.line 11
sget-object v0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
sget-object v1, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->CLASS_NAME:Ljava/lang/String;
const/4 v4, 0x0
const-string v2, "disconnect"
const-string v3, "105"
move-object v5, p1
invoke-interface/range {v0 .. v5}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
.line 12
throw p1
.end method
.method public disconnect(Ljava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
const-wide/16 v0, 0x7530
.line 1
invoke-virtual {p0, v0, v1, p1, p2}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->disconnect(JLjava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
move-result-object p1
return-object p1
.end method
.method public disconnectForcibly()V
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
const-wide/16 v0, 0x7530
const-wide/16 v2, 0x2710
.line 1
invoke-virtual {p0, v0, v1, v2, v3}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->disconnectForcibly(JJ)V
return-void
.end method
.method public disconnectForcibly(J)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
const-wide/16 v0, 0x7530
.line 2
invoke-virtual {p0, v0, v1, p1, p2}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->disconnectForcibly(JJ)V
return-void
.end method
.method public disconnectForcibly(JJ)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
.line 3
iget-object v0, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {v0, p1, p2, p3, p4}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->disconnectForcibly(JJ)V
return-void
.end method
.method public getBufferedMessage(I)Lorg/eclipse/paho/client/mqttv3/MqttMessage;
.locals 1
.line 1
iget-object v0, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {v0, p1}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->getBufferedMessage(I)Lorg/eclipse/paho/client/mqttv3/MqttMessage;
move-result-object p1
return-object p1
.end method
.method public getBufferedMessageCount()I
.locals 1
.line 1
iget-object v0, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {v0}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->getBufferedMessageCount()I
move-result v0
return v0
.end method
.method public getClientId()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->clientId:Ljava/lang/String;
return-object v0
.end method
.method public getCurrentServerURI()Ljava/lang/String;
.locals 2
.line 1
iget-object v0, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {v0}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->getNetworkModules()[Lorg/eclipse/paho/client/mqttv3/internal/NetworkModule;
move-result-object v0
iget-object v1, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {v1}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->getNetworkModuleIndex()I
move-result v1
aget-object v0, v0, v1
invoke-interface {v0}, Lorg/eclipse/paho/client/mqttv3/internal/NetworkModule;->getServerURI()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public getDebug()Lorg/eclipse/paho/client/mqttv3/util/Debug;
.locals 3
.line 1
new-instance v0, Lorg/eclipse/paho/client/mqttv3/util/Debug;
iget-object v1, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->clientId:Ljava/lang/String;
iget-object v2, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-direct {v0, v1, v2}, Lorg/eclipse/paho/client/mqttv3/util/Debug;-><init>(Ljava/lang/String;Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;)V
return-object v0
.end method
.method public getPendingDeliveryTokens()[Lorg/eclipse/paho/client/mqttv3/IMqttDeliveryToken;
.locals 1
.line 1
iget-object v0, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {v0}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->getPendingDeliveryTokens()[Lorg/eclipse/paho/client/mqttv3/MqttDeliveryToken;
move-result-object v0
return-object v0
.end method
.method public getServerURI()Ljava/lang/String;
.locals 1
.line 1
iget-object v0, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->serverURI:Ljava/lang/String;
return-object v0
.end method
.method public getTopic(Ljava/lang/String;)Lorg/eclipse/paho/client/mqttv3/MqttTopic;
.locals 2
const/4 v0, 0x0
.line 1
invoke-static {p1, v0}, Lorg/eclipse/paho/client/mqttv3/MqttTopic;->validate(Ljava/lang/String;Z)V
.line 2
iget-object v0, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->topics:Ljava/util/Hashtable;
invoke-virtual {v0, p1}, Ljava/util/Hashtable;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lorg/eclipse/paho/client/mqttv3/MqttTopic;
if-nez v0, :cond_0
.line 3
new-instance v0, Lorg/eclipse/paho/client/mqttv3/MqttTopic;
iget-object v1, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-direct {v0, p1, v1}, Lorg/eclipse/paho/client/mqttv3/MqttTopic;-><init>(Ljava/lang/String;Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;)V
.line 4
iget-object v1, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->topics:Ljava/util/Hashtable;
invoke-virtual {v1, p1, v0}, Ljava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
:cond_0
return-object v0
.end method
.method public isConnected()Z
.locals 1
.line 1
iget-object v0, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {v0}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->isConnected()Z
move-result v0
return v0
.end method
.method public messageArrivedComplete(II)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
.line 1
iget-object v0, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {v0, p1, p2}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->messageArrivedComplete(II)V
return-void
.end method
.method public publish(Ljava/lang/String;Lorg/eclipse/paho/client/mqttv3/MqttMessage;)Lorg/eclipse/paho/client/mqttv3/IMqttDeliveryToken;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;,
Lorg/eclipse/paho/client/mqttv3/MqttPersistenceException;
}
.end annotation
const/4 v0, 0x0
.line 6
invoke-virtual {p0, p1, p2, v0, v0}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->publish(Ljava/lang/String;Lorg/eclipse/paho/client/mqttv3/MqttMessage;Ljava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttDeliveryToken;
move-result-object p1
return-object p1
.end method
.method public publish(Ljava/lang/String;Lorg/eclipse/paho/client/mqttv3/MqttMessage;Ljava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttDeliveryToken;
.locals 7
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;,
Lorg/eclipse/paho/client/mqttv3/MqttPersistenceException;
}
.end annotation
.line 7
sget-object v0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
sget-object v1, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->CLASS_NAME:Ljava/lang/String;
const/4 v2, 0x3
new-array v2, v2, [Ljava/lang/Object;
const/4 v3, 0x0
aput-object p1, v2, v3
const/4 v4, 0x1
aput-object p3, v2, v4
const/4 v5, 0x2
aput-object p4, v2, v5
const-string v5, "publish"
const-string v6, "111"
invoke-interface {v0, v1, v5, v6, v2}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 8
invoke-static {p1, v3}, Lorg/eclipse/paho/client/mqttv3/MqttTopic;->validate(Ljava/lang/String;Z)V
.line 9
new-instance v2, Lorg/eclipse/paho/client/mqttv3/MqttDeliveryToken;
invoke-virtual {p0}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->getClientId()Ljava/lang/String;
move-result-object v6
invoke-direct {v2, v6}, Lorg/eclipse/paho/client/mqttv3/MqttDeliveryToken;-><init>(Ljava/lang/String;)V
.line 10
invoke-virtual {v2, p4}, Lorg/eclipse/paho/client/mqttv3/MqttToken;->setActionCallback(Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)V
.line 11
invoke-virtual {v2, p3}, Lorg/eclipse/paho/client/mqttv3/MqttToken;->setUserContext(Ljava/lang/Object;)V
.line 12
invoke-virtual {v2, p2}, Lorg/eclipse/paho/client/mqttv3/MqttDeliveryToken;->setMessage(Lorg/eclipse/paho/client/mqttv3/MqttMessage;)V
.line 13
iget-object p3, v2, Lorg/eclipse/paho/client/mqttv3/MqttToken;->internalTok:Lorg/eclipse/paho/client/mqttv3/internal/Token;
new-array p4, v4, [Ljava/lang/String;
aput-object p1, p4, v3
invoke-virtual {p3, p4}, Lorg/eclipse/paho/client/mqttv3/internal/Token;->setTopics([Ljava/lang/String;)V
.line 14
new-instance p3, Lorg/eclipse/paho/client/mqttv3/internal/wire/MqttPublish;
invoke-direct {p3, p1, p2}, Lorg/eclipse/paho/client/mqttv3/internal/wire/MqttPublish;-><init>(Ljava/lang/String;Lorg/eclipse/paho/client/mqttv3/MqttMessage;)V
.line 15
iget-object p1, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {p1, p3, v2}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->sendNoWait(Lorg/eclipse/paho/client/mqttv3/internal/wire/MqttWireMessage;Lorg/eclipse/paho/client/mqttv3/MqttToken;)V
const-string p1, "112"
.line 16
invoke-interface {v0, v1, v5, p1}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-object v2
.end method
.method public publish(Ljava/lang/String;[BIZ)Lorg/eclipse/paho/client/mqttv3/IMqttDeliveryToken;
.locals 7
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;,
Lorg/eclipse/paho/client/mqttv3/MqttPersistenceException;
}
.end annotation
const/4 v5, 0x0
const/4 v6, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move v3, p3
move v4, p4
.line 5
invoke-virtual/range {v0 .. v6}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->publish(Ljava/lang/String;[BIZLjava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttDeliveryToken;
move-result-object p1
return-object p1
.end method
.method public publish(Ljava/lang/String;[BIZLjava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttDeliveryToken;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;,
Lorg/eclipse/paho/client/mqttv3/MqttPersistenceException;
}
.end annotation
.line 1
new-instance v0, Lorg/eclipse/paho/client/mqttv3/MqttMessage;
invoke-direct {v0, p2}, Lorg/eclipse/paho/client/mqttv3/MqttMessage;-><init>([B)V
.line 2
invoke-virtual {v0, p3}, Lorg/eclipse/paho/client/mqttv3/MqttMessage;->setQos(I)V
.line 3
invoke-virtual {v0, p4}, Lorg/eclipse/paho/client/mqttv3/MqttMessage;->setRetained(Z)V
.line 4
invoke-virtual {p0, p1, v0, p5, p6}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->publish(Ljava/lang/String;Lorg/eclipse/paho/client/mqttv3/MqttMessage;Ljava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttDeliveryToken;
move-result-object p1
return-object p1
.end method
.method public reconnect()V
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
.line 1
sget-object v0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
sget-object v1, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->CLASS_NAME:Ljava/lang/String;
const/4 v2, 0x1
new-array v2, v2, [Ljava/lang/Object;
iget-object v3, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->clientId:Ljava/lang/String;
const/4 v4, 0x0
aput-object v3, v2, v4
const-string v3, "reconnect"
const-string v4, "500"
invoke-interface {v0, v1, v3, v4, v2}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 2
iget-object v0, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {v0}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->isConnected()Z
move-result v0
if-nez v0, :cond_3
.line 3
iget-object v0, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {v0}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->isConnecting()Z
move-result v0
if-nez v0, :cond_2
.line 4
iget-object v0, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {v0}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->isDisconnecting()Z
move-result v0
if-nez v0, :cond_1
.line 5
iget-object v0, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {v0}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->isClosed()Z
move-result v0
if-nez v0, :cond_0
.line 6
invoke-direct {p0}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->stopReconnectCycle()V
.line 7
invoke-direct {p0}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->attemptReconnect()V
return-void
.line 8
:cond_0
new-instance v0, Lorg/eclipse/paho/client/mqttv3/MqttException;
const/16 v1, 0x7d6f
invoke-direct {v0, v1}, Lorg/eclipse/paho/client/mqttv3/MqttException;-><init>(I)V
throw v0
.line 9
:cond_1
new-instance v0, Lorg/eclipse/paho/client/mqttv3/MqttException;
const/16 v1, 0x7d66
invoke-direct {v0, v1}, Lorg/eclipse/paho/client/mqttv3/MqttException;-><init>(I)V
throw v0
.line 10
:cond_2
new-instance v0, Lorg/eclipse/paho/client/mqttv3/MqttException;
const/16 v1, 0x7d6e
invoke-direct {v0, v1}, Lorg/eclipse/paho/client/mqttv3/MqttException;-><init>(I)V
throw v0
:cond_3
const/16 v0, 0x7d64
.line 11
invoke-static {v0}, Lorg/eclipse/paho/client/mqttv3/internal/ExceptionHelper;->createMqttException(I)Lorg/eclipse/paho/client/mqttv3/MqttException;
move-result-object v0
throw v0
.end method
.method public setBufferOpts(Lorg/eclipse/paho/client/mqttv3/DisconnectedBufferOptions;)V
.locals 2
.line 1
iget-object v0, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
new-instance v1, Lorg/eclipse/paho/client/mqttv3/internal/DisconnectedMessageBuffer;
invoke-direct {v1, p1}, Lorg/eclipse/paho/client/mqttv3/internal/DisconnectedMessageBuffer;-><init>(Lorg/eclipse/paho/client/mqttv3/DisconnectedBufferOptions;)V
invoke-virtual {v0, v1}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->setDisconnectedMessageBuffer(Lorg/eclipse/paho/client/mqttv3/internal/DisconnectedMessageBuffer;)V
return-void
.end method
.method public setCallback(Lorg/eclipse/paho/client/mqttv3/MqttCallback;)V
.locals 1
.line 1
iput-object p1, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->mqttCallback:Lorg/eclipse/paho/client/mqttv3/MqttCallback;
.line 2
iget-object v0, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {v0, p1}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->setCallback(Lorg/eclipse/paho/client/mqttv3/MqttCallback;)V
return-void
.end method
.method public setManualAcks(Z)V
.locals 1
.line 1
iget-object v0, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {v0, p1}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->setManualAcks(Z)V
return-void
.end method
.method public subscribe(Ljava/lang/String;I)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
const/4 v0, 0x1
new-array v1, v0, [Ljava/lang/String;
const/4 v2, 0x0
aput-object p1, v1, v2
new-array p1, v0, [I
aput p2, p1, v2
const/4 p2, 0x0
.line 2
invoke-virtual {p0, v1, p1, p2, p2}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->subscribe([Ljava/lang/String;[ILjava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
move-result-object p1
return-object p1
.end method
.method public subscribe(Ljava/lang/String;ILjava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
const/4 v0, 0x1
new-array v1, v0, [Ljava/lang/String;
const/4 v2, 0x0
aput-object p1, v1, v2
new-array p1, v0, [I
aput p2, p1, v2
.line 1
invoke-virtual {p0, v1, p1, p3, p4}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->subscribe([Ljava/lang/String;[ILjava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
move-result-object p1
return-object p1
.end method
.method public subscribe(Ljava/lang/String;ILjava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;Lorg/eclipse/paho/client/mqttv3/IMqttMessageListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
.locals 7
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
const/4 v0, 0x1
new-array v2, v0, [Ljava/lang/String;
const/4 v1, 0x0
aput-object p1, v2, v1
new-array v3, v0, [I
aput p2, v3, v1
new-array v6, v0, [Lorg/eclipse/paho/client/mqttv3/IMqttMessageListener;
aput-object p5, v6, v1
move-object v1, p0
move-object v4, p3
move-object v5, p4
.line 20
invoke-virtual/range {v1 .. v6}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->subscribe([Ljava/lang/String;[ILjava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;[Lorg/eclipse/paho/client/mqttv3/IMqttMessageListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
move-result-object p1
return-object p1
.end method
.method public subscribe(Ljava/lang/String;ILorg/eclipse/paho/client/mqttv3/IMqttMessageListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
.locals 7
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
const/4 v0, 0x1
new-array v2, v0, [Ljava/lang/String;
const/4 v1, 0x0
aput-object p1, v2, v1
new-array v3, v0, [I
aput p2, v3, v1
new-array v6, v0, [Lorg/eclipse/paho/client/mqttv3/IMqttMessageListener;
aput-object p3, v6, v1
const/4 v4, 0x0
const/4 v5, 0x0
move-object v1, p0
.line 21
invoke-virtual/range {v1 .. v6}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->subscribe([Ljava/lang/String;[ILjava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;[Lorg/eclipse/paho/client/mqttv3/IMqttMessageListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
move-result-object p1
return-object p1
.end method
.method public subscribe([Ljava/lang/String;[I)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
const/4 v0, 0x0
.line 3
invoke-virtual {p0, p1, p2, v0, v0}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->subscribe([Ljava/lang/String;[ILjava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
move-result-object p1
return-object p1
.end method
.method public subscribe([Ljava/lang/String;[ILjava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
.line 4
array-length v0, p1
array-length v1, p2
if-ne v0, v1, :cond_3
const/4 v0, 0x0
move v1, v0
.line 5
:goto_0
array-length v2, p1
if-lt v1, v2, :cond_2
const-string v1, ""
move v2, v0
.line 6
:goto_1
array-length v3, p1
const/4 v4, 0x1
if-lt v2, v3, :cond_0
.line 7
sget-object v2, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
sget-object v3, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->CLASS_NAME:Ljava/lang/String;
const/4 v5, 0x3
new-array v5, v5, [Ljava/lang/Object;
aput-object v1, v5, v0
aput-object p3, v5, v4
const/4 v0, 0x2
aput-object p4, v5, v0
const-string v0, "subscribe"
const-string v1, "106"
invoke-interface {v2, v3, v0, v1, v5}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 8
new-instance v1, Lorg/eclipse/paho/client/mqttv3/MqttToken;
invoke-virtual {p0}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->getClientId()Ljava/lang/String;
move-result-object v4
invoke-direct {v1, v4}, Lorg/eclipse/paho/client/mqttv3/MqttToken;-><init>(Ljava/lang/String;)V
.line 9
invoke-virtual {v1, p4}, Lorg/eclipse/paho/client/mqttv3/MqttToken;->setActionCallback(Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)V
.line 10
invoke-virtual {v1, p3}, Lorg/eclipse/paho/client/mqttv3/MqttToken;->setUserContext(Ljava/lang/Object;)V
.line 11
iget-object p3, v1, Lorg/eclipse/paho/client/mqttv3/MqttToken;->internalTok:Lorg/eclipse/paho/client/mqttv3/internal/Token;
invoke-virtual {p3, p1}, Lorg/eclipse/paho/client/mqttv3/internal/Token;->setTopics([Ljava/lang/String;)V
.line 12
new-instance p3, Lorg/eclipse/paho/client/mqttv3/internal/wire/MqttSubscribe;
invoke-direct {p3, p1, p2}, Lorg/eclipse/paho/client/mqttv3/internal/wire/MqttSubscribe;-><init>([Ljava/lang/String;[I)V
.line 13
iget-object p1, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {p1, p3, v1}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->sendNoWait(Lorg/eclipse/paho/client/mqttv3/internal/wire/MqttWireMessage;Lorg/eclipse/paho/client/mqttv3/MqttToken;)V
const-string p1, "109"
.line 14
invoke-interface {v2, v3, v0, p1}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-object v1
:cond_0
if-lez v2, :cond_1
.line 15
new-instance v3, Ljava/lang/StringBuffer;
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-direct {v3, v1}, Ljava/lang/StringBuffer;-><init>(Ljava/lang/String;)V
const-string v1, ", "
invoke-virtual {v3, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
invoke-virtual {v3}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v1
.line 16
:cond_1
new-instance v3, Ljava/lang/StringBuffer;
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-direct {v3, v1}, Ljava/lang/StringBuffer;-><init>(Ljava/lang/String;)V
const-string v1, "topic="
invoke-virtual {v3, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
aget-object v1, p1, v2
invoke-virtual {v3, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
const-string v1, " qos="
invoke-virtual {v3, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
aget v1, p2, v2
invoke-virtual {v3, v1}, Ljava/lang/StringBuffer;->append(I)Ljava/lang/StringBuffer;
invoke-virtual {v3}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v1
.line 17
aget-object v3, p1, v2
invoke-static {v3, v4}, Lorg/eclipse/paho/client/mqttv3/MqttTopic;->validate(Ljava/lang/String;Z)V
add-int/lit8 v2, v2, 0x1
goto :goto_1
.line 18
:cond_2
iget-object v2, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
aget-object v3, p1, v1
invoke-virtual {v2, v3}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->removeMessageListener(Ljava/lang/String;)V
add-int/lit8 v1, v1, 0x1
goto/16 :goto_0
.line 19
:cond_3
new-instance p1, Ljava/lang/IllegalArgumentException;
invoke-direct {p1}, Ljava/lang/IllegalArgumentException;-><init>()V
throw p1
.end method
.method public subscribe([Ljava/lang/String;[ILjava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;[Lorg/eclipse/paho/client/mqttv3/IMqttMessageListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
.line 23
array-length v0, p5
array-length v1, p2
if-ne v0, v1, :cond_1
array-length v0, p2
array-length v1, p1
if-ne v0, v1, :cond_1
.line 24
invoke-virtual {p0, p1, p2, p3, p4}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->subscribe([Ljava/lang/String;[ILjava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
move-result-object p2
const/4 p3, 0x0
.line 25
:goto_0
array-length p4, p1
if-lt p3, p4, :cond_0
return-object p2
.line 26
:cond_0
iget-object p4, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
aget-object v0, p1, p3
aget-object v1, p5, p3
invoke-virtual {p4, v0, v1}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->setMessageListener(Ljava/lang/String;Lorg/eclipse/paho/client/mqttv3/IMqttMessageListener;)V
add-int/lit8 p3, p3, 0x1
goto :goto_0
.line 27
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
invoke-direct {p1}, Ljava/lang/IllegalArgumentException;-><init>()V
throw p1
.end method
.method public subscribe([Ljava/lang/String;[I[Lorg/eclipse/paho/client/mqttv3/IMqttMessageListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
.locals 6
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
const/4 v3, 0x0
const/4 v4, 0x0
move-object v0, p0
move-object v1, p1
move-object v2, p2
move-object v5, p3
.line 22
invoke-virtual/range {v0 .. v5}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->subscribe([Ljava/lang/String;[ILjava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;[Lorg/eclipse/paho/client/mqttv3/IMqttMessageListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
move-result-object p1
return-object p1
.end method
.method public unsubscribe(Ljava/lang/String;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
const/4 v0, 0x1
new-array v0, v0, [Ljava/lang/String;
const/4 v1, 0x0
aput-object p1, v0, v1
const/4 p1, 0x0
.line 2
invoke-virtual {p0, v0, p1, p1}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->unsubscribe([Ljava/lang/String;Ljava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
move-result-object p1
return-object p1
.end method
.method public unsubscribe(Ljava/lang/String;Ljava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
const/4 v0, 0x1
new-array v0, v0, [Ljava/lang/String;
const/4 v1, 0x0
aput-object p1, v0, v1
.line 1
invoke-virtual {p0, v0, p2, p3}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->unsubscribe([Ljava/lang/String;Ljava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
move-result-object p1
return-object p1
.end method
.method public unsubscribe([Ljava/lang/String;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
const/4 v0, 0x0
.line 3
invoke-virtual {p0, p1, v0, v0}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->unsubscribe([Ljava/lang/String;Ljava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
move-result-object p1
return-object p1
.end method
.method public unsubscribe([Ljava/lang/String;Ljava/lang/Object;Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)Lorg/eclipse/paho/client/mqttv3/IMqttToken;
.locals 7
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/eclipse/paho/client/mqttv3/MqttException;
}
.end annotation
const/4 v0, 0x0
const-string v1, ""
move v2, v0
.line 4
:goto_0
array-length v3, p1
const/4 v4, 0x1
if-lt v2, v3, :cond_1
.line 5
sget-object v2, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
sget-object v3, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->CLASS_NAME:Ljava/lang/String;
const/4 v5, 0x3
new-array v5, v5, [Ljava/lang/Object;
aput-object v1, v5, v0
aput-object p2, v5, v4
const/4 v1, 0x2
aput-object p3, v5, v1
const-string v6, "unsubscribe"
const-string v1, "107"
invoke-interface {v2, v3, v6, v1, v5}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
.line 6
:goto_1
array-length v1, p1
if-lt v0, v1, :cond_0
.line 7
new-instance v0, Lorg/eclipse/paho/client/mqttv3/MqttToken;
invoke-virtual {p0}, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->getClientId()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Lorg/eclipse/paho/client/mqttv3/MqttToken;-><init>(Ljava/lang/String;)V
.line 8
invoke-virtual {v0, p3}, Lorg/eclipse/paho/client/mqttv3/MqttToken;->setActionCallback(Lorg/eclipse/paho/client/mqttv3/IMqttActionListener;)V
.line 9
invoke-virtual {v0, p2}, Lorg/eclipse/paho/client/mqttv3/MqttToken;->setUserContext(Ljava/lang/Object;)V
.line 10
iget-object p2, v0, Lorg/eclipse/paho/client/mqttv3/MqttToken;->internalTok:Lorg/eclipse/paho/client/mqttv3/internal/Token;
invoke-virtual {p2, p1}, Lorg/eclipse/paho/client/mqttv3/internal/Token;->setTopics([Ljava/lang/String;)V
.line 11
new-instance p2, Lorg/eclipse/paho/client/mqttv3/internal/wire/MqttUnsubscribe;
invoke-direct {p2, p1}, Lorg/eclipse/paho/client/mqttv3/internal/wire/MqttUnsubscribe;-><init>([Ljava/lang/String;)V
.line 12
iget-object p1, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
invoke-virtual {p1, p2, v0}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->sendNoWait(Lorg/eclipse/paho/client/mqttv3/internal/wire/MqttWireMessage;Lorg/eclipse/paho/client/mqttv3/MqttToken;)V
.line 13
sget-object p1, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->log:Lorg/eclipse/paho/client/mqttv3/logging/Logger;
sget-object p2, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->CLASS_NAME:Ljava/lang/String;
const-string p3, "110"
invoke-interface {p1, p2, v6, p3}, Lorg/eclipse/paho/client/mqttv3/logging/Logger;->fine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-object v0
.line 14
:cond_0
iget-object v1, p0, Lorg/eclipse/paho/client/mqttv3/MqttAsyncClient;->comms:Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;
aget-object v2, p1, v0
invoke-virtual {v1, v2}, Lorg/eclipse/paho/client/mqttv3/internal/ClientComms;->removeMessageListener(Ljava/lang/String;)V
add-int/lit8 v0, v0, 0x1
goto :goto_1
:cond_1
if-lez v2, :cond_2
.line 15
new-instance v3, Ljava/lang/StringBuffer;
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-direct {v3, v1}, Ljava/lang/StringBuffer;-><init>(Ljava/lang/String;)V
const-string v1, ", "
invoke-virtual {v3, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
invoke-virtual {v3}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v1
.line 16
:cond_2
new-instance v3, Ljava/lang/StringBuffer;
invoke-static {v1}, Ljava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
invoke-direct {v3, v1}, Ljava/lang/StringBuffer;-><init>(Ljava/lang/String;)V
aget-object v1, p1, v2
invoke-virtual {v3, v1}, Ljava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/StringBuffer;
invoke-virtual {v3}, Ljava/lang/StringBuffer;->toString()Ljava/lang/String;
move-result-object v1
.line 17
aget-object v3, p1, v2
invoke-static {v3, v4}, Lorg/eclipse/paho/client/mqttv3/MqttTopic;->validate(Ljava/lang/String;Z)V
add-int/lit8 v2, v2, 0x1
goto :goto_0
.end method