PermissionsVerificationTest.smali
.class public Lcom/taboola/android/integration_verifier/testing/tests/PermissionsVerificationTest;
.super Lcom/taboola/android/integration_verifier/testing/VerificationTest;
.source "PermissionsVerificationTest.java"
# static fields
.field public static final ACCESS_NETWORK_STATE_PERMISSION:Ljava/lang/String; = "android.permission.ACCESS_NETWORK_STATE"
.field public static final INTERNET_PERMISSION:Ljava/lang/String; = "android.permission.INTERNET"
.field public static final KEY_PERMISSIONS_LIST:Ljava/lang/String; = "permissionsVerification_key_permissions_list"
.field private static final TEST_NAME:Ljava/lang/String; = "PermissionsVerification"
# instance fields
.field private allPermissionsGranted:Z
.field private stringBuilder:Ljava/lang/StringBuilder;
# direct methods
.method public constructor <init>(IZ)V
.registers 3
.line 37
invoke-direct {p0, p1, p2}, Lcom/taboola/android/integration_verifier/testing/VerificationTest;-><init>(IZ)V
const/4 p1, 0x1
.line 39
iput-boolean p1, p0, Lcom/taboola/android/integration_verifier/testing/tests/PermissionsVerificationTest;->allPermissionsGranted:Z
.line 40
new-instance p1, Ljava/lang/StringBuilder;
const-string p2, "PermissionsVerificationTest | The following Taboola Permissions were not asked or permission was not granted: "
invoke-direct {p1, p2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iput-object p1, p0, Lcom/taboola/android/integration_verifier/testing/tests/PermissionsVerificationTest;->stringBuilder:Ljava/lang/StringBuilder;
return-void
.end method
.method private areAllTaboolaPermissionsGranted(Landroid/content/Context;Landroid/os/Bundle;)Z
.registers 6
const-string v0, "permissionsVerification_key_permissions_list"
.line 58
invoke-virtual {p2, v0}, Landroid/os/Bundle;->getStringArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
move-result-object p2
.line 61
invoke-interface {p2}, Ljava/util/List;->iterator()Ljava/util/Iterator;
move-result-object p2
:cond_a
:goto_a
invoke-interface {p2}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_36
invoke-interface {p2}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/String;
.line 62
invoke-static {p1, v0}, Lcom/taboola/android/utils/PermissionUtils;->isPermissionGranted(Landroid/content/Context;Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_a
const/4 v1, 0x0
.line 63
iput-boolean v1, p0, Lcom/taboola/android/integration_verifier/testing/tests/PermissionsVerificationTest;->allPermissionsGranted:Z
.line 64
iget-object v1, p0, Lcom/taboola/android/integration_verifier/testing/tests/PermissionsVerificationTest;->stringBuilder:Ljava/lang/StringBuilder;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, " "
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
goto :goto_a
.line 69
:cond_36
new-instance p1, Ljava/lang/StringBuilder;
invoke-direct {p1}, Ljava/lang/StringBuilder;-><init>()V
const-string p2, "PermissionsVerificationTest | execute() | areAllTaboolaPermissionsGranted() | allPermissionsGranted = "
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-boolean p2, p0, Lcom/taboola/android/integration_verifier/testing/tests/PermissionsVerificationTest;->allPermissionsGranted:Z
invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {p1}, Lcom/taboola/android/integration_verifier/utility/IVLogger;->log(Ljava/lang/String;)V
.line 71
iget-boolean p1, p0, Lcom/taboola/android/integration_verifier/testing/tests/PermissionsVerificationTest;->allPermissionsGranted:Z
return p1
.end method
# virtual methods
.method public execute(Landroid/content/Context;Landroid/os/Bundle;Lcom/taboola/android/integration_verifier/testing/VerificationTest$TestResults;)V
.registers 4
.line 45
invoke-direct {p0, p1, p2}, Lcom/taboola/android/integration_verifier/testing/tests/PermissionsVerificationTest;->areAllTaboolaPermissionsGranted(Landroid/content/Context;Landroid/os/Bundle;)Z
move-result p1
if-eqz p1, :cond_a
.line 47
invoke-interface {p3}, Lcom/taboola/android/integration_verifier/testing/VerificationTest$TestResults;->onSuccess()V
goto :goto_11
.line 49
:cond_a
invoke-virtual {p0}, Lcom/taboola/android/integration_verifier/testing/tests/PermissionsVerificationTest;->isMandatory()Z
move-result p1
invoke-interface {p3, p1}, Lcom/taboola/android/integration_verifier/testing/VerificationTest$TestResults;->onFail(Z)V
:goto_11
return-void
.end method
.method public getVerificationOutputTargets(Landroid/os/Bundle;)Lcom/taboola/android/integration_verifier/testing/output_connector/VerificationOutputTargets;
.registers 7
.line 77
new-instance v0, Lcom/taboola/android/integration_verifier/testing/output_connector/VerificationOutputTargets;
const/4 v1, 0x0
new-array v1, v1, [Lcom/taboola/android/integration_verifier/testing/output_connector/VerificationOutputTarget;
invoke-direct {v0, v1}, Lcom/taboola/android/integration_verifier/testing/output_connector/VerificationOutputTargets;-><init>([Lcom/taboola/android/integration_verifier/testing/output_connector/VerificationOutputTarget;)V
.line 80
new-instance v1, Landroid/os/Bundle;
invoke-direct {v1}, Landroid/os/Bundle;-><init>()V
.line 81
iget-object v2, p0, Lcom/taboola/android/integration_verifier/testing/tests/PermissionsVerificationTest;->stringBuilder:Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v2
const-string v3, "consoleOutput_key_log_error_string"
.line 83
invoke-virtual {v1, v3, v2}, Landroid/os/Bundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
.line 86
new-instance v3, Lcom/taboola/android/integration_verifier/testing/output_connector/VerificationOutputTarget;
const/4 v4, 0x2
invoke-direct {v3, v4, v1}, Lcom/taboola/android/integration_verifier/testing/output_connector/VerificationOutputTarget;-><init>(ILandroid/os/Bundle;)V
invoke-virtual {v0, v3}, Lcom/taboola/android/integration_verifier/testing/output_connector/VerificationOutputTargets;->add(Lcom/taboola/android/integration_verifier/testing/output_connector/VerificationOutputTarget;)V
.line 89
new-instance v1, Lcom/taboola/android/integration_verifier/testing/output_connector/VerificationOutputTarget;
const-string v3, "integration_verifier_key_integrationType"
invoke-virtual {p1, v3}, Landroid/os/Bundle;->getInt(Ljava/lang/String;)I
move-result p1
invoke-static {p1}, Lcom/taboola/android/integration_verifier/utility/IntegrationTypeNameParser;->getNameFor(I)Ljava/lang/String;
move-result-object p1
const-string v3, "PermissionsVerification"
invoke-virtual {p0, p1, v3, v2}, Lcom/taboola/android/integration_verifier/testing/tests/PermissionsVerificationTest;->getKibanaBundle(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/os/Bundle;
move-result-object p1
const/4 v2, 0x3
invoke-direct {v1, v2, p1}, Lcom/taboola/android/integration_verifier/testing/output_connector/VerificationOutputTarget;-><init>(ILandroid/os/Bundle;)V
invoke-virtual {v0, v1}, Lcom/taboola/android/integration_verifier/testing/output_connector/VerificationOutputTargets;->add(Lcom/taboola/android/integration_verifier/testing/output_connector/VerificationOutputTarget;)V
return-object v0
.end method