160 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			Smali
		
	
	
	
	
	
			
		
		
	
	
			160 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			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 public static constructor <clinit>()V
 | 
						|
    .locals 0
 | 
						|
 | 
						|
    return-void
 | 
						|
.end method
 | 
						|
 | 
						|
.method public constructor <init>()V
 | 
						|
    .locals 0
 | 
						|
 | 
						|
    .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;
 | 
						|
    .locals 1
 | 
						|
 | 
						|
    .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;
 | 
						|
    .locals 0
 | 
						|
 | 
						|
    .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;
 | 
						|
    .locals 2
 | 
						|
 | 
						|
    .line 1
 | 
						|
    invoke-virtual {p1}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
 | 
						|
 | 
						|
    move-result-object v0
 | 
						|
 | 
						|
    .line 2
 | 
						|
    :try_start_0
 | 
						|
    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_0
 | 
						|
    .catch Landroid/content/pm/PackageManager$NameNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
 | 
						|
 | 
						|
    goto :goto_0
 | 
						|
 | 
						|
    .line 4
 | 
						|
    :catch_0
 | 
						|
    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_0
 | 
						|
    return-object p1
 | 
						|
.end method
 | 
						|
 | 
						|
 | 
						|
# virtual methods
 | 
						|
.method public collect(Landroid/content/Context;)Ljava/util/Map;
 | 
						|
    .locals 3
 | 
						|
    .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-virtual {v0, v2, v1}, Ljava/util/HashMap;->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-virtual {v0, v2, v1}, Ljava/util/HashMap;->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-virtual {v0, v1, p1}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 | 
						|
 | 
						|
    return-object v0
 | 
						|
.end method
 |