AudioMgr$PermissionCheckThread.smali

.class Lcom/FF/voiceengine/AudioMgr$PermissionCheckThread;
.super Ljava/lang/Thread;
.source "SourceFile"


# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
    value = Lcom/FF/voiceengine/AudioMgr;
.end annotation

.annotation system Ldalvik/annotation/InnerClass;
    accessFlags = 0xa
    name = "PermissionCheckThread"
.end annotation


# direct methods
.method private constructor <init>()V
    .registers 1

    invoke-direct {p0}, Ljava/lang/Thread;-><init>()V

    return-void
.end method

.method synthetic constructor <init>(Lcom/FF/voiceengine/AudioMgr$1;)V
    .registers 2

    invoke-direct {p0}, Lcom/FF/voiceengine/AudioMgr$PermissionCheckThread;-><init>()V

    return-void
.end method


# virtual methods
.method public run()V
    .registers 5

    const-string v0, "AudioMgr"

    :try_start_2
    const-string v1, "PermissionCheck starts..."

    invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I

    :cond_7
    invoke-static {}, Ljava/lang/Thread;->interrupted()Z

    move-result v1

    if-nez v1, :cond_65

    # operator++ for: Lcom/FF/voiceengine/AudioMgr;->requestPermissionCount:I
    invoke-static {}, Lcom/FF/voiceengine/AudioMgr;->access$608()I

    const-wide/16 v1, 0x1388

    invoke-static {v1, v2}, Ljava/lang/Thread;->sleep(J)V

    # getter for: Lcom/FF/voiceengine/AudioMgr;->mContext:Landroid/content/Context;
    invoke-static {}, Lcom/FF/voiceengine/AudioMgr;->access$000()Landroid/content/Context;

    move-result-object v1

    if-eqz v1, :cond_35

    # getter for: Lcom/FF/voiceengine/AudioMgr;->mContext:Landroid/content/Context;
    invoke-static {}, Lcom/FF/voiceengine/AudioMgr;->access$000()Landroid/content/Context;

    move-result-object v1

    instance-of v1, v1, Landroid/app/Activity;

    if-eqz v1, :cond_35

    # getter for: Lcom/FF/voiceengine/AudioMgr;->mContext:Landroid/content/Context;
    invoke-static {}, Lcom/FF/voiceengine/AudioMgr;->access$000()Landroid/content/Context;

    move-result-object v1

    check-cast v1, Landroid/app/Activity;

    const-string v2, "android.permission.RECORD_AUDIO"

    invoke-static {v1, v2}, Landroidx/core/content/a;->a(Landroid/content/Context;Ljava/lang/String;)I

    move-result v1

    if-nez v1, :cond_35

    invoke-static {}, Lcom/FF/voiceengine/NativeEngine;->resetMicrophone()V

    goto :goto_65

    :cond_35
    # getter for: Lcom/FF/voiceengine/AudioMgr;->requestPermissionCount:I
    invoke-static {}, Lcom/FF/voiceengine/AudioMgr;->access$600()I

    move-result v1

    const/4 v2, 0x3

    if-le v1, v2, :cond_7

    const/4 v1, 0x0

    # setter for: Lcom/FF/voiceengine/AudioMgr;->requestPermissionCount:I
    invoke-static {v1}, Lcom/FF/voiceengine/AudioMgr;->access$602(I)I

    const/16 v1, -0xca

    invoke-static {v1}, Lcom/FF/voiceengine/NativeEngine;->callbackPermissionStatus(I)V
    :try_end_45
    .catch Ljava/lang/InterruptedException; {:try_start_2 .. :try_end_45} :catch_60
    .catchall {:try_start_2 .. :try_end_45} :catchall_46

    goto :goto_65

    :catchall_46
    move-exception v1

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "PermissionCheck caught a throwable:"

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v1}, Ljava/lang/Throwable;->getMessage()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v1

    invoke-static {v0, v1}, Landroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I

    goto :goto_65

    :catch_60
    const-string v1, "PermissionCheck interrupted"

    invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I

    :cond_65
    :goto_65
    const-string v1, "PermissionCheck exit"

    invoke-static {v0, v1}, Landroid/util/Log;->i(Ljava/lang/String;Ljava/lang/String;)I

    return-void
.end method