Add Discord APKTool decompilation (Smali source for modding)

- Imported from https://github.com/supermegamestre/Project-Real-Resurrection-3
- APKTool decompilation (Smali bytecode) for modding and rebuilding APK
- Supports both 32-bit (armeabi-v7a) and 64-bit (arm64-v8a) architectures
- Includes full Smali source, resources, and native libraries
- Ready to rebuild APK after modifications with apktool b command
- Added comprehensive README-apktool.md with modding guide

This branch complements the JADX branches:
- Use JADX (main/discord-community) to UNDERSTAND code (readable Java)
- Use APKTool (this branch) to MODIFY and REBUILD APK (editable Smali)

Total: 44,417 files, 538.51 MB Smali source code
This commit is contained in:
2026-02-18 16:13:44 -08:00
parent c080f0d97f
commit f3960ee359
44288 changed files with 10998761 additions and 0 deletions

View File

@@ -0,0 +1,57 @@
.class public Lcom/glu/plugins/gluanalytics/util/CollectionUtil$Api1;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/glu/plugins/gluanalytics/util/CollectionUtil;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Api1"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 343
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static parseJsonObject(Ljava/lang/String;)Ljava/util/Map;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;
}
.end annotation
.line 345
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0, p0}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
invoke-static {v0}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->toMap(Lorg/json/JSONObject;)Ljava/util/Map;
move-result-object p0
return-object p0
.end method

View File

