Files
rr3-apk/smali_classes4/csdk/glucentralservices/util/AndroidPlatform.smali
Daniel Elliott f3960ee359 Add Discord APKTool decompilation (Smali source for modding)
- Imported from https://github.com/supermegamestre/Project-Real-Resurrection-3
- APKTool decompilation (Smali bytecode) for modding and rebuilding APK
- Supports both 32-bit (armeabi-v7a) and 64-bit (arm64-v8a) architectures
- Includes full Smali source, resources, and native libraries
- Ready to rebuild APK after modifications with apktool b command
- Added comprehensive README-apktool.md with modding guide

This branch complements the JADX branches:
- Use JADX (main/discord-community) to UNDERSTAND code (readable Java)
- Use APKTool (this branch) to MODIFY and REBUILD APK (editable Smali)

Total: 44,417 files, 538.51 MB Smali source code
2026-02-18 16:13:44 -08:00

1651 lines
41 KiB
Smali

.class public Lcsdk/glucentralservices/util/AndroidPlatform;
.super Ljava/lang/Object;
.source "SourceFile"
# static fields
.field static mCMPRegionDetected:Z = false
.field static mCMPShouldShow:Z = false
# instance fields
.field private mActivityLifeCycleCallbacks:Lcsdk/glucentralservices/util/ActivityLifecycleCallbacks;
.field private final mContext:Landroid/content/Context;
.field private mDownloader:Lcsdk/glucentralservices/network/Downloader;
.field private mIsAvailable:Z
.field private final mTimer:Ljava/util/Timer;
# direct methods
.method static constructor <clinit>()V
.locals 0
return-void
.end method
.method public constructor <init>(Landroid/content/Context;)V
.locals 1
.line 80
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 81
invoke-virtual {p1}, Landroid/content/Context;->getApplicationContext()Landroid/content/Context;
move-result-object p1
iput-object p1, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mContext:Landroid/content/Context;
const/4 p1, 0x1
iput-boolean p1, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mIsAvailable:Z
.line 84
new-instance p1, Ljava/util/Timer;
const-string v0, "GluCentralServices-AndroidPlatform"
invoke-direct {p1, v0}, Ljava/util/Timer;-><init>(Ljava/lang/String;)V
iput-object p1, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mTimer:Ljava/util/Timer;
const/4 p1, 0x0
iput-object p1, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mDownloader:Lcsdk/glucentralservices/network/Downloader;
return-void
.end method
.method public static synthetic access$000(Lcsdk/glucentralservices/util/AndroidPlatform;)Z
.locals 0
.line 70
iget-boolean p0, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mIsAvailable:Z
return p0
.end method
.method public static synthetic access$100(Lcsdk/glucentralservices/util/AndroidPlatform;Ljava/lang/String;)V
.locals 0
.line 70
invoke-direct {p0, p1}, Lcsdk/glucentralservices/util/AndroidPlatform;->onApplicationEvent(Ljava/lang/String;)V
return-void
.end method
.method public static synthetic access$1000(Lcsdk/glucentralservices/util/AndroidPlatform;)Landroid/content/Context;
.locals 0
.line 70
iget-object p0, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mContext:Landroid/content/Context;
return-object p0
.end method
.method public static synthetic access$1100(Lcsdk/glucentralservices/util/AndroidPlatform;JZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.locals 0
.line 70
invoke-direct/range {p0 .. p8}, Lcsdk/glucentralservices/util/AndroidPlatform;->onShowCMPConsentFormComplete(JZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public static synthetic access$1200(Lcsdk/glucentralservices/util/AndroidPlatform;JZ)V
.locals 0
.line 70
invoke-direct {p0, p1, p2, p3}, Lcsdk/glucentralservices/util/AndroidPlatform;->onCMPRegionDetected(JZ)V
return-void
.end method
.method public static synthetic access$200(Lcsdk/glucentralservices/util/AndroidPlatform;JI[BLjava/util/Map;)V
.locals 0
.line 70
invoke-direct/range {p0 .. p5}, Lcsdk/glucentralservices/util/AndroidPlatform;->onHTTPResponse(JI[BLjava/util/Map;)V
return-void
.end method
.method public static synthetic access$300(Lcsdk/glucentralservices/util/AndroidPlatform;JILjava/lang/String;)V
.locals 0
.line 70
invoke-direct {p0, p1, p2, p3, p4}, Lcsdk/glucentralservices/util/AndroidPlatform;->onDownloadResponse(JILjava/lang/String;)V
return-void
.end method
.method public static synthetic access$400(Lcsdk/glucentralservices/util/AndroidPlatform;J)V
.locals 0
.line 70
invoke-direct {p0, p1, p2}, Lcsdk/glucentralservices/util/AndroidPlatform;->onTimerEvent(J)V
return-void
.end method
.method public static synthetic access$500(Lcsdk/glucentralservices/util/AndroidPlatform;JLjava/lang/String;)V
.locals 0
.line 70
invoke-direct {p0, p1, p2, p3}, Lcsdk/glucentralservices/util/AndroidPlatform;->onShowConsentComplete(JLjava/lang/String;)V
return-void
.end method
.method public static synthetic access$600(Lcsdk/glucentralservices/util/AndroidPlatform;JJ)V
.locals 0
.line 70
invoke-direct {p0, p1, p2, p3, p4}, Lcsdk/glucentralservices/util/AndroidPlatform;->deleteConsentCallbacks(JJ)V
return-void
.end method
.method public static synthetic access$700(Lcsdk/glucentralservices/util/AndroidPlatform;JLjava/lang/String;)V
.locals 0
.line 70
invoke-direct {p0, p1, p2, p3}, Lcsdk/glucentralservices/util/AndroidPlatform;->onConsentEvent(JLjava/lang/String;)V
return-void
.end method
.method public static synthetic access$800(Lcsdk/glucentralservices/util/AndroidPlatform;JLjava/lang/String;Ljava/lang/String;)V
.locals 0
.line 70
invoke-direct {p0, p1, p2, p3, p4}, Lcsdk/glucentralservices/util/AndroidPlatform;->onShowWebViewComplete(JLjava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public static synthetic access$900(Lcsdk/glucentralservices/util/AndroidPlatform;JLcom/google/android/ump/FormError;)V
.locals 0
.line 70
invoke-direct {p0, p1, p2, p3}, Lcsdk/glucentralservices/util/AndroidPlatform;->processCMPConsentResult(JLcom/google/android/ump/FormError;)V
return-void
.end method
.method private native deleteConsentCallbacks(JJ)V
.end method
.method private native onApplicationEvent(Ljava/lang/String;)V
.end method
.method private onCMPRegionDetected(JZ)V
.locals 1
sput-boolean p3, Lcsdk/glucentralservices/util/AndroidPlatform;->mCMPShouldShow:Z
const/4 v0, 0x1
sput-boolean v0, Lcsdk/glucentralservices/util/AndroidPlatform;->mCMPRegionDetected:Z
.line 543
invoke-direct {p0, p1, p2, p3}, Lcsdk/glucentralservices/util/AndroidPlatform;->onRequestCMPConsentInfoComplete(JZ)V
return-void
.end method
.method private native onConsentEvent(JLjava/lang/String;)V
.end method
.method private native onDownloadResponse(JILjava/lang/String;)V
.end method
.method private native onHTTPResponse(JI[BLjava/util/Map;)V
.annotation system Ldalvik/annotation/Signature;
value = {
"(JI[B",
"Ljava/util/Map<",
"Ljava/lang/String;",
"Ljava/lang/String;",
">;)V"
}
.end annotation
.end method
.method private native onRequestCMPConsentInfoComplete(JZ)V
.end method
.method private native onShowCMPConsentFormComplete(JZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
.end method
.method private native onShowConsentComplete(JLjava/lang/String;)V
.end method
.method private native onShowWebViewComplete(JLjava/lang/String;Ljava/lang/String;)V
.end method
.method private native onTimerEvent(J)V
.end method
.method private processCMPConsentResult(JLcom/google/android/ump/FormError;)V
.locals 10
.param p3 # Lcom/google/android/ump/FormError;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
iget-object v0, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mContext:Landroid/content/Context;
.line 447
invoke-static {v0}, Lcom/google/android/ump/UserMessagingPlatform;->getConsentInformation(Landroid/content/Context;)Lcom/google/android/ump/ConsentInformation;
move-result-object v0
.line 448
invoke-interface {v0}, Lcom/google/android/ump/ConsentInformation;->getPrivacyOptionsRequirementStatus()Lcom/google/android/ump/ConsentInformation$PrivacyOptionsRequirementStatus;
move-result-object v0
sget-object v1, Lcom/google/android/ump/ConsentInformation$PrivacyOptionsRequirementStatus;->REQUIRED:Lcom/google/android/ump/ConsentInformation$PrivacyOptionsRequirementStatus;
if-ne v0, v1, :cond_0
const/4 v0, 0x1
:goto_0
move v4, v0
goto :goto_1
:cond_0
const/4 v0, 0x0
goto :goto_0
:goto_1
if-eqz p3, :cond_1
const/4 v5, 0x0
const/4 v6, 0x0
const/4 v7, 0x0
const/4 v8, 0x0
.line 459
invoke-virtual {p3}, Lcom/google/android/ump/FormError;->getErrorCode()I
move-result v0
invoke-static {v0}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
move-result-object v0
.line 460
invoke-virtual {p3}, Lcom/google/android/ump/FormError;->getMessage()Ljava/lang/String;
move-result-object p3
filled-new-array {v0, p3}, [Ljava/lang/Object;
move-result-object p3
const-string v0, "%s: %s"
.line 458
invoke-static {v0, p3}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object v9
move-object v1, p0
move-wide v2, p1
.line 452
invoke-direct/range {v1 .. v9}, Lcsdk/glucentralservices/util/AndroidPlatform;->onShowCMPConsentFormComplete(JZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
goto :goto_2
:cond_1
iget-object p3, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mContext:Landroid/content/Context;
.line 464
invoke-static {p3}, Landroid/preference/PreferenceManager;->getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences;
move-result-object p3
const-string v0, "IABTCF_PurposeConsents"
const-string v1, ""
.line 465
invoke-interface {p3, v0, v1}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v5
const-string v0, "IABTCF_PurposeLegitimateInterests"
.line 466
invoke-interface {p3, v0, v1}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v6
const-string v0, "IABTCF_VendorConsents"
.line 467
invoke-interface {p3, v0, v1}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v7
const-string v0, "IABTCF_AddtlConsent"
.line 468
invoke-interface {p3, v0, v1}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v8
const/4 v9, 0x0
move-object v1, p0
move-wide v2, p1
.line 471
invoke-direct/range {v1 .. v9}, Lcsdk/glucentralservices/util/AndroidPlatform;->onShowCMPConsentFormComplete(JZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:goto_2
return-void
.end method
.method private runAsync(Ljava/lang/Runnable;)V
.locals 1
.line 660
new-instance v0, Ljava/lang/Thread;
invoke-direct {v0, p1}, Ljava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
invoke-virtual {v0}, Ljava/lang/Thread;->start()V
return-void
.end method
# virtual methods
.method public checkPrivateDirectoryExists(Ljava/lang/String;Z)Z
.locals 1
.line 198
new-instance v0, Ljava/io/File;
invoke-direct {v0, p1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 199
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result p1
if-nez p1, :cond_0
if-eqz p2, :cond_0
invoke-virtual {v0}, Ljava/io/File;->mkdirs()Z
move-result p1
if-eqz p1, :cond_0
const/4 p1, 0x1
return p1
:cond_0
const/4 p1, 0x0
return p1
.end method
.method public destroy()V
.locals 1
const/4 v0, 0x0
iput-boolean v0, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mIsAvailable:Z
iget-object v0, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mDownloader:Lcsdk/glucentralservices/network/Downloader;
if-eqz v0, :cond_0
.line 101
invoke-virtual {v0}, Lcsdk/glucentralservices/network/Downloader;->destroy()V
:cond_0
iget-object v0, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mTimer:Ljava/util/Timer;
.line 102
invoke-virtual {v0}, Ljava/util/Timer;->cancel()V
iget-object v0, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mActivityLifeCycleCallbacks:Lcsdk/glucentralservices/util/ActivityLifecycleCallbacks;
if-eqz v0, :cond_1
.line 104
invoke-virtual {v0}, Lcsdk/glucentralservices/util/ActivityLifecycleCallbacks;->destroy()V
:cond_1
return-void
.end method
.method public downloadFile(Ljava/lang/String;Ljava/lang/String;JJZ)V
.locals 8
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/net/MalformedURLException;
}
.end annotation
.line 139
new-instance v5, Ljava/net/URL;
invoke-direct {v5, p1}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
if-eqz p7, :cond_1
iget-object p3, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mDownloader:Lcsdk/glucentralservices/network/Downloader;
if-nez p3, :cond_0
.line 162
new-instance p3, Lcsdk/glucentralservices/network/Downloader;
iget-object p4, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mContext:Landroid/content/Context;
invoke-direct {p3, p4}, Lcsdk/glucentralservices/network/Downloader;-><init>(Landroid/content/Context;)V
iput-object p3, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mDownloader:Lcsdk/glucentralservices/network/Downloader;
.line 163
invoke-virtual {p3}, Lcsdk/glucentralservices/network/Downloader;->init()V
.line 166
:cond_0
new-instance p3, Lcsdk/glucentralservices/util/AndroidPlatform$4;
invoke-direct {p3, p0, p5, p6}, Lcsdk/glucentralservices/util/AndroidPlatform$4;-><init>(Lcsdk/glucentralservices/util/AndroidPlatform;J)V
iget-object p4, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mDownloader:Lcsdk/glucentralservices/network/Downloader;
.line 180
invoke-virtual {p4, p1, p2, p3}, Lcsdk/glucentralservices/network/Downloader;->download(Ljava/lang/String;Ljava/lang/String;Lcsdk/glucentralservices/network/Downloader$DownloadListener;)V
return-void
.line 142
:cond_1
new-instance p1, Lcsdk/glucentralservices/util/AndroidPlatform$3;
move-object v0, p1
move-object v1, p0
move-object v2, p2
move-wide v3, p5
move-wide v6, p3
invoke-direct/range {v0 .. v7}, Lcsdk/glucentralservices/util/AndroidPlatform$3;-><init>(Lcsdk/glucentralservices/util/AndroidPlatform;Ljava/lang/String;JLjava/net/URL;J)V
invoke-direct {p0, p1}, Lcsdk/glucentralservices/util/AndroidPlatform;->runAsync(Ljava/lang/Runnable;)V
return-void
.end method
.method public generateUUID()Ljava/lang/String;
.locals 1
.line 654
invoke-static {}, Ljava/util/UUID;->randomUUID()Ljava/util/UUID;
move-result-object v0
.line 655
invoke-virtual {v0}, Ljava/util/UUID;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public getApplicationID()Ljava/lang/String;
.locals 1
iget-object v0, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mContext:Landroid/content/Context;
.line 232
invoke-virtual {v0}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public getApplicationVersion()Ljava/lang/String;
.locals 3
:try_start_0
iget-object v0, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mContext:Landroid/content/Context;
.line 223
invoke-virtual {v0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
iget-object v1, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mContext:Landroid/content/Context;
invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v1
const/4 v2, 0x0
invoke-virtual {v0, v1, v2}, Landroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
move-result-object v0
iget-object v0, v0, 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
:catch_0
const-string v0, ""
:goto_0
return-object v0
.end method
.method public getCpuCoreCount()I
.locals 1
.line 297
invoke-static {}, Lcsdk/glucentralservices/devicetiers/DeviceUtil;->getCpuCount()I
move-result v0
return v0
.end method
.method public getCpuName()Ljava/lang/String;
.locals 2
.line 354
sget-object v0, Landroid/os/Build;->SUPPORTED_ABIS:[Ljava/lang/String;
const/4 v1, 0x0
aget-object v0, v0, v1
return-object v0
.end method
.method public getDeviceTier()I
.locals 2
iget-object v0, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mContext:Landroid/content/Context;
.line 292
invoke-static {v0}, Lcsdk/glucentralservices/devicetiers/DeviceTiers;->getDeviceTier(Landroid/content/Context;)Lcsdk/glucentralservices/devicetiers/DeviceTier;
move-result-object v0
.line 293
iget v1, v0, Lcsdk/glucentralservices/devicetiers/DeviceTier;->tier:I
iget-boolean v0, v0, Lcsdk/glucentralservices/devicetiers/DeviceTier;->fallback:Z
if-eqz v0, :cond_0
const/16 v0, 0x100
goto :goto_0
:cond_0
const/4 v0, 0x0
:goto_0
or-int/2addr v0, v1
return v0
.end method
.method public getETC2IfSupported()Ljava/lang/String;
.locals 1
.line 370
invoke-static {}, Lcsdk/glucentralservices/devicetiers/DeviceUtil;->getGlesData()Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;
move-result-object v0
if-eqz v0, :cond_0
.line 371
iget-object v0, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->supportedTextureFormat:Ljava/lang/String;
goto :goto_0
:cond_0
const-string v0, ""
:goto_0
return-object v0
.end method
.method public getFromStringStore(Ljava/lang/String;)Ljava/lang/String;
.locals 0
.line 645
invoke-static {p1}, Lcsdk/glucentralservices/kvstore/StringStore;->get(Ljava/lang/String;)Ljava/lang/String;
move-result-object p1
return-object p1
.end method
.method public getGpuDeviceName()Ljava/lang/String;
.locals 1
.line 306
invoke-static {}, Lcsdk/glucentralservices/devicetiers/DeviceUtil;->getGlesData()Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;
move-result-object v0
if-eqz v0, :cond_0
.line 307
iget-object v0, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->gpuRenderer:Ljava/lang/String;
goto :goto_0
:cond_0
const-string v0, "Unknown"
:goto_0
return-object v0
.end method
.method public getGpuDeviceVendor()Ljava/lang/String;
.locals 1
.line 301
invoke-static {}, Lcsdk/glucentralservices/devicetiers/DeviceUtil;->getGlesData()Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;
move-result-object v0
if-eqz v0, :cond_0
.line 302
iget-object v0, v0, Lcsdk/glucentralservices/devicetiers/DeviceUtil$GlesData;->gpuVendor:Ljava/lang/String;
goto :goto_0
:cond_0
const-string v0, "Unknown"
:goto_0
return-object v0
.end method
.method public getLanguage()Ljava/lang/String;
.locals 3
.line 379
invoke-static {}, Ljava/util/Locale;->getDefault()Ljava/util/Locale;
move-result-object v0
.line 380
invoke-virtual {v0}, Ljava/util/Locale;->getCountry()Ljava/lang/String;
move-result-object v1
const-string v2, "tw"
invoke-virtual {v1, v2}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_3
.line 381
invoke-virtual {v0}, Ljava/util/Locale;->getCountry()Ljava/lang/String;
move-result-object v1
const-string v2, "hk"
invoke-virtual {v1, v2}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_0
goto :goto_1
.line 383
:cond_0
invoke-virtual {v0}, Ljava/util/Locale;->getLanguage()Ljava/lang/String;
move-result-object v1
const-string v2, "es"
invoke-virtual {v1, v2}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v1
if-nez v1, :cond_2
.line 384
invoke-virtual {v0}, Ljava/util/Locale;->getLanguage()Ljava/lang/String;
move-result-object v1
const-string v2, "pt"
invoke-virtual {v1, v2}, Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_1
goto :goto_0
.line 387
:cond_1
invoke-virtual {v0}, Ljava/util/Locale;->getLanguage()Ljava/lang/String;
move-result-object v0
return-object v0
.line 385
:cond_2
:goto_0
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0}, Ljava/util/Locale;->getLanguage()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "-"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/util/Locale;->getCountry()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.line 382
:cond_3
:goto_1
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v0}, Ljava/util/Locale;->getLanguage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v0, "-hant"
invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public getLocale()Ljava/lang/String;
.locals 1
const-string v0, ""
return-object v0
.end method
.method public getRamAmount()D
.locals 4
.line 314
:try_start_0
new-instance v0, Landroid/app/ActivityManager$MemoryInfo;
invoke-direct {v0}, Landroid/app/ActivityManager$MemoryInfo;-><init>()V
iget-object v1, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mContext:Landroid/content/Context;
const-string v2, "activity"
.line 315
invoke-virtual {v1, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroid/app/ActivityManager;
.line 316
invoke-virtual {v1, v0}, Landroid/app/ActivityManager;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
iget-wide v0, v0, Landroid/app/ActivityManager$MemoryInfo;->totalMem:J
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
long-to-double v0, v0
const-wide/high16 v2, 0x4090000000000000L # 1024.0
div-double/2addr v0, v2
div-double/2addr v0, v2
return-wide v0
:catch_0
const-wide/16 v0, 0x0
return-wide v0
.end method
.method public getScreenSize()Ljava/lang/String;
.locals 3
iget-object v0, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mContext:Landroid/content/Context;
.line 362
invoke-static {v0}, Lcsdk/glucentralservices/devicetiers/DeviceUtil;->getScreenSize(Landroid/content/Context;)Landroid/graphics/Point;
move-result-object v0
.line 363
iget v1, v0, Landroid/graphics/Point;->x:I
iget v2, v0, Landroid/graphics/Point;->y:I
invoke-static {v1, v2}, Ljava/lang/Math;->min(II)I
move-result v1
.line 364
iget v2, v0, Landroid/graphics/Point;->x:I
iget v0, v0, Landroid/graphics/Point;->y:I
invoke-static {v2, v0}, Ljava/lang/Math;->max(II)I
move-result v0
.line 365
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
const-string v1, "x"
invoke-virtual {v2, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public isNewInstall()Z
.locals 3
.line 611
new-instance v0, Ljava/io/File;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
invoke-virtual {p0}, Lcsdk/glucentralservices/util/AndroidPlatform;->privateFilePath()Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string v2, "/tags"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 612
invoke-virtual {v0}, Ljava/io/File;->exists()Z
move-result v0
if-nez v0, :cond_0
const/4 v0, 0x1
return v0
:cond_0
const/4 v0, 0x0
return v0
.end method
.method public md5(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)V
.locals 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/NoSuchAlgorithmException;
}
.end annotation
const/16 v0, 0x400
new-array v1, v0, [B
const-string v2, "MD5"
.line 280
invoke-static {v2}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
move-result-object v2
.line 281
:goto_0
invoke-virtual {p1}, Ljava/nio/Buffer;->remaining()I
move-result v3
if-lez v3, :cond_0
.line 282
invoke-virtual {p1}, Ljava/nio/Buffer;->remaining()I
move-result v3
invoke-static {v0, v3}, Ljava/lang/Math;->min(II)I
move-result v3
const/4 v4, 0x0
.line 283
invoke-virtual {p1, v1, v4, v3}, Ljava/nio/ByteBuffer;->get([BII)Ljava/nio/ByteBuffer;
.line 284
invoke-virtual {v2, v1, v4, v3}, Ljava/security/MessageDigest;->update([BII)V
goto :goto_0
.line 287
:cond_0
invoke-virtual {v2}, Ljava/security/MessageDigest;->digest()[B
move-result-object p1
.line 288
invoke-virtual {p2, p1}, Ljava/nio/ByteBuffer;->put([B)Ljava/nio/ByteBuffer;
return-void
.end method
.method public openURL(Ljava/lang/String;)V
.locals 1
.line 590
new-instance v0, Lcsdk/glucentralservices/util/AndroidPlatform$10;
invoke-direct {v0, p0, p1}, Lcsdk/glucentralservices/util/AndroidPlatform$10;-><init>(Lcsdk/glucentralservices/util/AndroidPlatform;Ljava/lang/String;)V
invoke-static {v0}, Lcsdk/glucentralservices/util/Common;->runOnUIThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public presentToast(Ljava/lang/String;)V
.locals 1
.line 601
new-instance v0, Lcsdk/glucentralservices/util/AndroidPlatform$11;
invoke-direct {v0, p0, p1}, Lcsdk/glucentralservices/util/AndroidPlatform$11;-><init>(Lcsdk/glucentralservices/util/AndroidPlatform;Ljava/lang/String;)V
invoke-static {v0}, Lcsdk/glucentralservices/util/Common;->runOnUIThread(Ljava/lang/Runnable;)V
return-void
.end method
.method public privateFilePath()Ljava/lang/String;
.locals 1
iget-object v0, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mContext:Landroid/content/Context;
.line 194
invoke-virtual {v0}, Landroid/content/Context;->getFilesDir()Ljava/io/File;
move-result-object v0
invoke-virtual {v0}, Ljava/io/File;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public readAssetAsString(Ljava/lang/String;)Ljava/lang/String;
.locals 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/IOException;
}
.end annotation
iget-object v0, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mContext:Landroid/content/Context;
.line 619
invoke-virtual {v0}, Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;
move-result-object v0
.line 622
:try_start_0
invoke-virtual {v0, p1}, Landroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream;
move-result-object p1
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
.line 627
new-instance v0, Ljava/io/BufferedReader;
new-instance v1, Ljava/io/InputStreamReader;
invoke-direct {v1, p1}, Ljava/io/InputStreamReader;-><init>(Ljava/io/InputStream;)V
invoke-direct {v0, v1}, Ljava/io/BufferedReader;-><init>(Ljava/io/Reader;)V
.line 630
:try_start_1
new-instance v1, Ljava/lang/StringBuilder;
invoke-virtual {p1}, Ljava/io/InputStream;->available()I
move-result p1
invoke-direct {v1, p1}, Ljava/lang/StringBuilder;-><init>(I)V
const/16 p1, 0x4000
new-array p1, p1, [C
.line 633
:goto_0
invoke-virtual {v0, p1}, Ljava/io/Reader;->read([C)I
move-result v2
if-gez v2, :cond_0
.line 638
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
:try_end_1
.catchall {:try_start_1 .. :try_end_1} :catchall_0
.line 640
invoke-virtual {v0}, Ljava/io/Reader;->close()V
return-object p1
:catchall_0
move-exception p1
goto :goto_1
:cond_0
const/4 v3, 0x0
.line 636
:try_start_2
invoke-virtual {v1, p1, v3, v2}, Ljava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder;
:try_end_2
.catchall {:try_start_2 .. :try_end_2} :catchall_0
goto :goto_0
.line 640
:goto_1
invoke-virtual {v0}, Ljava/io/Reader;->close()V
.line 641
throw p1
:catch_0
const/4 p1, 0x0
return-object p1
.end method
.method public readProperties(Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
.locals 5
iget-object v0, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mContext:Landroid/content/Context;
const/4 v1, 0x0
.line 236
invoke-virtual {v0, p1, v1}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
move-result-object p1
.line 237
new-instance v0, Ljava/util/ArrayList;
array-length v2, p2
mul-int/lit8 v2, v2, 0x2
invoke-direct {v0, v2}, Ljava/util/ArrayList;-><init>(I)V
.line 238
array-length v2, p2
:goto_0
if-ge v1, v2, :cond_1
aget-object v3, p2, v1
const/4 v4, 0x0
.line 239
invoke-interface {p1, v3, v4}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
if-eqz v4, :cond_0
.line 241
invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
.line 242
invoke-interface {v0, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z
:cond_0
add-int/lit8 v1, v1, 0x1
goto :goto_0
.line 246
:cond_1
invoke-interface {v0}, Ljava/util/List;->size()I
move-result p1
new-array p1, p1, [Ljava/lang/String;
.line 247
invoke-interface {v0, p1}, Ljava/util/List;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
move-result-object p1
check-cast p1, [Ljava/lang/String;
return-object p1
.end method
.method public readSharedProperty(Ljava/lang/String;)Ljava/lang/String;
.locals 4
iget-object v0, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mContext:Landroid/content/Context;
const-string v1, "glu-analytics"
const/4 v2, 0x0
.line 264
invoke-virtual {v0, v1, v2}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
move-result-object v0
.line 265
invoke-interface {v0, p1}, Landroid/content/SharedPreferences;->contains(Ljava/lang/String;)Z
move-result v1
const-string v3, ""
if-nez v1, :cond_0
return-object v3
.line 268
:cond_0
:try_start_0
invoke-interface {v0, p1, v2}, Landroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z
move-result p1
if-eqz p1, :cond_1
const-string p1, "true"
:try_end_0
.catch Ljava/lang/ClassCastException; {:try_start_0 .. :try_end_0} :catch_0
return-object p1
:cond_1
const-string p1, "false"
return-object p1
:catch_0
return-object v3
.end method
.method public registerApplicationEvent()V
.locals 3
.line 108
new-instance v0, Lcsdk/glucentralservices/util/ActivityLifecycleCallbacks;
iget-object v1, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mContext:Landroid/content/Context;
new-instance v2, Lcsdk/glucentralservices/util/AndroidPlatform$1;
invoke-direct {v2, p0}, Lcsdk/glucentralservices/util/AndroidPlatform$1;-><init>(Lcsdk/glucentralservices/util/AndroidPlatform;)V
invoke-direct {v0, v1, v2}, Lcsdk/glucentralservices/util/ActivityLifecycleCallbacks;-><init>(Landroid/content/Context;Lcsdk/glucentralservices/util/IAction2;)V
iput-object v0, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mActivityLifeCycleCallbacks:Lcsdk/glucentralservices/util/ActivityLifecycleCallbacks;
return-void
.end method
.method public removePrivateData(Ljava/lang/String;)Z
.locals 4
.line 207
new-instance v0, Ljava/io/File;
invoke-direct {v0, p1}, Ljava/io/File;-><init>(Ljava/lang/String;)V
.line 209
invoke-virtual {v0}, Ljava/io/File;->isDirectory()Z
move-result p1
const/4 v1, 0x0
if-eqz p1, :cond_0
invoke-virtual {v0}, Ljava/io/File;->list()[Ljava/lang/String;
move-result-object p1
array-length p1, p1
if-lez p1, :cond_0
.line 210
invoke-virtual {v0}, Ljava/io/File;->list()[Ljava/lang/String;
move-result-object p1
array-length v0, p1
move v2, v1
:goto_0
if-ge v2, v0, :cond_0
aget-object v3, p1, v2
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_0
return v1
.end method
.method public requestCMPConsentInfo(JLandroid/app/Activity;)V
.locals 1
if-eqz p3, :cond_1
sget-boolean v0, Lcsdk/glucentralservices/util/AndroidPlatform;->mCMPRegionDetected:Z
if-eqz v0, :cond_0
sget-boolean p3, Lcsdk/glucentralservices/util/AndroidPlatform;->mCMPShouldShow:Z
.line 551
invoke-direct {p0, p1, p2, p3}, Lcsdk/glucentralservices/util/AndroidPlatform;->onRequestCMPConsentInfoComplete(JZ)V
goto :goto_0
.line 553
:cond_0
new-instance v0, Lcsdk/glucentralservices/util/AndroidPlatform$9;
invoke-direct {v0, p0, p3, p1, p2}, Lcsdk/glucentralservices/util/AndroidPlatform$9;-><init>(Lcsdk/glucentralservices/util/AndroidPlatform;Landroid/app/Activity;J)V
invoke-static {v0}, Lcsdk/glucentralservices/util/Common;->runOnUIThread(Ljava/lang/Runnable;)V
:goto_0
return-void
.line 548
:cond_1
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "activity can\'t be null"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public scheduleEvent(JJ)V
.locals 1
.line 184
new-instance v0, Lcsdk/glucentralservices/util/AndroidPlatform$5;
invoke-direct {v0, p0, p3, p4}, Lcsdk/glucentralservices/util/AndroidPlatform$5;-><init>(Lcsdk/glucentralservices/util/AndroidPlatform;J)V
iget-object p3, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mTimer:Ljava/util/Timer;
.line 190
invoke-virtual {p3, v0, p1, p2}, Ljava/util/Timer;->schedule(Ljava/util/TimerTask;J)V
return-void
.end method
.method public sendHTTPRequest(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;JJ)V
.locals 11
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/net/MalformedURLException;
}
.end annotation
move-object v0, p3
.line 123
new-instance v3, Ljava/net/URL;
move-object v1, p1
invoke-direct {v3, p1}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
.line 124
new-instance v4, Ljava/util/HashMap;
invoke-direct {v4}, Ljava/util/HashMap;-><init>()V
if-eqz v0, :cond_0
const/4 v1, 0x0
.line 126
:goto_0
array-length v2, v0
if-ge v1, v2, :cond_0
.line 127
aget-object v2, v0, v1
add-int/lit8 v5, v1, 0x1
aget-object v5, v0, v5
invoke-interface {v4, v2, v5}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
add-int/lit8 v1, v1, 0x2
goto :goto_0
.line 129
:cond_0
new-instance v10, Lcsdk/glucentralservices/util/AndroidPlatform$2;
move-object v0, v10
move-object v1, p0
move-object v2, p2
move-object v5, p4
move-wide/from16 v6, p5
move-wide/from16 v8, p7
invoke-direct/range {v0 .. v9}, Lcsdk/glucentralservices/util/AndroidPlatform$2;-><init>(Lcsdk/glucentralservices/util/AndroidPlatform;Ljava/lang/String;Ljava/net/URL;Ljava/util/Map;Ljava/lang/String;JJ)V
move-object v0, p0
invoke-direct {p0, v10}, Lcsdk/glucentralservices/util/AndroidPlatform;->runAsync(Ljava/lang/Runnable;)V
return-void
.end method
.method public setToStringStore(Ljava/lang/String;Ljava/lang/String;)V
.locals 0
.line 649
invoke-static {p1, p2}, Lcsdk/glucentralservices/kvstore/StringStore;->set(Ljava/lang/String;Ljava/lang/String;)V
return-void
.end method
.method public showCMPConsentForm(JLandroid/app/Activity;ZZ)V
.locals 8
if-eqz p3, :cond_0
.line 479
new-instance v7, Lcsdk/glucentralservices/util/AndroidPlatform$8;
move-object v0, v7
move-object v1, p0
move v2, p4
move-object v3, p3
move-wide v4, p1
move v6, p5
invoke-direct/range {v0 .. v6}, Lcsdk/glucentralservices/util/AndroidPlatform$8;-><init>(Lcsdk/glucentralservices/util/AndroidPlatform;ZLandroid/app/Activity;JZ)V
invoke-static {v7}, Lcsdk/glucentralservices/util/Common;->runOnUIThread(Ljava/lang/Runnable;)V
return-void
.line 477
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "activity can\'t be null"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public showConsent(JJLandroid/app/Activity;Ljava/lang/String;)V
.locals 9
if-eqz p5, :cond_0
.line 394
new-instance v8, Lcsdk/glucentralservices/util/AndroidPlatform$6;
move-object v0, v8
move-object v1, p0
move-object v2, p5
move-object v3, p6
move-wide v4, p1
move-wide v6, p3
invoke-direct/range {v0 .. v7}, Lcsdk/glucentralservices/util/AndroidPlatform$6;-><init>(Lcsdk/glucentralservices/util/AndroidPlatform;Landroid/app/Activity;Ljava/lang/String;JJ)V
invoke-static {v8}, Lcsdk/glucentralservices/util/Common;->runOnUIThread(Ljava/lang/Runnable;)V
return-void
.line 393
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "activity can\'t be null"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public showWebView(JLandroid/app/Activity;Ljava/lang/String;Ljava/lang/String;)V
.locals 8
if-eqz p3, :cond_0
.line 427
new-instance v7, Lcsdk/glucentralservices/util/AndroidPlatform$7;
move-object v0, v7
move-object v1, p0
move-object v2, p3
move-object v3, p4
move-object v4, p5
move-wide v5, p1
invoke-direct/range {v0 .. v6}, Lcsdk/glucentralservices/util/AndroidPlatform$7;-><init>(Lcsdk/glucentralservices/util/AndroidPlatform;Landroid/app/Activity;Ljava/lang/String;Ljava/lang/String;J)V
invoke-static {v7}, Lcsdk/glucentralservices/util/Common;->runOnUIThread(Ljava/lang/Runnable;)V
return-void
.line 426
:cond_0
new-instance p1, Ljava/lang/IllegalArgumentException;
const-string p2, "activity can\'t be null"
invoke-direct {p1, p2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p1
.end method
.method public writeProperties(Ljava/lang/String;[Ljava/lang/String;)V
.locals 3
iget-object v0, p0, Lcsdk/glucentralservices/util/AndroidPlatform;->mContext:Landroid/content/Context;
const/4 v1, 0x0
.line 251
invoke-virtual {v0, p1, v1}, Landroid/content/Context;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
move-result-object p1
invoke-interface {p1}, Landroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;
move-result-object p1
.line 253
:goto_0
:try_start_0
array-length v0, p2
if-ge v1, v0, :cond_0
.line 254
aget-object v0, p2, v1
add-int/lit8 v2, v1, 0x1
aget-object v2, p2, v2
invoke-interface {p1, v0, v2}, Landroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
add-int/lit8 v1, v1, 0x2
goto :goto_0
:catchall_0
move-exception p2
goto :goto_1
.line 256
:cond_0
invoke-interface {p1}, Landroid/content/SharedPreferences$Editor;->apply()V
return-void
:goto_1
invoke-interface {p1}, Landroid/content/SharedPreferences$Editor;->apply()V
.line 257
throw p2
.end method