ApplicationDataCollector.smali
.class public Lcom/amazonaws/cognito/clientcontext/datacollection/ApplicationDataCollector;
.super Lcom/amazonaws/cognito/clientcontext/datacollection/DataCollector;
.source "ApplicationDataCollector.java"
# static fields
.field private static final ALL_FLAGS_OFF:I = 0x0
.field private static final TAG:Ljava/lang/String; = "ApplicationDataCollector"
# direct methods
.method static constructor <clinit>()V
.registers 0
return-void
.end method
.method public constructor <init>()V
.registers 1
.line 1
invoke-direct {p0}, Lcom/amazonaws/cognito/clientcontext/datacollection/DataCollector;-><init>()V
return-void
.end method
.method private getAppName(Landroid/content/Context;)Ljava/lang/String;
.registers 3
.line 1
invoke-virtual {p1}, Landroid/content/Context;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
move-result-object v0
.line 2
invoke-virtual {p1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object p1
.line 3
invoke-virtual {p1, v0}, Landroid/content/pm/PackageManager;->getApplicationLabel(Landroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;
move-result-object p1
check-cast p1, Ljava/lang/String;
return-object p1
.end method
.method private getAppTargetSdk(Landroid/content/Context;)Ljava/lang/String;
.registers 2
.line 1
invoke-virtual {p1}, Landroid/content/Context;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
move-result-object p1
.line 2
iget p1, p1, Landroid/content/pm/ApplicationInfo;->targetSdkVersion:I
invoke-static {p1}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method private getAppVersion(Landroid/content/Context;)Ljava/lang/String;
.registers 4
.line 1
invoke-virtual {p1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
.line 2
:try_start_4
invoke-virtual {p1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object p1
const/4 v1, 0x0
invoke-virtual {v0, p1, v1}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object p1
.line 3
iget-object p1, p1, Landroid/content/pm/PackageInfo;->versionName:Ljava/lang/String;
:try_end_f
.catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_4 .. :try_end_f} :catch_10
goto :goto_19
.line 4
:catch_10
sget-object p1, Lcom/amazonaws/cognito/clientcontext/datacollection/ApplicationDataCollector;->TAG:Ljava/lang/String;
const-string v0, "Unable to get app version. Provided package name could not be found."
invoke-static {p1, v0}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I
const-string p1, ""
:goto_19
return-object p1
.end method
# virtual methods
.method public collect(Landroid/content/Context;)Ljava/util/Map;
.registers 5
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroid/content/Context;",
")",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;"
}
.end annotation
.line 1
new-instance v0, Ljava/util/HashMap;
invoke-direct {v0}, Ljava/util/HashMap;-><init>()V
.line 2
invoke-direct {p0, p1}, Lcom/amazonaws/cognito/clientcontext/datacollection/ApplicationDataCollector;->getAppName(Landroid/content/Context;)Ljava/lang/String;
move-result-object v1
const-string v2, "ApplicationName"
invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 3
invoke-direct {p0, p1}, Lcom/amazonaws/cognito/clientcontext/datacollection/ApplicationDataCollector;->getAppTargetSdk(Landroid/content/Context;)Ljava/lang/String;
move-result-object v1
const-string v2, "ApplicationTargetSdk"
invoke-interface {v0, v2, v1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
.line 4
invoke-direct {p0, p1}, Lcom/amazonaws/cognito/clientcontext/datacollection/ApplicationDataCollector;->getAppVersion(Landroid/content/Context;)Ljava/lang/String;
move-result-object p1
const-string v1, "ApplicationVersion"
invoke-interface {v0, v1, p1}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
return-object v0
.end method