p.smali
.class public final Lc9/p;
.super Ljava/lang/Object;
.source "VADetectUtils.kt"
# annotations
.annotation runtime Lkotlin/Metadata;
bv = {
0x1,
0x0,
0x3
}
d1 = {
"\u0000(\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\u0008\u0002\n\u0002\u0010\u000e\n\u0002\u0008\u0006\n\u0002\u0018\u0002\n\u0002\u0010\u000b\n\u0002\u0008\u0003\n\u0002\u0018\u0002\n\u0002\u0008\u0002\u0008\u00c6\u0002\u0018\u00002\u00020\u0001B\u0007\u0008\u0002\u00a2\u0006\u0002\u0010\u0002J\u0008\u0010\r\u001a\u00020\u000cH\u0002J\u0010\u0010\u000e\u001a\u00020\u000c2\u0006\u0010\u000f\u001a\u00020\u0010H\u0002J\u0010\u0010\u0011\u001a\u00020\u000c2\u0006\u0010\u000f\u001a\u00020\u0010H\u0007R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0005\u001a\u00020\u0004X\u0082T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0006\u001a\u00020\u0004X\u0082T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0007\u001a\u00020\u0004X\u0082T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0008\u001a\u00020\u0004X\u0082T\u00a2\u0006\u0002\n\u0000R\u000e\u0010\t\u001a\u00020\u0004X\u0082T\u00a2\u0006\u0002\n\u0000R\u0016\u0010\n\u001a\n\u0012\u0006\u0012\u0004\u0018\u00010\u000c0\u000bX\u0082\u0004\u00a2\u0006\u0002\n\u0000\u00a8\u0006\u0012"
}
d2 = {
"Lcom/shopee/android/base/common/VADetectUtils;",
"",
"()V",
"COMBINE_REGEX",
"",
"DATA_PATH_REGEX",
"TAG",
"VA_DATA_PATH_REGEX",
"VA_EXT_PATH_REGEX",
"VA_PKG_REGEX",
"mCachedValue",
"Ljava/util/concurrent/atomic/AtomicReference;",
"",
"isAmProxy",
"isInVirtualAppDirectory",
"context",
"Landroid/content/Context;",
"isOnVirtualApp",
"base_release"
}
k = 0x1
mv = {
0x1,
0x1,
0x10
}
.end annotation
# static fields
.field public static final a:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference<",
"Ljava/lang/Boolean;",
">;"
}
.end annotation
.end field
.field public static final b:Lc9/p;
# direct methods
.method public static constructor <clinit>()V
.registers 1
new-instance v0, Lc9/p;
invoke-direct {v0}, Lc9/p;-><init>()V
sput-object v0, Lc9/p;->b:Lc9/p;
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
invoke-direct {v0}, Ljava/util/concurrent/atomic/AtomicReference;-><init>()V
sput-object v0, Lc9/p;->a:Ljava/util/concurrent/atomic/AtomicReference;
return-void
.end method
.method public constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public final a()Z
.registers 6
const/4 v0, 0x0
:try_start_1
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v2, 0x1a
const/4 v3, 0x0
if-lt v1, v2, :cond_1f
const-string v1, "android.app.ActivityManager"
invoke-static {v1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v1
const-string v2, "getService"
new-array v4, v0, [Ljava/lang/Class;
invoke-virtual {v1, v2, v4}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v1
new-array v2, v0, [Ljava/lang/Object;
invoke-virtual {v1, v3, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
instance-of v0, v1, Ljava/lang/reflect/Proxy;
return v0
:cond_1f
const-string v1, "android.app.ActivityManagerNative"
invoke-static {v1}, Ljava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
move-result-object v1
const-string v2, "getDefault"
new-array v4, v0, [Ljava/lang/Class;
invoke-virtual {v1, v2, v4}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
move-result-object v1
new-array v2, v0, [Ljava/lang/Object;
invoke-virtual {v1, v3, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v1
instance-of v0, v1, Ljava/lang/reflect/Proxy;
:try_end_35
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_35} :catch_36
return v0
:catch_36
move-exception v1
sget-object v2, Lqa/d;->e:Lqa/d$a;
new-instance v3, Lc9/p$a;
invoke-direct {v3, v1}, Lc9/p$a;-><init>(Ljava/lang/Exception;)V
const-string v1, "VADetectUtils"
invoke-virtual {v2, v1, v3}, Lqa/d$a;->e(Ljava/lang/String;Lkotlin/jvm/functions/Function0;)V
return v0
.end method
.method public final a(Landroid/content/Context;)Z
.registers 4
invoke-static {p1}, Landroidx/core/content/ContextCompat;->getDataDir(Landroid/content/Context;)Ljava/io/File;
move-result-object p1
if-eqz p1, :cond_1e
invoke-virtual {p1}, Ljava/io/File;->getParentFile()Ljava/io/File;
move-result-object p1
if-eqz p1, :cond_1e
invoke-virtual {p1}, Ljava/io/File;->getAbsolutePath()Ljava/lang/String;
move-result-object p1
if-eqz p1, :cond_1e
new-instance v0, Lkotlin/text/Regex;
const-string v1, "(/data/(data|(user/\\d+))/(\\w+\\.)+\\w+/.*/data/(data|(user/\\d+)))|(.*/Android/data/(\\w+\\.)+\\w+/.*/data/(data|(user/\\d+)))"
invoke-direct {v0, v1}, Lkotlin/text/Regex;-><init>(Ljava/lang/String;)V
invoke-virtual {v0, p1}, Lkotlin/text/Regex;->matches(Ljava/lang/CharSequence;)Z
move-result p1
return p1
:cond_1e
const/4 p1, 0x0
return p1
.end method
.method public final b(Landroid/content/Context;)Z
.registers 4
.annotation build Landroidx/annotation/WorkerThread;
.end annotation
sget-object v0, Lc9/p;->a:Ljava/util/concurrent/atomic/AtomicReference;
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Ljava/lang/Boolean;
if-nez v0, :cond_24
invoke-virtual {p0}, Lc9/p;->a()Z
move-result v0
if-nez v0, :cond_19
invoke-virtual {p0, p1}, Lc9/p;->a(Landroid/content/Context;)Z
move-result p1
if-eqz p1, :cond_17
goto :goto_19
:cond_17
const/4 p1, 0x0
goto :goto_1a
:cond_19
:goto_19
const/4 p1, 0x1
:goto_1a
invoke-static {p1}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v0
sget-object p1, Lc9/p;->a:Ljava/util/concurrent/atomic/AtomicReference;
const/4 v1, 0x0
invoke-virtual {p1, v1, v0}, Ljava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
:cond_24
invoke-virtual {v0}, Ljava/lang/Boolean;->booleanValue()Z
move-result p1
return p1
.end method