Files
rr3-apk/smali/androidx/webkit/internal/WebMessageAdapter.smali
supermegamestre 4bbd74a497 First Upload
Just the APK
Force update disabled, will only work offline.
2026-01-26 00:26:29 -03:00

369 lines
9.8 KiB
Smali

.class public Landroidx/webkit/internal/WebMessageAdapter;
.super Ljava/lang/Object;
.source "SourceFile"
# interfaces
.implements Lorg/chromium/support_lib_boundary/WebMessageBoundaryInterface;
# static fields
.field private static final sFeatures:[Ljava/lang/String;
# instance fields
.field private mWebMessageCompat:Landroidx/webkit/WebMessageCompat;
# direct methods
.method static constructor <clinit>()V
.locals 1
const-string v0, "WEB_MESSAGE_ARRAY_BUFFER"
filled-new-array {v0}, [Ljava/lang/String;
move-result-object v0
sput-object v0, Landroidx/webkit/internal/WebMessageAdapter;->sFeatures:[Ljava/lang/String;
return-void
.end method
.method public constructor <init>(Landroidx/webkit/WebMessageCompat;)V
.locals 0
.param p1 # Landroidx/webkit/WebMessageCompat;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 44
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/webkit/internal/WebMessageAdapter;->mWebMessageCompat:Landroidx/webkit/WebMessageCompat;
return-void
.end method
.method public static isMessagePayloadTypeSupportedByWebView(I)Z
.locals 1
const/4 v0, 0x1
if-eqz p0, :cond_1
if-ne p0, v0, :cond_0
.line 103
sget-object p0, Landroidx/webkit/internal/WebViewFeatureInternal;->WEB_MESSAGE_ARRAY_BUFFER:Landroidx/webkit/internal/ApiFeature$NoFramework;
.line 105
invoke-virtual {p0}, Landroidx/webkit/internal/ApiFeature;->isSupportedByWebView()Z
move-result p0
if-eqz p0, :cond_0
goto :goto_0
:cond_0
const/4 v0, 0x0
:cond_1
:goto_0
return v0
.end method
.method private static toWebMessagePortCompats([Ljava/lang/reflect/InvocationHandler;)[Landroidx/webkit/WebMessagePortCompat;
.locals 4
.annotation build Landroidx/annotation/NonNull;
.end annotation
.line 144
array-length v0, p0
new-array v0, v0, [Landroidx/webkit/WebMessagePortCompat;
const/4 v1, 0x0
.line 145
:goto_0
array-length v2, p0
if-ge v1, v2, :cond_0
.line 146
new-instance v2, Landroidx/webkit/internal/WebMessagePortImpl;
aget-object v3, p0, v1
invoke-direct {v2, v3}, Landroidx/webkit/internal/WebMessagePortImpl;-><init>(Ljava/lang/reflect/InvocationHandler;)V
aput-object v2, v0, v1
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_0
return-object v0
.end method
.method public static webMessageCompatFromBoundaryInterface(Lorg/chromium/support_lib_boundary/WebMessageBoundaryInterface;)Landroidx/webkit/WebMessageCompat;
.locals 3
.param p0 # Lorg/chromium/support_lib_boundary/WebMessageBoundaryInterface;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
.line 122
invoke-interface {p0}, Lorg/chromium/support_lib_boundary/WebMessageBoundaryInterface;->getPorts()[Ljava/lang/reflect/InvocationHandler;
move-result-object v0
.line 121
invoke-static {v0}, Landroidx/webkit/internal/WebMessageAdapter;->toWebMessagePortCompats([Ljava/lang/reflect/InvocationHandler;)[Landroidx/webkit/WebMessagePortCompat;
move-result-object v0
.line 123
sget-object v1, Landroidx/webkit/internal/WebViewFeatureInternal;->WEB_MESSAGE_ARRAY_BUFFER:Landroidx/webkit/internal/ApiFeature$NoFramework;
invoke-virtual {v1}, Landroidx/webkit/internal/ApiFeature;->isSupportedByWebView()Z
move-result v1
if-eqz v1, :cond_2
const-class v1, Lorg/chromium/support_lib_boundary/WebMessagePayloadBoundaryInterface;
.line 127
invoke-interface {p0}, Lorg/chromium/support_lib_boundary/WebMessageBoundaryInterface;->getMessagePayload()Ljava/lang/reflect/InvocationHandler;
move-result-object p0
.line 125
invoke-static {v1, p0}, Lorg/chromium/support_lib_boundary/util/BoundaryInterfaceReflectionUtil;->castToSuppLibClass(Ljava/lang/Class;Ljava/lang/reflect/InvocationHandler;)Ljava/lang/Object;
move-result-object p0
check-cast p0, Lorg/chromium/support_lib_boundary/WebMessagePayloadBoundaryInterface;
.line 128
invoke-interface {p0}, Lorg/chromium/support_lib_boundary/WebMessagePayloadBoundaryInterface;->getType()I
move-result v1
if-eqz v1, :cond_1
const/4 v2, 0x1
if-eq v1, v2, :cond_0
const/4 p0, 0x0
return-object p0
.line 133
:cond_0
new-instance v1, Landroidx/webkit/WebMessageCompat;
invoke-interface {p0}, Lorg/chromium/support_lib_boundary/WebMessagePayloadBoundaryInterface;->getAsArrayBuffer()[B
move-result-object p0
invoke-direct {v1, p0, v0}, Landroidx/webkit/WebMessageCompat;-><init>([B[Landroidx/webkit/WebMessagePortCompat;)V
return-object v1
.line 131
:cond_1
new-instance v1, Landroidx/webkit/WebMessageCompat;
invoke-interface {p0}, Lorg/chromium/support_lib_boundary/WebMessagePayloadBoundaryInterface;->getAsString()Ljava/lang/String;
move-result-object p0
invoke-direct {v1, p0, v0}, Landroidx/webkit/WebMessageCompat;-><init>(Ljava/lang/String;[Landroidx/webkit/WebMessagePortCompat;)V
return-object v1
.line 139
:cond_2
new-instance v1, Landroidx/webkit/WebMessageCompat;
invoke-interface {p0}, Lorg/chromium/support_lib_boundary/WebMessageBoundaryInterface;->getData()Ljava/lang/String;
move-result-object p0
invoke-direct {v1, p0, v0}, Landroidx/webkit/WebMessageCompat;-><init>(Ljava/lang/String;[Landroidx/webkit/WebMessagePortCompat;)V
return-object v1
.end method
# virtual methods
.method public getData()Ljava/lang/String;
.locals 1
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation runtime Ljava/lang/Deprecated;
.end annotation
iget-object v0, p0, Landroidx/webkit/internal/WebMessageAdapter;->mWebMessageCompat:Landroidx/webkit/WebMessageCompat;
.line 56
invoke-virtual {v0}, Landroidx/webkit/WebMessageCompat;->getData()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public getMessagePayload()Ljava/lang/reflect/InvocationHandler;
.locals 3
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-object v0, p0, Landroidx/webkit/internal/WebMessageAdapter;->mWebMessageCompat:Landroidx/webkit/WebMessageCompat;
.line 63
invoke-virtual {v0}, Landroidx/webkit/WebMessageCompat;->getType()I
move-result v0
if-eqz v0, :cond_1
const/4 v1, 0x1
if-ne v0, v1, :cond_0
.line 68
new-instance v0, Landroidx/webkit/internal/WebMessagePayloadAdapter;
iget-object v1, p0, Landroidx/webkit/internal/WebMessageAdapter;->mWebMessageCompat:Landroidx/webkit/WebMessageCompat;
.line 69
invoke-virtual {v1}, Landroidx/webkit/WebMessageCompat;->getArrayBuffer()[B
move-result-object v1
invoke-static {v1}, Ljava/util/Objects;->requireNonNull(Ljava/lang/Object;)Ljava/lang/Object;
check-cast v1, [B
invoke-direct {v0, v1}, Landroidx/webkit/internal/WebMessagePayloadAdapter;-><init>([B)V
goto :goto_0
.line 72
:cond_0
new-instance v0, Ljava/lang/IllegalStateException;
new-instance v1, Ljava/lang/StringBuilder;
invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V
const-string v2, "Unknown web message payload type: "
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
iget-object v2, p0, Landroidx/webkit/internal/WebMessageAdapter;->mWebMessageCompat:Landroidx/webkit/WebMessageCompat;
.line 73
invoke-virtual {v2}, Landroidx/webkit/WebMessageCompat;->getType()I
move-result v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw v0
.line 65
:cond_1
new-instance v0, Landroidx/webkit/internal/WebMessagePayloadAdapter;
iget-object v1, p0, Landroidx/webkit/internal/WebMessageAdapter;->mWebMessageCompat:Landroidx/webkit/WebMessageCompat;
invoke-virtual {v1}, Landroidx/webkit/WebMessageCompat;->getData()Ljava/lang/String;
move-result-object v1
invoke-direct {v0, v1}, Landroidx/webkit/internal/WebMessagePayloadAdapter;-><init>(Ljava/lang/String;)V
.line 75
:goto_0
invoke-static {v0}, Lorg/chromium/support_lib_boundary/util/BoundaryInterfaceReflectionUtil;->createInvocationHandlerFor(Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler;
move-result-object v0
return-object v0
.end method
.method public getPorts()[Ljava/lang/reflect/InvocationHandler;
.locals 4
.annotation build Landroidx/annotation/Nullable;
.end annotation
iget-object v0, p0, Landroidx/webkit/internal/WebMessageAdapter;->mWebMessageCompat:Landroidx/webkit/WebMessageCompat;
.line 81
invoke-virtual {v0}, Landroidx/webkit/WebMessageCompat;->getPorts()[Landroidx/webkit/WebMessagePortCompat;
move-result-object v0
if-nez v0, :cond_0
const/4 v0, 0x0
return-object v0
.line 84
:cond_0
array-length v1, v0
new-array v1, v1, [Ljava/lang/reflect/InvocationHandler;
const/4 v2, 0x0
.line 85
:goto_0
array-length v3, v0
if-ge v2, v3, :cond_1
.line 86
aget-object v3, v0, v2
invoke-virtual {v3}, Landroidx/webkit/WebMessagePortCompat;->getInvocationHandler()Ljava/lang/reflect/InvocationHandler;
move-result-object v3
aput-object v3, v1, v2
add-int/lit8 v2, v2, 0x1
goto :goto_0
:cond_1
return-object v1
.end method
.method public getSupportedFeatures()[Ljava/lang/String;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
sget-object v0, Landroidx/webkit/internal/WebMessageAdapter;->sFeatures:[Ljava/lang/String;
return-object v0
.end method