Files
rr3-apk/smali_classes4/csdk/glucentralservices/consent/ConsentUI.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

1184 lines
33 KiB
Smali

.class public Lcsdk/glucentralservices/consent/ConsentUI;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Landroid/app/Application$ActivityLifecycleCallbacks;
# instance fields
.field private final mActivity:Landroid/app/Activity;
.field private mConfig:Lorg/json/JSONObject;
.field private mDialog:Landroid/app/Dialog;
.field private mListener:Ljava/util/concurrent/atomic/AtomicReference;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/concurrent/atomic/AtomicReference<",
"Lcsdk/glucentralservices/consent/IConsentListener;",
">;"
}
.end annotation
.end field
.field private final mWebView:Landroid/webkit/WebView;
# direct methods
.method public constructor <init>(Landroid/app/Activity;)V
.locals 2
.line 52
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mActivity:Landroid/app/Activity;
.line 55
invoke-virtual {p1}, Landroid/app/Activity;->getApplication()Landroid/app/Application;
move-result-object v0
invoke-virtual {v0, p0}, Landroid/app/Application;->registerActivityLifecycleCallbacks(Landroid/app/Application$ActivityLifecycleCallbacks;)V
.line 57
new-instance v0, Landroid/app/Dialog;
const v1, 0x1030010
invoke-direct {v0, p1, v1}, Landroid/app/Dialog;-><init>(Landroid/content/Context;I)V
iput-object v0, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mDialog:Landroid/app/Dialog;
.line 58
new-instance v0, Ljava/util/concurrent/atomic/AtomicReference;
sget-object v1, Lcsdk/glucentralservices/consent/NullConsentListener;->INSTANCE:Lcsdk/glucentralservices/consent/IConsentListener;
invoke-direct {v0, v1}, Ljava/util/concurrent/atomic/AtomicReference;-><init>(Ljava/lang/Object;)V
iput-object v0, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mListener:Ljava/util/concurrent/atomic/AtomicReference;
.line 60
new-instance v0, Landroid/webkit/WebView;
invoke-direct {v0, p1}, Landroid/webkit/WebView;-><init>(Landroid/content/Context;)V
iput-object v0, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mWebView:Landroid/webkit/WebView;
const/4 p1, 0x0
.line 61
invoke-virtual {v0, p1}, Landroid/webkit/WebView;->setBackgroundColor(I)V
iget-object v1, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mDialog:Landroid/app/Dialog;
.line 62
invoke-virtual {v1, v0}, Landroid/app/Dialog;->setContentView(Landroid/view/View;)V
iget-object v1, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mDialog:Landroid/app/Dialog;
.line 63
invoke-virtual {v1, p1}, Landroid/app/Dialog;->setCancelable(Z)V
.line 64
invoke-virtual {v0}, Landroid/webkit/WebView;->getSettings()Landroid/webkit/WebSettings;
move-result-object p1
const/4 v1, 0x1
invoke-virtual {p1, v1}, Landroid/webkit/WebSettings;->setJavaScriptEnabled(Z)V
.line 65
new-instance p1, Lcsdk/glucentralservices/consent/ConsentUI$1;
invoke-direct {p1, p0}, Lcsdk/glucentralservices/consent/ConsentUI$1;-><init>(Lcsdk/glucentralservices/consent/ConsentUI;)V
invoke-virtual {v0, p1}, Landroid/webkit/WebView;->setWebViewClient(Landroid/webkit/WebViewClient;)V
return-void
.end method
.method public static synthetic access$000(Lcsdk/glucentralservices/consent/ConsentUI;Landroid/webkit/WebView;)V
.locals 0
.line 44
invoke-direct {p0, p1}, Lcsdk/glucentralservices/consent/ConsentUI;->updateDialogContent(Landroid/webkit/WebView;)V
return-void
.end method
.method public static synthetic access$100(Lcsdk/glucentralservices/consent/ConsentUI;Ljava/lang/String;Ljava/lang/Throwable;)V
.locals 0
.line 44
invoke-direct {p0, p1, p2}, Lcsdk/glucentralservices/consent/ConsentUI;->onConsentStatusEventReceived(Ljava/lang/String;Ljava/lang/Throwable;)V
return-void
.end method
.method public static synthetic access$200(Lcsdk/glucentralservices/consent/ConsentUI;Ljava/lang/String;)V
.locals 0
.line 44
invoke-direct {p0, p1}, Lcsdk/glucentralservices/consent/ConsentUI;->handleLoadComplete(Ljava/lang/String;)V
return-void
.end method
.method public static synthetic access$300(Lcsdk/glucentralservices/consent/ConsentUI;Ljava/lang/String;)V
.locals 0
.line 44
invoke-direct {p0, p1}, Lcsdk/glucentralservices/consent/ConsentUI;->handleDismiss(Ljava/lang/String;)V
return-void
.end method
.method public static synthetic access$400(Lcsdk/glucentralservices/consent/ConsentUI;Ljava/lang/String;)V
.locals 0
.line 44
invoke-direct {p0, p1}, Lcsdk/glucentralservices/consent/ConsentUI;->handleOpenBrowser(Ljava/lang/String;)V
return-void
.end method
.method public static synthetic access$500(Lcsdk/glucentralservices/consent/ConsentUI;Ljava/lang/String;)V
.locals 0
.line 44
invoke-direct {p0, p1}, Lcsdk/glucentralservices/consent/ConsentUI;->handleEvent(Ljava/lang/String;)V
return-void
.end method
.method private static createJavascriptCommandAndDismissOnError(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.locals 3
.line 189
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0}, Lorg/json/JSONObject;-><init>()V
.line 191
:try_start_0
new-instance v1, Lorg/json/JSONObject;
invoke-direct {v1}, Lorg/json/JSONObject;-><init>()V
const-string v2, "info"
.line 192
invoke-virtual {v1, v2, p1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
const-string p1, "args"
.line 193
invoke-virtual {v0, p1, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_0
.catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
.line 198
invoke-virtual {v0}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object p1
filled-new-array {p0, p1}, [Ljava/lang/Object;
move-result-object p0
const-string p1, "%s(%s)"
invoke-static {p1, p0}, Ljava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
move-result-object p0
.line 202
new-instance p1, Ljava/lang/StringBuilder;
const-string v0, "javascript:try{"
invoke-direct {p1, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 203
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, "}catch(e){"
.line 204
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, "window.location.href=\"consent://consent/?action=dismiss&status=Error%3A+\" + encodeURIComponent(e);"
.line 205
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
const-string p0, "}"
.line 206
invoke-virtual {p1, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
.line 207
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
:catch_0
move-exception p0
.line 195
invoke-static {p0}, Lcsdk/glucentralservices/util/Common;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
move-result-object p0
throw p0
.end method
.method private doShowConsent()V
.locals 7
iget-object v0, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mConfig:Lorg/json/JSONObject;
const-string v1, "disableAgeGateHardwareAcceleration"
const/4 v2, 0x0
.line 245
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->optBoolean(Ljava/lang/String;Z)Z
move-result v0
iget-object v1, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mDialog:Landroid/app/Dialog;
.line 247
invoke-virtual {v1}, Landroid/app/Dialog;->getWindow()Landroid/view/Window;
move-result-object v1
const/4 v3, -0x1
invoke-virtual {v1, v3, v3}, Landroid/view/Window;->setLayout(II)V
const/4 v1, 0x0
const/4 v3, 0x1
if-eqz v0, :cond_0
sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
const-string v4, "doShowConsent LAYER_TYPE_SOFTWARE"
.line 250
invoke-virtual {v0, v4}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
iget-object v0, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mDialog:Landroid/app/Dialog;
.line 251
invoke-virtual {v0}, Landroid/app/Dialog;->getWindow()Landroid/view/Window;
move-result-object v0
invoke-virtual {v0}, Landroid/view/Window;->getDecorView()Landroid/view/View;
move-result-object v0
invoke-virtual {v0, v3, v1}, Landroid/view/View;->setLayerType(ILandroid/graphics/Paint;)V
goto :goto_0
:cond_0
sget-object v0, Ljava/lang/System;->out:Ljava/io/PrintStream;
const-string v4, "doShowConsent FLAG_HARDWARE_ACCELERATED"
.line 254
invoke-virtual {v0, v4}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
iget-object v0, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mDialog:Landroid/app/Dialog;
.line 255
invoke-virtual {v0}, Landroid/app/Dialog;->getWindow()Landroid/view/Window;
move-result-object v0
const/high16 v4, 0x1000000
invoke-virtual {v0, v4, v4}, Landroid/view/Window;->setFlags(II)V
:goto_0
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
iget-object v4, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mDialog:Landroid/app/Dialog;
.line 261
invoke-virtual {v4}, Landroid/app/Dialog;->getWindow()Landroid/view/Window;
move-result-object v4
const/16 v5, 0x8
invoke-virtual {v4, v5, v5}, Landroid/view/Window;->setFlags(II)V
iget-object v4, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mDialog:Landroid/app/Dialog;
.line 262
invoke-virtual {v4}, Landroid/app/Dialog;->getWindow()Landroid/view/Window;
move-result-object v4
invoke-virtual {v4}, Landroid/view/Window;->getDecorView()Landroid/view/View;
move-result-object v4
const/16 v6, 0x1306
invoke-virtual {v4, v6}, Landroid/view/View;->setSystemUiVisibility(I)V
const/16 v4, 0x1c
if-lt v0, v4, :cond_1
iget-object v0, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mDialog:Landroid/app/Dialog;
.line 273
invoke-virtual {v0}, Landroid/app/Dialog;->getWindow()Landroid/view/Window;
move-result-object v0
invoke-virtual {v0}, Landroid/view/Window;->getAttributes()Landroid/view/WindowManager$LayoutParams;
move-result-object v0
.line 274
invoke-static {v0, v3}, Lcom/google/android/gms/ads/internal/util/zzx$$ExternalSyntheticApiModelOutline1;->m(Landroid/view/WindowManager$LayoutParams;I)V
iget-object v3, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mDialog:Landroid/app/Dialog;
.line 275
invoke-virtual {v3}, Landroid/app/Dialog;->getWindow()Landroid/view/Window;
move-result-object v3
invoke-virtual {v3, v0}, Landroid/view/Window;->setAttributes(Landroid/view/WindowManager$LayoutParams;)V
:cond_1
iget-object v0, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mDialog:Landroid/app/Dialog;
.line 278
invoke-virtual {v0}, Landroid/app/Dialog;->getWindow()Landroid/view/Window;
move-result-object v0
new-instance v3, Landroid/graphics/drawable/ColorDrawable;
invoke-direct {v3, v2}, Landroid/graphics/drawable/ColorDrawable;-><init>(I)V
invoke-virtual {v0, v3}, Landroid/view/Window;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
iget-object v0, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mDialog:Landroid/app/Dialog;
.line 279
new-instance v2, Lcsdk/glucentralservices/consent/ConsentUI$2;
invoke-direct {v2, p0}, Lcsdk/glucentralservices/consent/ConsentUI$2;-><init>(Lcsdk/glucentralservices/consent/ConsentUI;)V
invoke-virtual {v0, v2}, Landroid/app/Dialog;->setOnShowListener(Landroid/content/DialogInterface$OnShowListener;)V
iget-object v0, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mDialog:Landroid/app/Dialog;
.line 286
invoke-virtual {v0}, Landroid/app/Dialog;->show()V
iget-object v0, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mDialog:Landroid/app/Dialog;
.line 288
invoke-virtual {v0}, Landroid/app/Dialog;->isShowing()Z
move-result v0
if-nez v0, :cond_2
.line 289
new-instance v0, Ljava/lang/Exception;
const-string v2, "Consent form could not be displayed."
invoke-direct {v0, v2}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
.line 290
invoke-direct {p0, v1, v0}, Lcsdk/glucentralservices/consent/ConsentUI;->onConsentStatusEventReceived(Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_2
iget-object v0, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mDialog:Landroid/app/Dialog;
.line 294
invoke-virtual {v0}, Landroid/app/Dialog;->getWindow()Landroid/view/Window;
move-result-object v0
invoke-virtual {v0, v5}, Landroid/view/Window;->clearFlags(I)V
return-void
.end method
.method private static getAppIconURIString(Landroid/content/Context;)Ljava/lang/String;
.locals 5
.line 175
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v0
.line 176
invoke-virtual {p0}, Landroid/content/Context;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
move-result-object p0
.line 175
invoke-virtual {v0, p0}, Landroid/content/pm/PackageManager;->getApplicationIcon(Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
move-result-object p0
.line 177
invoke-virtual {p0}, Landroid/graphics/drawable/Drawable;->getIntrinsicWidth()I
move-result v0
.line 178
invoke-virtual {p0}, Landroid/graphics/drawable/Drawable;->getIntrinsicHeight()I
move-result v1
sget-object v2, Landroid/graphics/Bitmap$Config;->ARGB_8888:Landroid/graphics/Bitmap$Config;
.line 177
invoke-static {v0, v1, v2}, Landroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
move-result-object v0
.line 179
new-instance v1, Landroid/graphics/Canvas;
invoke-direct {v1, v0}, Landroid/graphics/Canvas;-><init>(Landroid/graphics/Bitmap;)V
.line 180
invoke-virtual {v1}, Landroid/graphics/Canvas;->getWidth()I
move-result v2
invoke-virtual {v1}, Landroid/graphics/Canvas;->getHeight()I
move-result v3
const/4 v4, 0x0
invoke-virtual {p0, v4, v4, v2, v3}, Landroid/graphics/drawable/Drawable;->setBounds(IIII)V
.line 181
invoke-virtual {p0, v1}, Landroid/graphics/drawable/Drawable;->draw(Landroid/graphics/Canvas;)V
.line 182
new-instance p0, Ljava/io/ByteArrayOutputStream;
invoke-direct {p0}, Ljava/io/ByteArrayOutputStream;-><init>()V
.line 183
sget-object v1, Landroid/graphics/Bitmap$CompressFormat;->PNG:Landroid/graphics/Bitmap$CompressFormat;
const/16 v2, 0x64
invoke-virtual {v0, v1, v2, p0}, Landroid/graphics/Bitmap;->compress(Landroid/graphics/Bitmap$CompressFormat;ILjava/io/OutputStream;)Z
.line 184
invoke-virtual {p0}, Ljava/io/ByteArrayOutputStream;->toByteArray()[B
move-result-object p0
.line 185
new-instance v0, Ljava/lang/StringBuilder;
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
const-string v1, "data:image/png;base64,"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-static {p0, v4}, Landroid/util/Base64;->encodeToString([BI)Ljava/lang/String;
move-result-object p0
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private static getApplicationName(Landroid/content/Context;)Ljava/lang/String;
.locals 1
.line 171
invoke-virtual {p0}, Landroid/content/Context;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
move-result-object v0
invoke-virtual {p0}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object p0
invoke-virtual {v0, p0}, Landroid/content/pm/PackageItemInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
move-result-object p0
invoke-interface {p0}, Ljava/lang/CharSequence;->toString()Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method private handleDismiss(Ljava/lang/String;)V
.locals 2
iget-object v0, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mDialog:Landroid/app/Dialog;
.line 368
invoke-virtual {v0}, Landroid/app/Dialog;->dismiss()V
.line 370
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_0
.line 371
new-instance p1, Ljava/lang/Exception;
const-string v0, "No information provided."
invoke-direct {p1, v0}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
.line 372
invoke-direct {p0, v1, p1}, Lcsdk/glucentralservices/consent/ConsentUI;->onConsentStatusEventReceived(Ljava/lang/String;Ljava/lang/Throwable;)V
return-void
:cond_0
const-string v0, "Error"
.line 376
invoke-virtual {p1, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_1
.line 377
new-instance v0, Ljava/lang/Exception;
invoke-direct {v0, p1}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
.line 378
invoke-direct {p0, v1, v0}, Lcsdk/glucentralservices/consent/ConsentUI;->onConsentStatusEventReceived(Ljava/lang/String;Ljava/lang/Throwable;)V
return-void
.line 382
:cond_1
invoke-direct {p0, p1, v1}, Lcsdk/glucentralservices/consent/ConsentUI;->onConsentStatusEventReceived(Ljava/lang/String;Ljava/lang/Throwable;)V
return-void
.end method
.method private handleEvent(Ljava/lang/String;)V
.locals 1
iget-object v0, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mListener:Ljava/util/concurrent/atomic/AtomicReference;
.line 386
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcsdk/glucentralservices/consent/IConsentListener;
invoke-interface {v0, p1}, Lcsdk/glucentralservices/consent/IConsentListener;->onConsentEventReceived(Ljava/lang/String;)V
return-void
.end method
.method private handleLoadComplete(Ljava/lang/String;)V
.locals 2
.line 341
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_0
.line 342
new-instance p1, Ljava/lang/Exception;
const-string v0, "No information"
invoke-direct {p1, v0}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
.line 343
invoke-direct {p0, v1, p1}, Lcsdk/glucentralservices/consent/ConsentUI;->onConsentStatusEventReceived(Ljava/lang/String;Ljava/lang/Throwable;)V
goto :goto_0
:cond_0
const-string v0, "Error"
.line 344
invoke-virtual {p1, v0}, Ljava/lang/String;->contains(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_1
.line 345
new-instance v0, Ljava/lang/Exception;
invoke-direct {v0, p1}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
.line 346
invoke-direct {p0, v1, v0}, Lcsdk/glucentralservices/consent/ConsentUI;->onConsentStatusEventReceived(Ljava/lang/String;Ljava/lang/Throwable;)V
:cond_1
:goto_0
return-void
.end method
.method private handleOpenBrowser(Ljava/lang/String;)V
.locals 3
.line 352
invoke-static {p1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
const/4 v1, 0x0
if-eqz v0, :cond_0
.line 353
new-instance p1, Ljava/lang/Exception;
const-string v0, "No valid URL for browser navigation."
invoke-direct {p1, v0}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
.line 354
invoke-direct {p0, v1, p1}, Lcsdk/glucentralservices/consent/ConsentUI;->onConsentStatusEventReceived(Ljava/lang/String;Ljava/lang/Throwable;)V
return-void
.line 359
:cond_0
:try_start_0
new-instance v0, Landroid/content/Intent;
const-string v2, "android.intent.action.VIEW"
invoke-static {p1}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
move-result-object p1
invoke-direct {v0, v2, p1}, Landroid/content/Intent;-><init>(Ljava/lang/String;Landroid/net/Uri;)V
iget-object p1, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mActivity:Landroid/app/Activity;
.line 360
invoke-virtual {p1, v0}, Landroid/app/Activity;->startActivity(Landroid/content/Intent;)V
:try_end_0
.catch Landroid/content/ActivityNotFoundException; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_0
.line 362
:catch_0
new-instance p1, Ljava/lang/Exception;
const-string v0, "No Activity found to handle browser intent."
invoke-direct {p1, v0}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
.line 363
invoke-direct {p0, v1, p1}, Lcsdk/glucentralservices/consent/ConsentUI;->onConsentStatusEventReceived(Ljava/lang/String;Ljava/lang/Throwable;)V
:goto_0
return-void
.end method
.method private initConfig(Ljava/lang/String;)V
.locals 1
.line 212
:try_start_0
new-instance v0, Lorg/json/JSONObject;
invoke-direct {v0, p1}, Lorg/json/JSONObject;-><init>(Ljava/lang/String;)V
iput-object v0, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mConfig:Lorg/json/JSONObject;
:try_end_0
.catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
return-void
:catch_0
move-exception p1
.line 214
invoke-static {p1}, Lcsdk/glucentralservices/util/Common;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
move-result-object p1
throw p1
.end method
.method private load()V
.locals 8
iget-object v0, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mConfig:Lorg/json/JSONObject;
const-string v1, "consent_form_url"
const-string v2, "file:///android_asset/consentform.html"
.line 219
invoke-virtual {v0, v1, v2}, Lorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
:try_start_0
const-string v1, "file:///android_asset"
.line 223
invoke-virtual {v0, v1}, Ljava/lang/String;->startsWith(Ljava/lang/String;)Z
move-result v1
if-eqz v1, :cond_0
iget-object v0, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mActivity:Landroid/app/Activity;
.line 224
invoke-virtual {v0}, Landroid/content/Context;->getAssets()Landroid/content/res/AssetManager;
move-result-object v0
const-string v1, "consentform.html"
invoke-virtual {v0, v1}, Landroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream;
move-result-object v0
goto :goto_0
:catch_0
move-exception v0
goto :goto_2
.line 226
:cond_0
new-instance v1, Ljava/net/URL;
invoke-direct {v1, v0}, Ljava/net/URL;-><init>(Ljava/lang/String;)V
.line 227
invoke-static {v1}, Lcom/google/firebase/perf/network/FirebasePerfUrlConnection;->openStream(Ljava/net/URL;)Ljava/io/InputStream;
move-result-object v0
.line 230
:goto_0
new-instance v1, Ljava/io/ByteArrayOutputStream;
invoke-direct {v1}, Ljava/io/ByteArrayOutputStream;-><init>()V
const/16 v2, 0x400
new-array v2, v2, [B
.line 233
:goto_1
invoke-virtual {v0, v2}, Ljava/io/InputStream;->read([B)I
move-result v3
const/4 v4, -0x1
if-eq v3, v4, :cond_1
const/4 v4, 0x0
.line 234
invoke-virtual {v1, v2, v4, v3}, Ljava/io/ByteArrayOutputStream;->write([BII)V
goto :goto_1
:cond_1
const-string v0, "UTF-8"
.line 236
invoke-virtual {v1, v0}, Ljava/io/ByteArrayOutputStream;->toString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
.line 237
invoke-virtual {v1}, Ljava/io/ByteArrayOutputStream;->close()V
iget-object v2, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mWebView:Landroid/webkit/WebView;
const-string v3, ""
const-string v5, "text/html"
const-string v6, "UTF-8"
const/4 v7, 0x0
.line 238
invoke-virtual/range {v2 .. v7}, Landroid/webkit/WebView;->loadDataWithBaseURL(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
:try_end_0
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
goto :goto_3
:goto_2
const/4 v1, 0x0
.line 240
invoke-direct {p0, v1, v0}, Lcsdk/glucentralservices/consent/ConsentUI;->onConsentStatusEventReceived(Ljava/lang/String;Ljava/lang/Throwable;)V
:goto_3
return-void
.end method
.method private onConsentStatusEventReceived(Ljava/lang/String;Ljava/lang/Throwable;)V
.locals 1
iget-object v0, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mListener:Ljava/util/concurrent/atomic/AtomicReference;
.line 299
invoke-virtual {v0}, Ljava/util/concurrent/atomic/AtomicReference;->get()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lcsdk/glucentralservices/consent/IConsentListener;
invoke-interface {v0, p1, p2}, Lcsdk/glucentralservices/consent/IConsentListener;->onConsentStatusReceived(Ljava/lang/String;Ljava/lang/Throwable;)V
iget-object p1, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mListener:Ljava/util/concurrent/atomic/AtomicReference;
.line 301
sget-object p2, Lcsdk/glucentralservices/consent/NullConsentListener;->INSTANCE:Lcsdk/glucentralservices/consent/IConsentListener;
invoke-virtual {p1, p2}, Ljava/util/concurrent/atomic/AtomicReference;->set(Ljava/lang/Object;)V
return-void
.end method
.method private updateDialogContent(Landroid/webkit/WebView;)V
.locals 7
const-string v0, "app_icon"
const-string v1, "app_name"
.line 305
new-instance v2, Lorg/json/JSONObject;
invoke-direct {v2}, Lorg/json/JSONObject;-><init>()V
:try_start_0
iget-object v3, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mConfig:Lorg/json/JSONObject;
if-eqz v3, :cond_0
.line 310
invoke-virtual {v3}, Lorg/json/JSONObject;->keys()Ljava/util/Iterator;
move-result-object v4
.line 311
:goto_0
invoke-interface {v4}, Ljava/util/Iterator;->hasNext()Z
move-result v5
if-eqz v5, :cond_0
.line 312
invoke-interface {v4}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v5
check-cast v5, Ljava/lang/String;
.line 313
invoke-virtual {v3, v5}, Lorg/json/JSONObject;->get(Ljava/lang/String;)Ljava/lang/Object;
move-result-object v6
invoke-virtual {v2, v5, v6}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
goto :goto_0
:catch_0
move-exception p1
goto :goto_1
.line 317
:cond_0
invoke-virtual {v2, v1}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v3
.line 318
invoke-virtual {v2, v0}, Lorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v4
.line 320
invoke-static {v3}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v3
if-eqz v3, :cond_1
iget-object v3, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mActivity:Landroid/app/Activity;
.line 321
invoke-static {v3}, Lcsdk/glucentralservices/consent/ConsentUI;->getApplicationName(Landroid/content/Context;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v2, v1, v3}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
.line 324
:cond_1
invoke-static {v4}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1, :cond_2
iget-object v1, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mActivity:Landroid/app/Activity;
.line 325
invoke-static {v1}, Lcsdk/glucentralservices/consent/ConsentUI;->getAppIconURIString(Landroid/content/Context;)Ljava/lang/String;
move-result-object v1
invoke-virtual {v2, v0, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:cond_2
const-string v0, "plat"
const-string v1, "android"
.line 328
invoke-virtual {v2, v0, v1}, Lorg/json/JSONObject;->put(Ljava/lang/String;Ljava/lang/Object;)Lorg/json/JSONObject;
:try_end_0
.catch Lorg/json/JSONException; {:try_start_0 .. :try_end_0} :catch_0
.line 333
invoke-virtual {v2}, Lorg/json/JSONObject;->toString()Ljava/lang/String;
move-result-object v0
const-string v1, "setUpConsentDialog"
.line 334
invoke-static {v1, v0}, Lcsdk/glucentralservices/consent/ConsentUI;->createJavascriptCommandAndDismissOnError(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
.line 335
invoke-virtual {p1, v0}, Landroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
return-void
.line 330
:goto_1
invoke-static {p1}, Lcsdk/glucentralservices/util/Common;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
move-result-object p1
throw p1
.end method
# virtual methods
.method public onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V
.locals 0
.param p1 # Landroid/app/Activity;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/os/Bundle;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
return-void
.end method
.method public onActivityDestroyed(Landroid/app/Activity;)V
.locals 1
.param p1 # Landroid/app/Activity;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mActivity:Landroid/app/Activity;
if-ne p1, v0, :cond_0
iget-object p1, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mDialog:Landroid/app/Dialog;
if-eqz p1, :cond_0
.line 432
invoke-virtual {p1}, Landroid/app/Dialog;->isShowing()Z
move-result p1
if-eqz p1, :cond_0
iget-object p1, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mDialog:Landroid/app/Dialog;
.line 433
invoke-virtual {p1}, Landroid/app/Dialog;->dismiss()V
const/4 p1, 0x0
iput-object p1, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mDialog:Landroid/app/Dialog;
:cond_0
return-void
.end method
.method public onActivityPaused(Landroid/app/Activity;)V
.locals 0
.param p1 # Landroid/app/Activity;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
return-void
.end method
.method public onActivityResumed(Landroid/app/Activity;)V
.locals 1
.param p1 # Landroid/app/Activity;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
iget-object v0, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mActivity:Landroid/app/Activity;
if-ne p1, v0, :cond_0
iget-object p1, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mDialog:Landroid/app/Dialog;
if-eqz p1, :cond_0
.line 403
invoke-virtual {p1}, Landroid/app/Dialog;->getWindow()Landroid/view/Window;
move-result-object p1
invoke-virtual {p1}, Landroid/view/Window;->getDecorView()Landroid/view/View;
move-result-object p1
const/16 v0, 0x1306
invoke-virtual {p1, v0}, Landroid/view/View;->setSystemUiVisibility(I)V
:cond_0
return-void
.end method
.method public onActivitySaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
.locals 0
.param p1 # Landroid/app/Activity;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.param p2 # Landroid/os/Bundle;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
return-void
.end method
.method public onActivityStarted(Landroid/app/Activity;)V
.locals 0
.param p1 # Landroid/app/Activity;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
return-void
.end method
.method public onActivityStopped(Landroid/app/Activity;)V
.locals 0
.param p1 # Landroid/app/Activity;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
return-void
.end method
.method public showConsent(Ljava/lang/String;Lcsdk/glucentralservices/consent/IConsentListener;)V
.locals 1
iget-object v0, p0, Lcsdk/glucentralservices/consent/ConsentUI;->mListener:Ljava/util/concurrent/atomic/AtomicReference;
if-eqz p2, :cond_0
goto :goto_0
.line 163
:cond_0
sget-object p2, Lcsdk/glucentralservices/consent/NullConsentListener;->INSTANCE:Lcsdk/glucentralservices/consent/IConsentListener;
:goto_0
invoke-virtual {v0, p2}, Ljava/util/concurrent/atomic/AtomicReference;->set(Ljava/lang/Object;)V
.line 165
invoke-direct {p0, p1}, Lcsdk/glucentralservices/consent/ConsentUI;->initConfig(Ljava/lang/String;)V
.line 166
invoke-direct {p0}, Lcsdk/glucentralservices/consent/ConsentUI;->doShowConsent()V
.line 167
invoke-direct {p0}, Lcsdk/glucentralservices/consent/ConsentUI;->load()V
return-void
.end method