@@ -0,0 +1,396 @@
.class public Lcom/glu/plugins/gluanalytics/util/CollectionUtil$Api11;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Landroid/annotation/TargetApi;
value = 0xb
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/glu/plugins/gluanalytics/util/CollectionUtil;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Api11"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 273
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static parseJsonArray(Landroid/util/JsonReader;)Ljava/util/List;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/util/JsonReader;",
")",
"Ljava/util/List<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;,
Ljava/io/IOException;
}
.end annotation
.line 328
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 329
invoke-virtual {p0}, Landroid/util/JsonReader;->beginArray()V
.line 332
:goto_0
invoke-virtual {p0}, Landroid/util/JsonReader;->peek()Landroid/util/JsonToken;
move-result-object v1
.line 333
sget-object v2, Landroid/util/JsonToken;->END_ARRAY:Landroid/util/JsonToken;
if-ne v1, v2, :cond_0
.line 334
invoke-virtual {p0}, Landroid/util/JsonReader;->endArray()V
return-object v0
.line 337
:cond_0
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil$Api11;->parseJsonValue(Landroid/util/JsonReader;)Ljava/lang/Object;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_0
.end method
.method public static parseJsonObject(Landroid/util/JsonReader;)Ljava/util/Map;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/util/JsonReader;",
")",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;,
Ljava/io/IOException;
}
.end annotation
.line 309
invoke-static {}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->createMap()Ljava/util/Map;
move-result-object v0
.line 310
invoke-virtual {p0}, Landroid/util/JsonReader;->beginObject()V
.line 313
:goto_0
invoke-virtual {p0}, Landroid/util/JsonReader;->peek()Landroid/util/JsonToken;
move-result-object v1
.line 314
sget-object v2, Landroid/util/JsonToken;->END_OBJECT:Landroid/util/JsonToken;
if-ne v1, v2, :cond_0
.line 315
invoke-virtual {p0}, Landroid/util/JsonReader;->endObject()V
return-object v0
.line 317
:cond_0
sget-object v2, Landroid/util/JsonToken;->NAME:Landroid/util/JsonToken;
if-ne v1, v2, :cond_1
.line 318
invoke-virtual {p0}, Landroid/util/JsonReader;->nextName()Ljava/lang/String;
move-result-object v1
.line 319
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil$Api11;->parseJsonValue(Landroid/util/JsonReader;)Ljava/lang/Object;
move-result-object v2
.line 320
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_0
.line 322
:cond_1
new-instance p0, Lorg/json/JSONException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Expected } or name but found "
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p0, v0}, Lorg/json/JSONException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static parseJsonObject(Ljava/lang/String;)Ljava/util/Map;
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;
}
.end annotation
.line 276
:try_start_0
new-instance v0, Landroid/util/JsonReader;
new-instance v1, Ljava/io/StringReader;
invoke-direct {v1, p0}, Ljava/io/StringReader;-><init>(Ljava/lang/String;)V
invoke-direct {v0, v1}, Landroid/util/JsonReader;-><init>(Ljava/io/Reader;)V
const/4 p0, 0x1
.line 277
invoke-virtual {v0, p0}, Landroid/util/JsonReader;->setLenient(Z)V
.line 278
invoke-static {v0}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil$Api11;->parseJsonObject(Landroid/util/JsonReader;)Ljava/util/Map;
move-result-object p0
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
return-object p0
:catch_0
move-exception p0
.line 280
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/Common;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
move-result-object p0
throw p0
.end method
.method public static parseJsonValue(Landroid/util/JsonReader;)Ljava/lang/Object;
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;,
Ljava/io/IOException;
}
.end annotation
.line 285
invoke-virtual {p0}, Landroid/util/JsonReader;->peek()Landroid/util/JsonToken;
move-result-object v0
.line 286
sget-object v1, Landroid/util/JsonToken;->BEGIN_OBJECT:Landroid/util/JsonToken;
if-ne v0, v1, :cond_0
.line 287
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil$Api11;->parseJsonObject(Landroid/util/JsonReader;)Ljava/util/Map;
move-result-object p0
return-object p0
.line 288
:cond_0
sget-object v1, Landroid/util/JsonToken;->BEGIN_ARRAY:Landroid/util/JsonToken;
if-ne v0, v1, :cond_1
.line 289
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil$Api11;->parseJsonArray(Landroid/util/JsonReader;)Ljava/util/List;
move-result-object p0
return-object p0
.line 290
:cond_1
sget-object v1, Landroid/util/JsonToken;->BOOLEAN:Landroid/util/JsonToken;
if-ne v0, v1, :cond_2
.line 291
invoke-virtual {p0}, Landroid/util/JsonReader;->nextBoolean()Z
move-result p0
invoke-static {p0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p0
return-object p0
.line 292
:cond_2
sget-object v1, Landroid/util/JsonToken;->NULL:Landroid/util/JsonToken;
if-ne v0, v1, :cond_3
.line 293
invoke-virtual {p0}, Landroid/util/JsonReader;->nextNull()V
const/4 p0, 0x0
return-object p0
.line 295
:cond_3
sget-object v1, Landroid/util/JsonToken;->NUMBER:Landroid/util/JsonToken;
if-ne v0, v1, :cond_6
.line 296
invoke-virtual {p0}, Landroid/util/JsonReader;->nextString()Ljava/lang/String;
move-result-object p0
const-string v0, "."
.line 297
invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_5
const-string v0, "e"
invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_5
const-string v0, "E"
invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_4
goto :goto_0
.line 300
:cond_4
invoke-static {p0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p0
return-object p0
.line 298
:cond_5
:goto_0
invoke-static {p0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object p0
return-object p0
.line 301
:cond_6
sget-object v1, Landroid/util/JsonToken;->STRING:Landroid/util/JsonToken;
if-ne v0, v1, :cond_7
.line 302
invoke-virtual {p0}, Landroid/util/JsonReader;->nextString()Ljava/lang/String;
move-result-object p0
return-object p0
.line 304
:cond_7
new-instance p0, Lorg/json/JSONException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Unexpected token "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p0, v0}, Lorg/json/JSONException;-><init>(Ljava/lang/String;)V
throw p0
.end method

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,426 @@
.class public Lcom/glu/plugins/gluanalytics/util/Common;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field private static mainHandler:Landroid/os/Handler;
# direct methods
.method static constructor <clinit>()V
.locals 2
.line 15
new-instance v0, Landroid/os/Handler;
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v1
invoke-direct {v0, v1}, Landroid/os/Handler;-><init>(Landroid/os/Looper;)V
sput-object v0, Lcom/glu/plugins/gluanalytics/util/Common;->mainHandler:Landroid/os/Handler;
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 14
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static call(Ljava/util/concurrent/Callable;)Ljava/lang/Object;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(",
"Ljava/util/concurrent/Callable<",
"TT;>;)TT;"
}
.end annotation
.line 76
:try_start_0
invoke-interface {p0}, Ljava/util/concurrent/Callable;->call()Ljava/lang/Object;
move-result-object p0
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
return-object p0
:catch_0
move-exception p0
.line 78
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/Common;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
move-result-object p0
throw p0
.end method
.method public static createLooper()Landroid/os/Looper;
.locals 1
const-string v0, "looper"
.line 65
invoke-static {v0}, Lcom/glu/plugins/gluanalytics/util/Common;->createLooper(Ljava/lang/String;)Landroid/os/Looper;
move-result-object v0
return-object v0
.end method
.method public static createLooper(Ljava/lang/String;)Landroid/os/Looper;
.locals 1
.line 69
new-instance v0, Landroid/os/HandlerThread;
invoke-direct {v0, p0}, Landroid/os/HandlerThread;-><init>(Ljava/lang/String;)V
.line 70
invoke-virtual {v0}, Ljava/lang/Thread;->start()V
.line 71
invoke-virtual {v0}, Landroid/os/HandlerThread;->getLooper()Landroid/os/Looper;
move-result-object p0
return-object p0
.end method
.method public static emptyToNull(Ljava/lang/String;)Ljava/lang/String;
.locals 1
if-eqz p0, :cond_1
.line 48
invoke-virtual {p0}, Ljava/lang/String;->length()I
move-result v0
if-lez v0, :cond_0
goto :goto_0
:cond_0
const/4 p0, 0x0
:cond_1
:goto_0
return-object p0
.end method
.method public static or(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"<T:",
"Ljava/lang/Object;",
">(TT;TT;)TT;"
}
.end annotation
if-eqz p0, :cond_0
goto :goto_0
:cond_0
move-object p0, p1
:goto_0
return-object p0
.end method
.method public static packageVersionCode(Landroid/content/Context;)J
.locals 2
.line 86
:try_start_0
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
invoke-virtual {p0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object p0
const/4 v1, 0x0
invoke-virtual {v0, p0, v1}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object p0
:try_end_0
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x1c
if-lt v0, v1, :cond_0
.line 92
invoke-static {p0}, Landroidx/credentials/playservices/controllers/CreatePublicKeyCredential/PublicKeyCredentialControllerUtility$GetGMSVersion$$ExternalSyntheticApiModelOutline0;->m(Landroid/content/pm/PackageInfo;)J
move-result-wide v0
return-wide v0
.line 94
:cond_0
iget p0, p0, Landroid/content/pm/PackageInfo;->versionCode:I
int-to-long v0, p0
return-wide v0
:catch_0
move-exception p0
.line 88
new-instance v0, Ljava/lang/RuntimeException;
invoke-direct {v0, p0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v0
.end method
.method public static printBytes([BII)Ljava/lang/String;
.locals 3
.line 52
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
:goto_0
if-ge p1, p2, :cond_0
.line 54
aget-byte v1, p0, p1
invoke-static {v1}, Ljava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
move-result-object v1
filled-new-array {v1}, [Ljava/lang/Object;
move-result-object v1
const-string v2, "%02x"
invoke-static {v2, v1}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v1
.line 55
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
add-int/lit8 p1, p1, 0x1
goto :goto_0
.line 57
:cond_0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
.locals 1
.line 31
instance-of v0, p0, Ljava/lang/Error;
if-nez v0, :cond_1
.line 33
instance-of v0, p0, Ljava/lang/RuntimeException;
if-eqz v0, :cond_0
.line 34
check-cast p0, Ljava/lang/RuntimeException;
throw p0
.line 36
:cond_0
new-instance v0, Ljava/lang/RuntimeException;
invoke-direct {v0, p0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
throw v0
.line 32
:cond_1
check-cast p0, Ljava/lang/Error;
throw p0
.end method
.method public static require(Z)V
.locals 0
if-eqz p0, :cond_0
return-void
.line 19
:cond_0
new-instance p0, Ljava/lang/IllegalArgumentException;
invoke-direct {p0}, Ljava/lang/IllegalArgumentException;-><init>()V
throw p0
.end method
.method public static require(ZLjava/lang/String;)V
.locals 0
if-nez p0, :cond_1
if-eqz p1, :cond_0
.line 25
new-instance p0, Ljava/lang/IllegalArgumentException;
invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
goto :goto_0
.line 26
:cond_0
new-instance p0, Ljava/lang/IllegalArgumentException;
invoke-direct {p0}, Ljava/lang/IllegalArgumentException;-><init>()V
:goto_0
throw p0
:cond_1
return-void
.end method
.method public static runOnUIThread(Ljava/lang/Runnable;)V
.locals 2
if-eqz p0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
const-string v1, "runnable == null"
.line 98
invoke-static {v0, v1}, Lcom/glu/plugins/gluanalytics/util/Common;->require(ZLjava/lang/String;)V
sget-object v0, Lcom/glu/plugins/gluanalytics/util/Common;->mainHandler:Landroid/os/Handler;
.line 99
invoke-virtual {v0, p0}, Landroid/os/Handler;->post(Ljava/lang/Runnable;)Z
move-result p0
if-eqz p0, :cond_1
return-void
.line 100
:cond_1
new-instance p0, Ljava/lang/IllegalStateException;
const-string v0, "Failed to post runnable"
invoke-direct {p0, v0}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static runOnUIThreadDelayed(Ljava/lang/Runnable;J)V
.locals 2
if-eqz p0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
const-string v1, "runnable == null"
.line 104
invoke-static {v0, v1}, Lcom/glu/plugins/gluanalytics/util/Common;->require(ZLjava/lang/String;)V
sget-object v0, Lcom/glu/plugins/gluanalytics/util/Common;->mainHandler:Landroid/os/Handler;
.line 105
invoke-virtual {v0, p0, p1, p2}, Landroid/os/Handler;->postDelayed(Ljava/lang/Runnable;J)Z
move-result p0
if-eqz p0, :cond_1
return-void
.line 106
:cond_1
new-instance p0, Ljava/lang/IllegalStateException;
const-string p1, "Failed to post runnable"
invoke-direct {p0, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static unknownHostCause(Ljava/lang/Throwable;)Ljava/net/UnknownHostException;
.locals 1
:goto_0
if-eqz p0, :cond_1
.line 41
instance-of v0, p0, Ljava/net/UnknownHostException;
if-eqz v0, :cond_0
.line 42
check-cast p0, Ljava/net/UnknownHostException;
return-object p0
.line 40
:cond_0
invoke-virtual {p0}, Ljava/lang/Throwable;->getCause()Ljava/lang/Throwable;
move-result-object p0
goto :goto_0
:cond_1
const/4 p0, 0x0
return-object p0
.end method

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,78 @@
.class public Lcom/glu/plugins/gluanalytics/util/Conversion;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field private static final HUNDRED_AS_DECIMAL:Ljava/math/BigDecimal;
# direct methods
.method static constructor <clinit>()V
.locals 2
.line 6
new-instance v0, Ljava/math/BigDecimal;
const/16 v1, 0x64
invoke-direct {v0, v1}, Ljava/math/BigDecimal;-><init>(I)V
sput-object v0, Lcom/glu/plugins/gluanalytics/util/Conversion;->HUNDRED_AS_DECIMAL:Ljava/math/BigDecimal;
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 5
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static centsToUsd(J)D
.locals 2
long-to-double p0, p0
const-wide v0, 0x3f847ae147ae147bL # 0.01
mul-double/2addr p0, v0
return-wide p0
.end method
.method public static usdToCents(D)J
.locals 2
const-wide/high16 v0, 0x4059000000000000L # 100.0
mul-double/2addr p0, v0
const-wide/high16 v0, 0x3fe0000000000000L # 0.5
add-double/2addr p0, v0
double-to-long p0, p0
return-wide p0
.end method
.method public static usdToCentsInDecimal(D)Ljava/math/BigDecimal;
.locals 0
.line 17
invoke-static {p0, p1}, Ljava/math/BigDecimal;->valueOf(D)Ljava/math/BigDecimal;
move-result-object p0
sget-object p1, Lcom/glu/plugins/gluanalytics/util/Conversion;->HUNDRED_AS_DECIMAL:Ljava/math/BigDecimal;
invoke-virtual {p0, p1}, Ljava/math/BigDecimal;->multiply(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
move-result-object p0
return-object p0
.end method

View File

@@ -0,0 +1,48 @@
.class public Lcom/glu/plugins/gluanalytics/util/Crypto;
.super Ljava/lang/Object;
.source "SourceFile"
# direct methods
.method public constructor <init>()V
.locals 0
.line 10
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static hmacSHA256([BII[B[BI)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/InvalidKeyException;,
Ljava/security/NoSuchAlgorithmException;,
Ljavax/crypto/ShortBufferException;
}
.end annotation
.line 16
new-instance v0, Ljavax/crypto/spec/SecretKeySpec;
const-string v1, "HmacSHA256"
invoke-direct {v0, p3, v1}, Ljavax/crypto/spec/SecretKeySpec;-><init>([BLjava/lang/String;)V
.line 18
invoke-static {v1}, Ljavax/crypto/Mac;->getInstance(Ljava/lang/String;)Ljavax/crypto/Mac;
move-result-object p3
.line 19
invoke-virtual {p3, v0}, Ljavax/crypto/Mac;->init(Ljava/security/Key;)V
.line 20
invoke-virtual {p3, p0, p1, p2}, Ljavax/crypto/Mac;->update([BII)V
.line 21
invoke-virtual {p3, p4, p5}, Ljavax/crypto/Mac;->doFinal([BI)V
return-void
.end method

View File

@@ -0,0 +1,64 @@
.class public Lcom/glu/plugins/gluanalytics/util/DummyEventBus;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/glu/plugins/gluanalytics/util/EventBus;
# static fields
.field public static final INSTANCE:Lcom/glu/plugins/gluanalytics/util/EventBus;
# direct methods
.method static constructor <clinit>()V
.locals 1
.line 9
new-instance v0, Lcom/glu/plugins/gluanalytics/util/DummyEventBus;
invoke-direct {v0}, Lcom/glu/plugins/gluanalytics/util/DummyEventBus;-><init>()V
sput-object v0, Lcom/glu/plugins/gluanalytics/util/DummyEventBus;->INSTANCE:Lcom/glu/plugins/gluanalytics/util/EventBus;
return-void
.end method
.method public constructor <init>()V
.locals 0
.line 8
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public publish(Landroid/content/Intent;)V
.locals 0
return-void
.end method
.method public subscribe(Ljava/util/UUID;Lcom/glu/plugins/gluanalytics/util/Subscriber;Ljava/lang/Iterable;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/UUID;",
"Lcom/glu/plugins/gluanalytics/util/Subscriber;",
"Ljava/lang/Iterable<",
"Landroid/content/IntentFilter;",
">;)V"
}
.end annotation
return-void
.end method
.method public unsubscribe(Ljava/util/UUID;)V
.locals 0
return-void
.end method

View File

@@ -0,0 +1,24 @@
.class public interface abstract Lcom/glu/plugins/gluanalytics/util/EventBus;
.super Ljava/lang/Object;
.source "SourceFile"
# virtual methods
.method public abstract publish(Landroid/content/Intent;)V
.end method
.method public abstract subscribe(Ljava/util/UUID;Lcom/glu/plugins/gluanalytics/util/Subscriber;Ljava/lang/Iterable;)V
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/UUID;",
"Lcom/glu/plugins/gluanalytics/util/Subscriber;",
"Ljava/lang/Iterable<",
"Landroid/content/IntentFilter;",
">;)V"
}
.end annotation
.end method
.method public abstract unsubscribe(Ljava/util/UUID;)V
.end method

View File

@@ -0,0 +1,89 @@
.class Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks$1;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Ljava/lang/Runnable;
# annotations
.annotation system Ldalvik/annotation/EnclosingMethod;
value = Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->destroy()V
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = null
.end annotation
# instance fields
.field final synthetic this$0:Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;
.field final synthetic val$callbacks:Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;
# direct methods
.method public constructor <init>(Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"()V"
}
.end annotation
iput-object p1, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks$1;->this$0:Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;
iput-object p2, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks$1;->val$callbacks:Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;
.line 37
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public run()V
.locals 2
iget-object v0, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks$1;->this$0:Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;
.line 40
invoke-static {v0}, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->access$000(Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;)Landroid/app/Application;
move-result-object v0
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks$1;->this$0:Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;
.line 41
invoke-static {v0}, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->access$000(Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;)Landroid/app/Application;
move-result-object v0
iget-object v1, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks$1;->val$callbacks:Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;
invoke-virtual {v0, v1}, Landroid/app/Application;->unregisterActivityLifecycleCallbacks(Landroid/app/Application$ActivityLifecycleCallbacks;)V
:cond_0
iget-object v0, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks$1;->this$0:Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;
const/4 v1, 0x0
.line 42
invoke-static {v0, v1}, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->access$002(Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;Landroid/app/Application;)Landroid/app/Application;
iget-object v0, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks$1;->this$0:Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;
.line 44
invoke-static {v0, v1}, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->access$102(Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;Lcom/glu/plugins/gluanalytics/util/IAction2;)Lcom/glu/plugins/gluanalytics/util/IAction2;
iget-object v0, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks$1;->this$0:Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;
.line 45
invoke-static {v0, v1}, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->access$202(Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;Ljava/util/Set;)Ljava/util/Set;
return-void
.end method

View File

@@ -0,0 +1,279 @@
.class public Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroid/app/Application$ActivityLifecycleCallbacks;
# static fields
.field public static final APPLICATION_PAUSE:Ljava/lang/String; = "onApplicationPaused"
.field public static final APPLICATION_RESUME:Ljava/lang/String; = "onApplicationResumed"
# instance fields
.field private mActivities:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Landroid/app/Activity;",
">;"
}
.end annotation
.end field
.field private mApplication:Landroid/app/Application;
.field private mOnActivityCallback:Lcom/glu/plugins/gluanalytics/util/IAction2;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lcom/glu/plugins/gluanalytics/util/IAction2<",
"Ljava/lang/String;",
"Landroid/app/Activity;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(Landroid/content/Context;Lcom/glu/plugins/gluanalytics/util/IAction2;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Context;",
"Lcom/glu/plugins/gluanalytics/util/IAction2<",
"Ljava/lang/String;",
"Landroid/app/Activity;",
">;)V"
}
.end annotation
.line 20
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 21
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p1
.line 22
instance-of v0, p1, Landroid/app/Application;
if-eqz v0, :cond_0
iput-object p2, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->mOnActivityCallback:Lcom/glu/plugins/gluanalytics/util/IAction2;
.line 24
new-instance p2, Ljava/util/HashSet;
invoke-direct {p2}, Ljava/util/HashSet;-><init>()V
iput-object p2, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->mActivities:Ljava/util/Set;
.line 26
check-cast p1, Landroid/app/Application;
iput-object p1, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->mApplication:Landroid/app/Application;
.line 27
invoke-virtual {p1, p0}, Landroid/app/Application;->registerActivityLifecycleCallbacks(Landroid/app/Application$ActivityLifecycleCallbacks;)V
:cond_0
return-void
.end method
.method public static synthetic access$000(Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;)Landroid/app/Application;
.locals 0
.line 12
iget-object p0, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->mApplication:Landroid/app/Application;
return-object p0
.end method
.method public static synthetic access$002(Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;Landroid/app/Application;)Landroid/app/Application;
.locals 0
.line 12
iput-object p1, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->mApplication:Landroid/app/Application;
return-object p1
.end method
.method public static synthetic access$102(Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;Lcom/glu/plugins/gluanalytics/util/IAction2;)Lcom/glu/plugins/gluanalytics/util/IAction2;
.locals 0
.line 12
iput-object p1, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->mOnActivityCallback:Lcom/glu/plugins/gluanalytics/util/IAction2;
return-object p1
.end method
.method public static synthetic access$202(Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;Ljava/util/Set;)Ljava/util/Set;
.locals 0
.line 12
iput-object p1, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->mActivities:Ljava/util/Set;
return-object p1
.end method
.method private addActivity(Landroid/app/Activity;)Z
.locals 1
iget-object v0, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->mActivities:Ljava/util/Set;
if-eqz v0, :cond_0
.line 97
invoke-interface {v0, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
move-result p1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
return p1
.end method
# virtual methods
.method public destroy()V
.locals 1
.line 37
new-instance v0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks$1;
invoke-direct {v0, p0, p0}, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks$1;-><init>(Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;)V
invoke-static {v0}, Lcom/glu/plugins/gluanalytics/util/Common;->runOnUIThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public isRunning()Z
.locals 1
iget-object v0, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->mApplication:Landroid/app/Application;
if-eqz v0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
return v0
.end method
.method public onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V
.locals 0
return-void
.end method
.method public onActivityDestroyed(Landroid/app/Activity;)V
.locals 0
return-void
.end method
.method public onActivityPaused(Landroid/app/Activity;)V
.locals 0
.line 74
invoke-direct {p0, p1}, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->addActivity(Landroid/app/Activity;)Z
return-void
.end method
.method public onActivityResumed(Landroid/app/Activity;)V
.locals 0
return-void
.end method
.method public onActivitySaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
.locals 0
return-void
.end method
.method public onActivityStarted(Landroid/app/Activity;)V
.locals 2
iget-object v0, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->mOnActivityCallback:Lcom/glu/plugins/gluanalytics/util/IAction2;
if-eqz v0, :cond_0
.line 60
invoke-direct {p0, p1}, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->addActivity(Landroid/app/Activity;)Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->mActivities:Ljava/util/Set;
invoke-interface {v0}, Ljava/util/Set;->size()I
move-result v0
const/4 v1, 0x1
if-ne v0, v1, :cond_0
iget-object v0, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->mOnActivityCallback:Lcom/glu/plugins/gluanalytics/util/IAction2;
const-string v1, "onApplicationResumed"
.line 61
invoke-interface {v0, v1, p1}, Lcom/glu/plugins/gluanalytics/util/IAction2;->apply(Ljava/lang/Object;Ljava/lang/Object;)V
:cond_0
return-void
.end method
.method public onActivityStopped(Landroid/app/Activity;)V
.locals 2
iget-object v0, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->mOnActivityCallback:Lcom/glu/plugins/gluanalytics/util/IAction2;
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->mActivities:Ljava/util/Set;
.line 87
invoke-interface {v0, p1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->mActivities:Ljava/util/Set;
invoke-interface {v0}, Ljava/util/Set;->size()I
move-result v0
if-nez v0, :cond_0
iget-object v0, p0, Lcom/glu/plugins/gluanalytics/util/GluActivityLifecycleCallbacks;->mOnActivityCallback:Lcom/glu/plugins/gluanalytics/util/IAction2;
const-string v1, "onApplicationPaused"
.line 88
invoke-interface {v0, v1, p1}, Lcom/glu/plugins/gluanalytics/util/IAction2;->apply(Ljava/lang/Object;Ljava/lang/Object;)V
:cond_0
return-void
.end method

View File

@@ -0,0 +1,185 @@
.class Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo$GoogleAdvertisingInfoBinder$GoogleAdvertisingInfoImplementation;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo$GoogleAdvertisingInfoBinder;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "GoogleAdvertisingInfoImplementation"
.end annotation
# instance fields
.field private final mBinder:Landroid/os/IBinder;
# direct methods
.method public constructor <init>(Landroid/os/IBinder;)V
.locals 0
.line 114
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo$GoogleAdvertisingInfoBinder$GoogleAdvertisingInfoImplementation;->mBinder:Landroid/os/IBinder;
return-void
.end method
# virtual methods
.method public asBinder()Landroid/os/IBinder;
.locals 1
iget-object v0, p0, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo$GoogleAdvertisingInfoBinder$GoogleAdvertisingInfoImplementation;->mBinder:Landroid/os/IBinder;
return-object v0
.end method
.method public getEnabled(Z)Z
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
.line 142
invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
move-result-object v0
.line 143
invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
move-result-object v1
:try_start_0
const-string v2, "com.google.android.gms.ads.identifier.internal.IAdvertisingIdService"
.line 146
invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
const/4 v2, 0x1
const/4 v3, 0x0
.line 147
invoke-virtual {v0, p1}, Landroid/os/Parcel;->writeInt(I)V
iget-object p1, p0, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo$GoogleAdvertisingInfoBinder$GoogleAdvertisingInfoImplementation;->mBinder:Landroid/os/IBinder;
const/4 v4, 0x2
.line 148
invoke-interface {p1, v4, v0, v1, v3}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
.line 149
invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
.line 150
invoke-virtual {v1}, Landroid/os/Parcel;->readInt()I
move-result p1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz p1, :cond_0
goto :goto_0
:cond_0
move v2, v3
.line 152
:goto_0
invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
.line 153
invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
return v2
:catchall_0
move-exception p1
.line 152
invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
.line 153
invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
.line 154
throw p1
.end method
.method public getId()Ljava/lang/String;
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
.line 125
invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
move-result-object v0
.line 126
invoke-static {}, Landroid/os/Parcel;->obtain()Landroid/os/Parcel;
move-result-object v1
:try_start_0
const-string v2, "com.google.android.gms.ads.identifier.internal.IAdvertisingIdService"
.line 129
invoke-virtual {v0, v2}, Landroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
iget-object v2, p0, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo$GoogleAdvertisingInfoBinder$GoogleAdvertisingInfoImplementation;->mBinder:Landroid/os/IBinder;
const/4 v3, 0x1
const/4 v4, 0x0
.line 130
invoke-interface {v2, v3, v0, v1, v4}, Landroid/os/IBinder;->transact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
.line 131
invoke-virtual {v1}, Landroid/os/Parcel;->readException()V
.line 132
invoke-virtual {v1}, Landroid/os/Parcel;->readString()Ljava/lang/String;
move-result-object v2
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 134
invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
.line 135
invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
return-object v2
:catchall_0
move-exception v2
.line 134
invoke-virtual {v1}, Landroid/os/Parcel;->recycle()V
.line 135
invoke-virtual {v0}, Landroid/os/Parcel;->recycle()V
.line 136
throw v2
.end method

View File

@@ -0,0 +1,151 @@
.class public abstract Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo$GoogleAdvertisingInfoBinder;
.super Landroid/os/Binder;
.source "SourceFile"
# interfaces
.implements Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x409
name = "GoogleAdvertisingInfoBinder"
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo$GoogleAdvertisingInfoBinder$GoogleAdvertisingInfoImplementation;
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 77
invoke-direct {p0}, Landroid/os/Binder;-><init>()V
return-void
.end method
.method public static create(Landroid/os/IBinder;)Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo;
.locals 2
if-nez p0, :cond_0
const/4 p0, 0x0
return-object p0
:cond_0
const-string v0, "com.google.android.gms.ads.identifier.internal.IAdvertisingIdService"
.line 84
invoke-interface {p0, v0}, Landroid/os/IBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
move-result-object v0
.line 85
instance-of v1, v0, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo;
if-eqz v1, :cond_1
.line 86
check-cast v0, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo;
return-object v0
.line 89
:cond_1
new-instance v0, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo$GoogleAdvertisingInfoBinder$GoogleAdvertisingInfoImplementation;
invoke-direct {v0, p0}, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo$GoogleAdvertisingInfoBinder$GoogleAdvertisingInfoImplementation;-><init>(Landroid/os/IBinder;)V
return-object v0
.end method
# virtual methods
.method public onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
.locals 3
.param p2 # Landroid/os/Parcel;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
const-string v0, "com.google.android.gms.ads.identifier.internal.IAdvertisingIdService"
const/4 v1, 0x1
if-eq p1, v1, :cond_2
const/4 v2, 0x2
if-eq p1, v2, :cond_0
.line 108
invoke-super {p0, p1, p2, p3, p4}, Landroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
move-result p1
return p1
.line 101
:cond_0
invoke-virtual {p2, v0}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
.line 102
invoke-virtual {p2}, Landroid/os/Parcel;->readInt()I
move-result p1
if-eqz p1, :cond_1
move p1, v1
goto :goto_0
:cond_1
const/4 p1, 0x0
.line 103
:goto_0
invoke-interface {p0, p1}, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo;->getEnabled(Z)Z
move-result p1
.line 104
invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
.line 105
invoke-virtual {p3, p1}, Landroid/os/Parcel;->writeInt(I)V
return v1
.line 95
:cond_2
invoke-virtual {p2, v0}, Landroid/os/Parcel;->enforceInterface(Ljava/lang/String;)V
.line 96
invoke-interface {p0}, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo;->getId()Ljava/lang/String;
move-result-object p1
.line 97
invoke-virtual {p3}, Landroid/os/Parcel;->writeNoException()V
.line 98
invoke-virtual {p3, p1}, Landroid/os/Parcel;->writeString(Ljava/lang/String;)V
return v1
.end method

View File

@@ -0,0 +1,41 @@
.class interface abstract Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroid/os/IInterface;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x609
name = "GoogleAdvertisingInfo"
.end annotation
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo$GoogleAdvertisingInfoBinder;
}
.end annotation
# virtual methods
.method public abstract getEnabled(Z)Z
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
.end method
.method public abstract getId()Ljava/lang/String;
.annotation system Ldalvik/annotation/Throws;
value = {
Landroid/os/RemoteException;
}
.end annotation
.end method

View File

@@ -0,0 +1,112 @@
.class Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingServiceConnection;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroid/content/ServiceConnection;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "GoogleAdvertisingServiceConnection"
.end annotation
# instance fields
.field private final mBinderQueue:Ljava/util/concurrent/BlockingQueue;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/BlockingQueue<",
"Landroid/os/IBinder;",
">;"
}
.end annotation
.end field
.field mConsumed:Z
# direct methods
.method public constructor <init>()V
.locals 1
.line 165
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 166
new-instance v0, Ljava/util/concurrent/LinkedBlockingQueue;
invoke-direct {v0}, Ljava/util/concurrent/LinkedBlockingQueue;-><init>()V
iput-object v0, p0, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingServiceConnection;->mBinderQueue:Ljava/util/concurrent/BlockingQueue;
const/4 v0, 0x0
iput-boolean v0, p0, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingServiceConnection;->mConsumed:Z
return-void
.end method
# virtual methods
.method public getBinder()Landroid/os/IBinder;
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/InterruptedException;
}
.end annotation
iget-boolean v0, p0, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingServiceConnection;->mConsumed:Z
if-nez v0, :cond_0
const/4 v0, 0x1
iput-boolean v0, p0, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingServiceConnection;->mConsumed:Z
iget-object v0, p0, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingServiceConnection;->mBinderQueue:Ljava/util/concurrent/BlockingQueue;
.line 189
invoke-interface {v0}, Ljava/util/concurrent/BlockingQueue;->take()Ljava/lang/Object;
move-result-object v0
check-cast v0, Landroid/os/IBinder;
return-object v0
.line 186
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
invoke-direct {v0}, Ljava/lang/IllegalStateException;-><init>()V
throw v0
.end method
.method public onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
.locals 0
:try_start_0
iget-object p1, p0, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingServiceConnection;->mBinderQueue:Ljava/util/concurrent/BlockingQueue;
.line 173
invoke-interface {p1, p2}, Ljava/util/concurrent/BlockingQueue;->put(Ljava/lang/Object;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
:catchall_0
return-void
.end method
.method public onServiceDisconnected(Landroid/content/ComponentName;)V
.locals 0
return-void
.end method

View File

@@ -0,0 +1,189 @@
.class public Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingServiceConnection;,
Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo;
}
.end annotation
# static fields
.field private static final ADVERTISING_ID_SERVICE_NAME:Ljava/lang/String; = "com.google.android.gms.ads.identifier.internal.IAdvertisingIdService"
# direct methods
.method public constructor <init>()V
.locals 0
.line 20
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method private static getAdvertisingIDByBackupMethod(Landroid/content/Context;)Lcom/glu/plugins/gluanalytics/AnalyticsData$AdvertisingIdInfo;
.locals 0
.line 39
:try_start_0
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil;->queryAdvertisingIDFromService(Landroid/content/Context;)Lcom/glu/plugins/gluanalytics/AnalyticsData$AdvertisingIdInfo;
move-result-object p0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
return-object p0
:catchall_0
const/4 p0, 0x0
return-object p0
.end method
.method public static getAdvertisingIdInfo(Landroid/content/Context;)Lcom/glu/plugins/gluanalytics/AnalyticsData$AdvertisingIdInfo;
.locals 2
.line 24
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/AnalyticsData;->getAdvertisingIdInfo(Landroid/content/Context;)Lcom/glu/plugins/gluanalytics/AnalyticsData$AdvertisingIdInfo;
move-result-object v0
if-eqz v0, :cond_0
.line 26
invoke-static {v0}, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil;->isAdvertisingIDEmpty(Lcom/glu/plugins/gluanalytics/AnalyticsData$AdvertisingIdInfo;)Z
move-result v1
if-eqz v1, :cond_1
.line 27
:cond_0
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil;->getAdvertisingIDByBackupMethod(Landroid/content/Context;)Lcom/glu/plugins/gluanalytics/AnalyticsData$AdvertisingIdInfo;
move-result-object v0
:cond_1
return-object v0
.end method
.method private static isAdvertisingIDEmpty(Lcom/glu/plugins/gluanalytics/AnalyticsData$AdvertisingIdInfo;)Z
.locals 0
if-eqz p0, :cond_0
.line 34
iget-object p0, p0, Lcom/glu/plugins/gluanalytics/AnalyticsData$AdvertisingIdInfo;->advertisingId:Ljava/lang/String;
invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result p0
if-eqz p0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method
.method private static queryAdvertisingIDFromService(Landroid/content/Context;)Lcom/glu/plugins/gluanalytics/AnalyticsData$AdvertisingIdInfo;
.locals 6
.line 46
new-instance v0, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingServiceConnection;
invoke-direct {v0}, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingServiceConnection;-><init>()V
.line 47
new-instance v1, Landroid/content/Intent;
const-string v2, "com.google.android.gms.ads.identifier.service.START"
invoke-direct {v1, v2}, Landroid/content/Intent;-><init>(Ljava/lang/String;)V
const-string v2, "com.google.android.gms"
.line 48
invoke-virtual {v1, v2}, Landroid/content/Intent;->setPackage(Ljava/lang/String;)Landroid/content/Intent;
const/4 v2, 0x1
.line 51
:try_start_0
invoke-virtual {p0, v1, v0, v2}, Landroid/content/Context;->bindService(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z
move-result v1
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
goto :goto_0
:catchall_0
const/4 v1, 0x0
:goto_0
if-eqz v1, :cond_1
.line 57
:try_start_1
invoke-virtual {v0}, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingServiceConnection;->getBinder()Landroid/os/IBinder;
move-result-object v3
invoke-static {v3}, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo$GoogleAdvertisingInfoBinder;->create(Landroid/os/IBinder;)Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo;
move-result-object v3
.line 58
new-instance v4, Lcom/glu/plugins/gluanalytics/AnalyticsData$AdvertisingIdInfo;
invoke-interface {v3}, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo;->getId()Ljava/lang/String;
move-result-object v5
invoke-interface {v3, v2}, Lcom/glu/plugins/gluanalytics/util/GoogleAdvertisingIDUtil$GoogleAdvertisingInfo;->getEnabled(Z)Z
move-result v2
invoke-direct {v4, v5, v2}, Lcom/glu/plugins/gluanalytics/AnalyticsData$AdvertisingIdInfo;-><init>(Ljava/lang/String;Z)V
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_1
if-eqz v1, :cond_0
.line 64
invoke-virtual {p0, v0}, Landroid/content/Context;->unbindService(Landroid/content/ServiceConnection;)V
:cond_0
return-object v4
:catchall_1
if-eqz v1, :cond_2
:goto_1
invoke-virtual {p0, v0}, Landroid/content/Context;->unbindService(Landroid/content/ServiceConnection;)V
goto :goto_2
:cond_1
if-eqz v1, :cond_2
goto :goto_1
:cond_2
:goto_2
const/4 p0, 0x0
return-object p0
.end method

View File

@@ -0,0 +1,8 @@
.class public interface abstract Lcom/glu/plugins/gluanalytics/util/IAction;
.super Ljava/lang/Object;
.source "SourceFile"
# virtual methods
.method public abstract apply()V
.end method

View File

@@ -0,0 +1,26 @@
.class public interface abstract Lcom/glu/plugins/gluanalytics/util/IAction2;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/Signature;
value = {
"<T1:",
"Ljava/lang/Object;",
"T2:",
"Ljava/lang/Object;",
">",
"Ljava/lang/Object;"
}
.end annotation
# virtual methods
.method public abstract apply(Ljava/lang/Object;Ljava/lang/Object;)V
.annotation system Ldalvik/annotation/Signature;
value = {
"(TT1;TT2;)V"
}
.end annotation
.end method

View File

@@ -0,0 +1,13 @@
.class public interface abstract Lcom/glu/plugins/gluanalytics/util/ISerializableJsonObject;
.super Ljava/lang/Object;
.source "SourceFile"
# virtual methods
.method public abstract write(Lorg/json/JSONStringer;)V
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;
}
.end annotation
.end method

View File

@@ -0,0 +1,57 @@
.class public Lcom/glu/plugins/gluanalytics/util/JsonUtil$Api1;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/glu/plugins/gluanalytics/util/JsonUtil;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Api1"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 281
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static parseJsonObject(Ljava/lang/String;)Ljava/util/Map;
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;
}
.end annotation
.line 283
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0, p0}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
invoke-static {v0}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->toMap(Lorg/json/JSONObject;)Ljava/util/Map;
move-result-object p0
return-object p0
.end method

View File

@@ -0,0 +1,468 @@
.class public Lcom/glu/plugins/gluanalytics/util/JsonUtil$Api11;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation build Landroid/annotation/TargetApi;
value = 0xb
.end annotation
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/glu/plugins/gluanalytics/util/JsonUtil;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x9
name = "Api11"
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 202
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static parseJsonArray(Landroid/util/JsonReader;)Ljava/util/List;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/util/JsonReader;",
")",
"Ljava/util/List<",
"Ljava/lang/Object;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;,
Ljava/io/IOException;
}
.end annotation
.line 266
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 267
invoke-virtual {p0}, Landroid/util/JsonReader;->beginArray()V
.line 270
:goto_0
invoke-virtual {p0}, Landroid/util/JsonReader;->peek()Landroid/util/JsonToken;
move-result-object v1
.line 271
sget-object v2, Landroid/util/JsonToken;->END_ARRAY:Landroid/util/JsonToken;
if-ne v1, v2, :cond_0
.line 272
invoke-virtual {p0}, Landroid/util/JsonReader;->endArray()V
return-object v0
.line 275
:cond_0
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/JsonUtil$Api11;->parseJsonValue(Landroid/util/JsonReader;)Ljava/lang/Object;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_0
.end method
.method public static parseJsonObject(Landroid/util/JsonReader;)Ljava/util/Map;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/util/JsonReader;",
")",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;,
Ljava/io/IOException;
}
.end annotation
.line 247
invoke-static {}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->createMap()Ljava/util/Map;
move-result-object v0
.line 248
invoke-virtual {p0}, Landroid/util/JsonReader;->beginObject()V
.line 251
:goto_0
invoke-virtual {p0}, Landroid/util/JsonReader;->peek()Landroid/util/JsonToken;
move-result-object v1
.line 252
sget-object v2, Landroid/util/JsonToken;->END_OBJECT:Landroid/util/JsonToken;
if-ne v1, v2, :cond_0
.line 253
invoke-virtual {p0}, Landroid/util/JsonReader;->endObject()V
return-object v0
.line 255
:cond_0
sget-object v2, Landroid/util/JsonToken;->NAME:Landroid/util/JsonToken;
if-ne v1, v2, :cond_1
.line 256
invoke-virtual {p0}, Landroid/util/JsonReader;->nextName()Ljava/lang/String;
move-result-object v1
.line 257
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/JsonUtil$Api11;->parseJsonValue(Landroid/util/JsonReader;)Ljava/lang/Object;
move-result-object v2
.line 258
invoke-interface {v0, v1, v2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_0
.line 260
:cond_1
new-instance p0, Lorg/json/JSONException;
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Expected } or name but found "
invoke-virtual {v0, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p0, v0}, Lorg/json/JSONException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static parseJsonObject(Ljava/lang/String;)Ljava/util/Map;
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;
}
.end annotation
const/4 v0, 0x0
.line 206
:try_start_0
new-instance v1, Landroid/util/JsonReader;
new-instance v2, Ljava/io/StringReader;
invoke-direct {v2, p0}, Ljava/io/StringReader;-><init>(Ljava/lang/String;)V
invoke-direct {v1, v2}, Landroid/util/JsonReader;-><init>(Ljava/io/Reader;)V
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_2
.catchall {:try_start_0 .. :try_end_0} :catchall_1
const/4 p0, 0x1
.line 207
:try_start_1
invoke-virtual {v1, p0}, Landroid/util/JsonReader;->setLenient(Z)V
.line 208
invoke-static {v1}, Lcom/glu/plugins/gluanalytics/util/JsonUtil$Api11;->parseJsonObject(Landroid/util/JsonReader;)Ljava/util/Map;
move-result-object p0
:try_end_1
.catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.line 214
:try_start_2
invoke-virtual {v1}, Landroid/util/JsonReader;->close()V
:try_end_2
.catch Ljava/io/IOException; {:try_start_2 .. :try_end_2} :catch_0
return-object p0
:catch_0
move-exception p0
.line 216
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/Common;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
move-result-object p0
throw p0
:catchall_0
move-exception p0
move-object v0, v1
goto :goto_1
:catch_1
move-exception p0
move-object v0, v1
goto :goto_0
:catchall_1
move-exception p0
goto :goto_1
:catch_2
move-exception p0
.line 210
:goto_0
:try_start_3
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/Common;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
move-result-object p0
throw p0
:try_end_3
.catchall {:try_start_3 .. :try_end_3} :catchall_1
:goto_1
if-eqz v0, :cond_0
.line 214
:try_start_4
invoke-virtual {v0}, Landroid/util/JsonReader;->close()V
:try_end_4
.catch Ljava/io/IOException; {:try_start_4 .. :try_end_4} :catch_3
goto :goto_2
:catch_3
move-exception p0
.line 216
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/Common;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
move-result-object p0
throw p0
.line 219
:cond_0
:goto_2
throw p0
.end method
.method public static parseJsonValue(Landroid/util/JsonReader;)Ljava/lang/Object;
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;,
Ljava/io/IOException;
}
.end annotation
.line 223
invoke-virtual {p0}, Landroid/util/JsonReader;->peek()Landroid/util/JsonToken;
move-result-object v0
.line 224
sget-object v1, Landroid/util/JsonToken;->BEGIN_OBJECT:Landroid/util/JsonToken;
if-ne v0, v1, :cond_0
.line 225
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/JsonUtil$Api11;->parseJsonObject(Landroid/util/JsonReader;)Ljava/util/Map;
move-result-object p0
return-object p0
.line 226
:cond_0
sget-object v1, Landroid/util/JsonToken;->BEGIN_ARRAY:Landroid/util/JsonToken;
if-ne v0, v1, :cond_1
.line 227
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/JsonUtil$Api11;->parseJsonArray(Landroid/util/JsonReader;)Ljava/util/List;
move-result-object p0
return-object p0
.line 228
:cond_1
sget-object v1, Landroid/util/JsonToken;->BOOLEAN:Landroid/util/JsonToken;
if-ne v0, v1, :cond_2
.line 229
invoke-virtual {p0}, Landroid/util/JsonReader;->nextBoolean()Z
move-result p0
invoke-static {p0}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object p0
return-object p0
.line 230
:cond_2
sget-object v1, Landroid/util/JsonToken;->NULL:Landroid/util/JsonToken;
if-ne v0, v1, :cond_3
.line 231
invoke-virtual {p0}, Landroid/util/JsonReader;->nextNull()V
const/4 p0, 0x0
return-object p0
.line 233
:cond_3
sget-object v1, Landroid/util/JsonToken;->NUMBER:Landroid/util/JsonToken;
if-ne v0, v1, :cond_6
.line 234
invoke-virtual {p0}, Landroid/util/JsonReader;->nextString()Ljava/lang/String;
move-result-object p0
const-string v0, "."
.line 235
invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_5
const-string v0, "e"
invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-nez v0, :cond_5
const-string v0, "E"
invoke-virtual {p0, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_4
goto :goto_0
.line 238
:cond_4
invoke-static {p0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object p0
return-object p0
.line 236
:cond_5
:goto_0
invoke-static {p0}, Ljava/lang/Double;->parseDouble(Ljava/lang/String;)D
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Double;->valueOf(D)Ljava/lang/Double;
move-result-object p0
return-object p0
.line 239
:cond_6
sget-object v1, Landroid/util/JsonToken;->STRING:Landroid/util/JsonToken;
if-ne v0, v1, :cond_7
.line 240
invoke-virtual {p0}, Landroid/util/JsonReader;->nextString()Ljava/lang/String;
move-result-object p0
return-object p0
.line 242
:cond_7
new-instance p0, Lorg/json/JSONException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Unexpected token "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p0, v0}, Lorg/json/JSONException;-><init>(Ljava/lang/String;)V
throw p0
.end method

View File

@@ -0,0 +1,925 @@
.class public Lcom/glu/plugins/gluanalytics/util/JsonUtil;
.super Ljava/lang/Object;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/glu/plugins/gluanalytics/util/JsonUtil$Api11;,
Lcom/glu/plugins/gluanalytics/util/JsonUtil$Api1;
}
.end annotation
# direct methods
.method public constructor <init>()V
.locals 0
.line 25
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static optKeyValue(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/Object;)V
.locals 0
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;
}
.end annotation
if-eqz p2, :cond_0
.line 58
invoke-virtual {p0, p1}, Lorg/json/JSONStringer;->key(Ljava/lang/String;)Lorg/json/JSONStringer;
.line 59
invoke-static {p0, p2}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->value(Lorg/json/JSONStringer;Ljava/lang/Object;)V
:cond_0
return-void
.end method
.method public static parseJsonObject(Ljava/lang/String;)Ljava/util/Map;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
")",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;
}
.end annotation
.line 28
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/JsonUtil$Api11;->parseJsonObject(Ljava/lang/String;)Ljava/util/Map;
move-result-object p0
return-object p0
.end method
.method private static serializeArray(Lorg/json/JSONStringer;Ljava/lang/Object;)V
.locals 3
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;
}
.end annotation
.line 132
invoke-static {p1}, Ljava/lang/reflect/Array;->getLength(Ljava/lang/Object;)I
move-result v0
.line 133
invoke-virtual {p0}, Lorg/json/JSONStringer;->array()Lorg/json/JSONStringer;
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_0
.line 135
invoke-static {p1, v1}, Ljava/lang/reflect/Array;->get(Ljava/lang/Object;I)Ljava/lang/Object;
move-result-object v2
invoke-static {p0, v2}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->value(Lorg/json/JSONStringer;Ljava/lang/Object;)V
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 136
:cond_0
invoke-virtual {p0}, Lorg/json/JSONStringer;->endArray()Lorg/json/JSONStringer;
return-void
.end method
.method private static serializeDefaultObject(Lorg/json/JSONStringer;Ljava/lang/Object;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;
}
.end annotation
.line 147
invoke-virtual {p0}, Lorg/json/JSONStringer;->object()Lorg/json/JSONStringer;
const-string v0, "str"
.line 148
invoke-virtual {p1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {p0, v0, p1}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->optKeyValue(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/Object;)V
.line 149
invoke-virtual {p0}, Lorg/json/JSONStringer;->endObject()Lorg/json/JSONStringer;
return-void
.end method
.method private static serializeIterable(Lorg/json/JSONStringer;Ljava/lang/Iterable;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/json/JSONStringer;",
"Ljava/lang/Iterable<",
"*>;)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;
}
.end annotation
.line 125
invoke-virtual {p0}, Lorg/json/JSONStringer;->array()Lorg/json/JSONStringer;
.line 126
invoke-interface {p1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_0
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
.line 127
invoke-static {p0, v0}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->value(Lorg/json/JSONStringer;Ljava/lang/Object;)V
goto :goto_0
.line 128
:cond_0
invoke-virtual {p0}, Lorg/json/JSONStringer;->endArray()Lorg/json/JSONStringer;
return-void
.end method
.method private static serializeMap(Lorg/json/JSONStringer;Ljava/util/Map;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/json/JSONStringer;",
"Ljava/util/Map<",
"**>;)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;
}
.end annotation
.line 89
invoke-interface {p1}, Ljava/util/Map;->keySet()Ljava/util/Set;
move-result-object v0
invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v0
:cond_0
invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_1
invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
.line 90
instance-of v1, v1, Ljava/lang/CharSequence;
if-nez v1, :cond_0
.line 91
invoke-static {p0, p1}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->serializeMapWithNonStringKeys(Lorg/json/JSONStringer;Ljava/util/Map;)V
return-void
.line 96
:cond_1
invoke-virtual {p0}, Lorg/json/JSONStringer;->object()Lorg/json/JSONStringer;
.line 97
invoke-interface {p1}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object p1
invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_2
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Map$Entry;
.line 98
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v1
.line 99
invoke-virtual {v1}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object v1
invoke-virtual {p0, v1}, Lorg/json/JSONStringer;->key(Ljava/lang/String;)Lorg/json/JSONStringer;
.line 100
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v0
invoke-static {p0, v0}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->value(Lorg/json/JSONStringer;Ljava/lang/Object;)V
goto :goto_0
.line 102
:cond_2
invoke-virtual {p0}, Lorg/json/JSONStringer;->endObject()Lorg/json/JSONStringer;
return-void
.end method
.method private static serializeMapWithNonStringKeys(Lorg/json/JSONStringer;Ljava/util/Map;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/json/JSONStringer;",
"Ljava/util/Map<",
"**>;)V"
}
.end annotation
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;
}
.end annotation
.line 111
invoke-virtual {p0}, Lorg/json/JSONStringer;->object()Lorg/json/JSONStringer;
const-string v0, "cls"
const-string v1, "flatmap"
.line 112
invoke-static {p0, v0, v1}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->optKeyValue(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/Object;)V
const-string v0, "v"
.line 113
invoke-virtual {p0, v0}, Lorg/json/JSONStringer;->key(Ljava/lang/String;)Lorg/json/JSONStringer;
move-result-object v0
invoke-virtual {v0}, Lorg/json/JSONStringer;->array()Lorg/json/JSONStringer;
.line 114
invoke-interface {p1}, Ljava/util/Map;->entrySet()Ljava/util/Set;
move-result-object p1
invoke-interface {p1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_0
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/util/Map$Entry;
.line 115
invoke-virtual {p0}, Lorg/json/JSONStringer;->array()Lorg/json/JSONStringer;
.line 116
invoke-interface {v0}, Ljava/util/Map$Entry;->getKey()Ljava/lang/Object;
move-result-object v1
invoke-static {p0, v1}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->value(Lorg/json/JSONStringer;Ljava/lang/Object;)V
.line 117
invoke-interface {v0}, Ljava/util/Map$Entry;->getValue()Ljava/lang/Object;
move-result-object v0
invoke-static {p0, v0}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->value(Lorg/json/JSONStringer;Ljava/lang/Object;)V
.line 118
invoke-virtual {p0}, Lorg/json/JSONStringer;->endArray()Lorg/json/JSONStringer;
goto :goto_0
.line 120
:cond_0
invoke-virtual {p0}, Lorg/json/JSONStringer;->endArray()Lorg/json/JSONStringer;
.line 121
invoke-virtual {p0}, Lorg/json/JSONStringer;->endObject()Lorg/json/JSONStringer;
return-void
.end method
.method private static serializeThrowable(Lorg/json/JSONStringer;Ljava/lang/Throwable;)V
.locals 2
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;
}
.end annotation
.line 140
invoke-virtual {p0}, Lorg/json/JSONStringer;->object()Lorg/json/JSONStringer;
.line 141
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String;
move-result-object v0
const-string v1, "cls"
invoke-static {p0, v1, v0}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->optKeyValue(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/Object;)V
const-string v0, "m"
.line 142
invoke-virtual {p1}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;
move-result-object p1
invoke-static {p0, v0, p1}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->optKeyValue(Lorg/json/JSONStringer;Ljava/lang/String;Ljava/lang/Object;)V
.line 143
invoke-virtual {p0}, Lorg/json/JSONStringer;->endObject()Lorg/json/JSONStringer;
return-void
.end method
.method public static toJson(Ljava/lang/Object;)Ljava/lang/String;
.locals 1
.line 44
new-instance v0, Lorg/json/JSONStringer;
invoke-direct {v0}, Lorg/json/JSONStringer;-><init>()V
.line 46
:try_start_0
invoke-static {v0, p0}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->value(Lorg/json/JSONStringer;Ljava/lang/Object;)V
:try_end_0
.catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
.line 50
invoke-virtual {v0}, Lorg/json/JSONStringer;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
:catch_0
move-exception p0
.line 48
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/Common;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
move-result-object p0
throw p0
.end method
.method public static toMap(Landroid/os/Bundle;)Ljava/util/Map;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/os/Bundle;",
")",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.line 35
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->toSimpleJavaTypes(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/util/Map;
return-object p0
.end method
.method public static toMap(Lorg/json/JSONObject;)Ljava/util/Map;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Lorg/json/JSONObject;",
")",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/Object;",
">;"
}
.end annotation
.line 40
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->toSimpleJavaTypes(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Ljava/util/Map;
return-object p0
.end method
.method private static toSimpleJavaTypes(Ljava/lang/Object;)Ljava/lang/Object;
.locals 4
if-eqz p0, :cond_e
.line 153
instance-of v0, p0, Ljava/lang/String;
if-nez v0, :cond_e
instance-of v0, p0, Ljava/lang/Number;
if-nez v0, :cond_e
instance-of v0, p0, Ljava/lang/Boolean;
if-eqz v0, :cond_0
goto/16 :goto_6
.line 155
:cond_0
instance-of v0, p0, Ljava/lang/CharSequence;
if-nez v0, :cond_d
instance-of v0, p0, Ljava/lang/Character;
if-eqz v0, :cond_1
goto/16 :goto_5
.line 157
:cond_1
instance-of v0, p0, Ljava/lang/Iterable;
if-eqz v0, :cond_3
.line 158
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 159
check-cast p0, Ljava/lang/Iterable;
invoke-interface {p0}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p0
:goto_0
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_2
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
.line 160
invoke-static {v1}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->toSimpleJavaTypes(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
invoke-interface {v0, v1}, Ljava/util/List;->add(Ljava/lang/Object;)Z
goto :goto_0
:cond_2
return-object v0
.line 162
:cond_3
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->isArray()Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_5
.line 163
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 164
invoke-static {p0}, Ljava/lang/reflect/Array;->getLength(Ljava/lang/Object;)I
move-result v2
:goto_1
if-ge v1, v2, :cond_4
.line 166
invoke-static {p0, v1}, Ljava/lang/reflect/Array;->get(Ljava/lang/Object;I)Ljava/lang/Object;
move-result-object v3
.line 167
invoke-static {v3}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->toSimpleJavaTypes(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
add-int/lit8 v1, v1, 0x1
goto :goto_1
:cond_4
return-object v0
.line 170
:cond_5
instance-of v0, p0, Landroid/os/Bundle;
if-eqz v0, :cond_7
.line 171
invoke-static {}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->createMap()Ljava/util/Map;
move-result-object v0
.line 172
check-cast p0, Landroid/os/Bundle;
.line 173
invoke-virtual {p0}, Landroid/os/BaseBundle;->keySet()Ljava/util/Set;
move-result-object v1
invoke-interface {v1}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object v1
:goto_2
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_6
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
.line 174
invoke-virtual {p0, v2}, Landroid/os/BaseBundle;->get(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v3
.line 175
invoke-static {v3}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->toSimpleJavaTypes(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
invoke-interface {v0, v2, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_2
:cond_6
return-object v0
.line 178
:cond_7
instance-of v0, p0, Lorg/json/JSONArray;
if-eqz v0, :cond_9
.line 179
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
.line 180
check-cast p0, Lorg/json/JSONArray;
.line 181
:goto_3
invoke-virtual {p0}, Lorg/json/JSONArray;->length()I
move-result v2
if-ge v1, v2, :cond_8
.line 182
invoke-virtual {p0, v1}, Lorg/json/JSONArray;->opt(I)Ljava/lang/Object;
move-result-object v2
invoke-static {v2}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->toSimpleJavaTypes(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v2
invoke-interface {v0, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z
add-int/lit8 v1, v1, 0x1
goto :goto_3
:cond_8
return-object v0
.line 185
:cond_9
instance-of v0, p0, Lorg/json/JSONObject;
if-eqz v0, :cond_b
.line 186
invoke-static {}, Lcom/glu/plugins/gluanalytics/util/CollectionUtil;->createMap()Ljava/util/Map;
move-result-object v0
.line 187
check-cast p0, Lorg/json/JSONObject;
.line 188
invoke-virtual {p0}, Lorg/json/JSONObject;->keys()Ljava/util/Iterator;
move-result-object v1
.line 189
:goto_4
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_a
.line 190
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Ljava/lang/String;
.line 191
invoke-virtual {p0, v2}, Lorg/json/JSONObject;->opt(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v3
invoke-static {v3}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->toSimpleJavaTypes(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v3
invoke-interface {v0, v2, v3}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
goto :goto_4
:cond_a
return-object v0
.line 194
:cond_b
sget-object v0, Lorg/json/JSONObject;->NULL:Ljava/lang/Object;
if-ne p0, v0, :cond_c
const/4 p0, 0x0
return-object p0
.line 197
:cond_c
new-instance v0, Ljava/lang/IllegalArgumentException;
invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object p0
filled-new-array {p0}, [Ljava/lang/Object;
move-result-object p0
const-string v1, "Unsupported type %s"
invoke-static {v1, p0}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
invoke-direct {v0, p0}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw v0
.line 156
:cond_d
:goto_5
invoke-virtual {p0}, Ljava/lang/Object;->toString()Ljava/lang/String;
move-result-object p0
:cond_e
:goto_6
return-object p0
.end method
.method public static value(Lorg/json/JSONStringer;Ljava/lang/Object;)V
.locals 1
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;
}
.end annotation
if-nez p1, :cond_0
.line 68
invoke-virtual {p0, p1}, Lorg/json/JSONStringer;->value(Ljava/lang/Object;)Lorg/json/JSONStringer;
goto :goto_1
.line 69
:cond_0
instance-of v0, p1, Lcom/glu/plugins/gluanalytics/util/ISerializableJsonObject;
if-eqz v0, :cond_1
.line 70
invoke-virtual {p0}, Lorg/json/JSONStringer;->object()Lorg/json/JSONStringer;
.line 71
check-cast p1, Lcom/glu/plugins/gluanalytics/util/ISerializableJsonObject;
invoke-interface {p1, p0}, Lcom/glu/plugins/gluanalytics/util/ISerializableJsonObject;->write(Lorg/json/JSONStringer;)V
.line 72
invoke-virtual {p0}, Lorg/json/JSONStringer;->endObject()Lorg/json/JSONStringer;
goto :goto_1
.line 73
:cond_1
instance-of v0, p1, Ljava/lang/Number;
if-nez v0, :cond_7
instance-of v0, p1, Ljava/lang/Boolean;
if-nez v0, :cond_7
instance-of v0, p1, Ljava/lang/CharSequence;
if-nez v0, :cond_7
instance-of v0, p1, Ljava/lang/Character;
if-eqz v0, :cond_2
goto :goto_0
.line 75
:cond_2
instance-of v0, p1, Ljava/util/Map;
if-eqz v0, :cond_3
.line 76
check-cast p1, Ljava/util/Map;
invoke-static {p0, p1}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->serializeMap(Lorg/json/JSONStringer;Ljava/util/Map;)V
goto :goto_1
.line 77
:cond_3
instance-of v0, p1, Ljava/lang/Iterable;
if-eqz v0, :cond_4
.line 78
check-cast p1, Ljava/lang/Iterable;
invoke-static {p0, p1}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->serializeIterable(Lorg/json/JSONStringer;Ljava/lang/Iterable;)V
goto :goto_1
.line 79
:cond_4
invoke-virtual {p1}, Ljava/lang/Object;->getClass()Ljava/lang/Class;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Class;->isArray()Z
move-result v0
if-eqz v0, :cond_5
.line 80
invoke-static {p0, p1}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->serializeArray(Lorg/json/JSONStringer;Ljava/lang/Object;)V
goto :goto_1
.line 81
:cond_5
instance-of v0, p1, Ljava/lang/Throwable;
if-eqz v0, :cond_6
.line 82
check-cast p1, Ljava/lang/Throwable;
invoke-static {p0, p1}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->serializeThrowable(Lorg/json/JSONStringer;Ljava/lang/Throwable;)V
goto :goto_1
.line 84
:cond_6
invoke-static {p0, p1}, Lcom/glu/plugins/gluanalytics/util/JsonUtil;->serializeDefaultObject(Lorg/json/JSONStringer;Ljava/lang/Object;)V
goto :goto_1
.line 74
:cond_7
:goto_0
invoke-virtual {p0, p1}, Lorg/json/JSONStringer;->value(Ljava/lang/Object;)Lorg/json/JSONStringer;
:goto_1
return-void
.end method

View File

@@ -0,0 +1,87 @@
.class Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus$SubscriberAdapter;
.super Landroid/content/BroadcastReceiver;
.source "SourceFile"
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1
name = "SubscriberAdapter"
.end annotation
# instance fields
.field private final mKey:Ljava/util/UUID;
.field private final mSubscriber:Ljava/lang/ref/Reference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/ref/Reference<",
"Lcom/glu/plugins/gluanalytics/util/Subscriber;",
">;"
}
.end annotation
.end field
.field final synthetic this$0:Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;
# direct methods
.method public constructor <init>(Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;Ljava/util/UUID;Lcom/glu/plugins/gluanalytics/util/Subscriber;)V
.locals 0
iput-object p1, p0, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus$SubscriberAdapter;->this$0:Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;
.line 105
invoke-direct {p0}, Landroid/content/BroadcastReceiver;-><init>()V
iput-object p2, p0, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus$SubscriberAdapter;->mKey:Ljava/util/UUID;
.line 107
new-instance p1, Ljava/lang/ref/WeakReference;
invoke-direct {p1, p3}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
iput-object p1, p0, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus$SubscriberAdapter;->mSubscriber:Ljava/lang/ref/Reference;
return-void
.end method
# virtual methods
.method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
.locals 1
iget-object p1, p0, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus$SubscriberAdapter;->mSubscriber:Ljava/lang/ref/Reference;
.line 112
invoke-virtual {p1}, Ljava/lang/ref/Reference;->get()Ljava/lang/Object;
move-result-object p1
check-cast p1, Lcom/glu/plugins/gluanalytics/util/Subscriber;
if-eqz p1, :cond_0
iget-object v0, p0, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus$SubscriberAdapter;->this$0:Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;
.line 114
invoke-interface {p1, v0, p2}, Lcom/glu/plugins/gluanalytics/util/Subscriber;->onReceive(Lcom/glu/plugins/gluanalytics/util/EventBus;Landroid/content/Intent;)V
goto :goto_0
:cond_0
iget-object p1, p0, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus$SubscriberAdapter;->this$0:Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;
iget-object p2, p0, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus$SubscriberAdapter;->mKey:Ljava/util/UUID;
.line 116
invoke-virtual {p1, p2}, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;->unsubscribe(Ljava/util/UUID;)V
:goto_0
return-void
.end method

View File

@@ -0,0 +1,338 @@
.class public Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lcom/glu/plugins/gluanalytics/util/EventBus;
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus$SubscriberAdapter;
}
.end annotation
# static fields
.field private static volatile sInstance:Lcom/glu/plugins/gluanalytics/util/EventBus;
# instance fields
.field private final mLbm:Landroidx/localbroadcastmanager/content/LocalBroadcastManager;
.field private final mReceivers:Ljava/util/Map;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Map<",
"Ljava/util/UUID;",
"Landroid/content/BroadcastReceiver;",
">;"
}
.end annotation
.end field
# direct methods
.method private constructor <init>(Landroid/content/Context;)V
.locals 0
.line 32
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 33
invoke-static {p1}, Landroidx/localbroadcastmanager/content/LocalBroadcastManager;->getInstance(Landroid/content/Context;)Landroidx/localbroadcastmanager/content/LocalBroadcastManager;
move-result-object p1
iput-object p1, p0, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;->mLbm:Landroidx/localbroadcastmanager/content/LocalBroadcastManager;
.line 34
new-instance p1, Ljava/util/HashMap;
invoke-direct {p1}, Ljava/util/HashMap;-><init>()V
iput-object p1, p0, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;->mReceivers:Ljava/util/Map;
return-void
.end method
.method public static getInstance(Landroid/content/Context;)Lcom/glu/plugins/gluanalytics/util/EventBus;
.locals 2
if-eqz p0, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
const-string v1, "context can\'t be null."
.line 38
invoke-static {v0, v1}, Lcom/glu/plugins/gluanalytics/util/Common;->require(ZLjava/lang/String;)V
sget-object v0, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;->sInstance:Lcom/glu/plugins/gluanalytics/util/EventBus;
if-nez v0, :cond_2
const-class v0, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;
.line 40
monitor-enter v0
:try_start_0
sget-object v1, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;->sInstance:Lcom/glu/plugins/gluanalytics/util/EventBus;
if-nez v1, :cond_1
.line 42
new-instance v1, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;
invoke-direct {v1, p0}, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;-><init>(Landroid/content/Context;)V
sput-object v1, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;->sInstance:Lcom/glu/plugins/gluanalytics/util/EventBus;
goto :goto_1
:catchall_0
move-exception p0
goto :goto_2
.line 43
:cond_1
:goto_1
monitor-exit v0
goto :goto_3
:goto_2
monitor-exit v0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
throw p0
:cond_2
:goto_3
sget-object p0, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;->sInstance:Lcom/glu/plugins/gluanalytics/util/EventBus;
return-object p0
.end method
.method public static isSupported()Z
.locals 1
const/4 v0, 0x1
return v0
.end method
# virtual methods
.method public publish(Landroid/content/Intent;)V
.locals 2
if-eqz p1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
const-string v1, "intent can\'t be null."
.line 91
invoke-static {v0, v1}, Lcom/glu/plugins/gluanalytics/util/Common;->require(ZLjava/lang/String;)V
iget-object v0, p0, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;->mLbm:Landroidx/localbroadcastmanager/content/LocalBroadcastManager;
.line 92
invoke-virtual {v0, p1}, Landroidx/localbroadcastmanager/content/LocalBroadcastManager;->sendBroadcast(Landroid/content/Intent;)Z
return-void
.end method
.method public subscribe(Ljava/util/UUID;Lcom/glu/plugins/gluanalytics/util/Subscriber;Ljava/lang/Iterable;)V
.locals 4
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/util/UUID;",
"Lcom/glu/plugins/gluanalytics/util/Subscriber;",
"Ljava/lang/Iterable<",
"Landroid/content/IntentFilter;",
">;)V"
}
.end annotation
const/4 v0, 0x0
const/4 v1, 0x1
if-eqz p1, :cond_0
move v2, v1
goto :goto_0
:cond_0
move v2, v0
:goto_0
const-string v3, "key can\'t be null."
.line 63
invoke-static {v2, v3}, Lcom/glu/plugins/gluanalytics/util/Common;->require(ZLjava/lang/String;)V
if-eqz p2, :cond_1
move v2, v1
goto :goto_1
:cond_1
move v2, v0
:goto_1
const-string v3, "weakSubscriber can\'t be null."
.line 64
invoke-static {v2, v3}, Lcom/glu/plugins/gluanalytics/util/Common;->require(ZLjava/lang/String;)V
if-eqz p3, :cond_2
move v0, v1
:cond_2
const-string v1, "filters can\'t be null."
.line 65
invoke-static {v0, v1}, Lcom/glu/plugins/gluanalytics/util/Common;->require(ZLjava/lang/String;)V
.line 67
invoke-virtual {p0, p1}, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;->unsubscribe(Ljava/util/UUID;)V
.line 68
new-instance v0, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus$SubscriberAdapter;
invoke-direct {v0, p0, p1, p2}, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus$SubscriberAdapter;-><init>(Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;Ljava/util/UUID;Lcom/glu/plugins/gluanalytics/util/Subscriber;)V
.line 69
monitor-enter p0
:try_start_0
iget-object p2, p0, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;->mReceivers:Ljava/util/Map;
.line 70
invoke-interface {p2, p1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 71
monitor-exit p0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 73
invoke-interface {p3}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_2
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result p2
if-eqz p2, :cond_3
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object p2
check-cast p2, Landroid/content/IntentFilter;
iget-object p3, p0, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;->mLbm:Landroidx/localbroadcastmanager/content/LocalBroadcastManager;
.line 74
invoke-virtual {p3, v0, p2}, Landroidx/localbroadcastmanager/content/LocalBroadcastManager;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)V
goto :goto_2
:cond_3
return-void
:catchall_0
move-exception p1
.line 71
:try_start_1
monitor-exit p0
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
throw p1
.end method
.method public unsubscribe(Ljava/util/UUID;)V
.locals 2
if-eqz p1, :cond_0
const/4 v0, 0x1
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
const-string v1, "key can\'t be null."
.line 79
invoke-static {v0, v1}, Lcom/glu/plugins/gluanalytics/util/Common;->require(ZLjava/lang/String;)V
.line 81
monitor-enter p0
:try_start_0
iget-object v0, p0, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;->mReceivers:Ljava/util/Map;
.line 82
invoke-interface {v0, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Landroid/content/BroadcastReceiver;
.line 83
monitor-exit p0
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
if-eqz p1, :cond_1
iget-object v0, p0, Lcom/glu/plugins/gluanalytics/util/LocalBroadcastManagerEventBus;->mLbm:Landroidx/localbroadcastmanager/content/LocalBroadcastManager;
.line 86
invoke-virtual {v0, p1}, Landroidx/localbroadcastmanager/content/LocalBroadcastManager;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
:cond_1
return-void
:catchall_0
move-exception p1
.line 83
:try_start_1
monitor-exit p0
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
throw p1
.end method

View File

@@ -0,0 +1,8 @@
.class public interface abstract Lcom/glu/plugins/gluanalytics/util/Subscriber;
.super Ljava/lang/Object;
.source "SourceFile"
# virtual methods
.method public abstract onReceive(Lcom/glu/plugins/gluanalytics/util/EventBus;Landroid/content/Intent;)V
.end method

View File

@@ -0,0 +1,397 @@
.class public Lcom/glu/plugins/gluanalytics/util/YLogger;
.super Ljava/lang/Object;
.source "SourceFile"
# instance fields
.field private final mLog:Ljava/util/logging/Logger;
# direct methods
.method private constructor <init>(Ljava/util/logging/Logger;)V
.locals 0
.line 14
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcom/glu/plugins/gluanalytics/util/YLogger;->mLog:Ljava/util/logging/Logger;
return-void
.end method
.method private static appendPlistToJson(Lorg/json/JSONStringer;[Ljava/lang/Object;)V
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Lorg/json/JSONException;
}
.end annotation
.line 104
array-length v0, p1
.line 105
rem-int/lit8 v1, v0, 0x2
sub-int/2addr v0, v1
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
.line 107
aget-object v2, p1, v1
add-int/lit8 v3, v1, 0x1
.line 108
aget-object v3, p1, v3
.line 109
instance-of v4, v2, Ljava/lang/String;
if-eqz v4, :cond_0
if-eqz v3, :cond_0
.line 111
check-cast v2, Ljava/lang/String;
invoke-virtual {p0, v2}, Lorg/json/JSONStringer;->key(Ljava/lang/String;)Lorg/json/JSONStringer;
move-result-object v2
invoke-virtual {v2, v3}, Lorg/json/JSONStringer;->value(Ljava/lang/Object;)Lorg/json/JSONStringer;
:cond_0
add-int/lit8 v1, v1, 0x2
goto :goto_0
:cond_1
return-void
.end method
.method public static create(Ljava/lang/Class;)Lcom/glu/plugins/gluanalytics/util/YLogger;
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Class<",
"*>;)",
"Lcom/glu/plugins/gluanalytics/util/YLogger;"
}
.end annotation
.line 23
invoke-virtual {p0}, Ljava/lang/Class;->getName()Ljava/lang/String;
move-result-object p0
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/YLogger;->create(Ljava/lang/String;)Lcom/glu/plugins/gluanalytics/util/YLogger;
move-result-object p0
return-object p0
.end method
.method public static create(Ljava/lang/String;)Lcom/glu/plugins/gluanalytics/util/YLogger;
.locals 1
.line 19
new-instance v0, Lcom/glu/plugins/gluanalytics/util/YLogger;
invoke-static {p0}, Ljava/util/logging/Logger;->getLogger(Ljava/lang/String;)Ljava/util/logging/Logger;
move-result-object p0
invoke-direct {v0, p0}, Lcom/glu/plugins/gluanalytics/util/YLogger;-><init>(Ljava/util/logging/Logger;)V
return-object v0
.end method
.method private doLog(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
.locals 1
iget-object v0, p0, Lcom/glu/plugins/gluanalytics/util/YLogger;->mLog:Ljava/util/logging/Logger;
.line 119
invoke-virtual {v0, p1}, Ljava/util/logging/Logger;->isLoggable(Ljava/util/logging/Level;)Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Lcom/glu/plugins/gluanalytics/util/YLogger;->mLog:Ljava/util/logging/Logger;
.line 120
invoke-static {p2, p3}, Lcom/glu/plugins/gluanalytics/util/YLogger;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p2
invoke-static {p3}, Lcom/glu/plugins/gluanalytics/util/YLogger;->findThrowable([Ljava/lang/Object;)Ljava/lang/Throwable;
move-result-object p3
invoke-virtual {v0, p1, p2, p3}, Ljava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_0
return-void
.end method
.method private static varargs findThrowable([Ljava/lang/Object;)Ljava/lang/Throwable;
.locals 1
.line 65
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/YLogger;->findThrowableNoTail([Ljava/lang/Object;)Ljava/lang/Throwable;
move-result-object v0
if-eqz v0, :cond_0
return-object v0
.line 69
:cond_0
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/YLogger;->plistTail([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object p0
if-eqz p0, :cond_1
.line 70
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/YLogger;->findThrowableNoTail([Ljava/lang/Object;)Ljava/lang/Throwable;
move-result-object p0
goto :goto_0
:cond_1
const/4 p0, 0x0
:goto_0
return-object p0
.end method
.method private static varargs findThrowableNoTail([Ljava/lang/Object;)Ljava/lang/Throwable;
.locals 4
.line 75
array-length v0, p0
array-length v1, p0
rem-int/lit8 v1, v1, 0x2
sub-int/2addr v0, v1
const/4 v1, 0x0
:goto_0
if-ge v1, v0, :cond_1
.line 77
aget-object v2, p0, v1
check-cast v2, Ljava/lang/String;
const-string v3, "e"
invoke-static {v2, v3}, Landroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
move-result v2
if-eqz v2, :cond_0
add-int/lit8 v2, v1, 0x1
.line 78
aget-object v2, p0, v2
.line 79
instance-of v3, v2, Ljava/lang/Throwable;
if-eqz v3, :cond_0
.line 80
check-cast v2, Ljava/lang/Throwable;
return-object v2
:cond_0
add-int/lit8 v1, v1, 0x2
goto :goto_0
:cond_1
const/4 p0, 0x0
return-object p0
.end method
.method private static varargs format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
.locals 1
.line 48
:try_start_0
new-instance v0, Lorg/json/JSONStringer;
invoke-direct {v0}, Lorg/json/JSONStringer;-><init>()V
.line 49
invoke-virtual {v0}, Lorg/json/JSONStringer;->array()Lorg/json/JSONStringer;
move-result-object v0
invoke-virtual {v0, p0}, Lorg/json/JSONStringer;->value(Ljava/lang/Object;)Lorg/json/JSONStringer;
move-result-object p0
invoke-virtual {p0}, Lorg/json/JSONStringer;->object()Lorg/json/JSONStringer;
move-result-object p0
.line 50
invoke-static {p0, p1}, Lcom/glu/plugins/gluanalytics/util/YLogger;->appendPlistToJson(Lorg/json/JSONStringer;[Ljava/lang/Object;)V
.line 51
invoke-static {p1}, Lcom/glu/plugins/gluanalytics/util/YLogger;->plistTail([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object p1
if-eqz p1, :cond_0
.line 53
invoke-static {p0, p1}, Lcom/glu/plugins/gluanalytics/util/YLogger;->appendPlistToJson(Lorg/json/JSONStringer;[Ljava/lang/Object;)V
goto :goto_0
:catch_0
move-exception p0
goto :goto_1
.line 55
:cond_0
:goto_0
invoke-virtual {p0}, Lorg/json/JSONStringer;->endObject()Lorg/json/JSONStringer;
move-result-object p1
.line 56
invoke-virtual {p1}, Lorg/json/JSONStringer;->endArray()Lorg/json/JSONStringer;
.line 57
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string v0, "#evu"
invoke-virtual {p1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p0}, Lorg/json/JSONStringer;->toString()Ljava/lang/String;
move-result-object p0
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
:try_end_0
.catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
return-object p0
.line 59
:goto_1
invoke-static {p0}, Lcom/glu/plugins/gluanalytics/util/Common;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
move-result-object p0
throw p0
.end method
.method private static plistTail([Ljava/lang/Object;)[Ljava/lang/Object;
.locals 3
.line 87
array-length v0, p0
.line 88
rem-int/lit8 v1, v0, 0x2
sub-int v1, v0, v1
const/4 v2, 0x0
if-ge v1, v0, :cond_0
.line 91
aget-object p0, p0, v1
.line 92
instance-of v0, p0, [Ljava/lang/Object;
if-eqz v0, :cond_0
.line 93
check-cast p0, [Ljava/lang/Object;
return-object p0
:cond_0
return-object v2
.end method
# virtual methods
.method public canV()Z
.locals 2
iget-object v0, p0, Lcom/glu/plugins/gluanalytics/util/YLogger;->mLog:Ljava/util/logging/Logger;
.line 39
sget-object v1, Ljava/util/logging/Level;->FINEST:Ljava/util/logging/Level;
invoke-virtual {v0, v1}, Ljava/util/logging/Logger;->isLoggable(Ljava/util/logging/Level;)Z
move-result v0
return v0
.end method
.method public varargs e(Ljava/lang/String;[Ljava/lang/Object;)V
.locals 1
.line 35
sget-object v0, Ljava/util/logging/Level;->SEVERE:Ljava/util/logging/Level;
invoke-direct {p0, v0, p1, p2}, Lcom/glu/plugins/gluanalytics/util/YLogger;->doLog(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
return-void
.end method
.method public varargs i(Ljava/lang/String;[Ljava/lang/Object;)V
.locals 1
.line 31
sget-object v0, Ljava/util/logging/Level;->INFO:Ljava/util/logging/Level;
invoke-direct {p0, v0, p1, p2}, Lcom/glu/plugins/gluanalytics/util/YLogger;->doLog(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
return-void
.end method
.method public varargs v(Ljava/lang/String;[Ljava/lang/Object;)V
.locals 1
.line 27
sget-object v0, Ljava/util/logging/Level;->FINEST:Ljava/util/logging/Level;
invoke-direct {p0, v0, p1, p2}, Lcom/glu/plugins/gluanalytics/util/YLogger;->doLog(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
return-void
.end method