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

555 lines
17 KiB
Smali

.class public Landroidx/webkit/internal/WebMessagePortImpl;
.super Landroidx/webkit/WebMessagePortCompat;
.source "SourceFile"
# instance fields
.field private mBoundaryInterface:Lorg/chromium/support_lib_boundary/WebMessagePortBoundaryInterface;
.field private mFrameworksImpl:Landroid/webkit/WebMessagePort;
# direct methods
.method public constructor <init>(Landroid/webkit/WebMessagePort;)V
.locals 0
.param p1 # Landroid/webkit/WebMessagePort;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 44
invoke-direct {p0}, Landroidx/webkit/WebMessagePortCompat;-><init>()V
iput-object p1, p0, Landroidx/webkit/internal/WebMessagePortImpl;->mFrameworksImpl:Landroid/webkit/WebMessagePort;
return-void
.end method
.method public constructor <init>(Ljava/lang/reflect/InvocationHandler;)V
.locals 1
.param p1 # Ljava/lang/reflect/InvocationHandler;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 48
invoke-direct {p0}, Landroidx/webkit/WebMessagePortCompat;-><init>()V
const-class v0, Lorg/chromium/support_lib_boundary/WebMessagePortBoundaryInterface;
.line 49
invoke-static {v0, p1}, Lorg/chromium/support_lib_boundary/util/BoundaryInterfaceReflectionUtil;->castToSuppLibClass(Ljava/lang/Class;Ljava/lang/reflect/InvocationHandler;)Ljava/lang/Object;
move-result-object p1
check-cast p1, Lorg/chromium/support_lib_boundary/WebMessagePortBoundaryInterface;
iput-object p1, p0, Landroidx/webkit/internal/WebMessagePortImpl;->mBoundaryInterface:Lorg/chromium/support_lib_boundary/WebMessagePortBoundaryInterface;
return-void
.end method
.method public static compatToFrameworkMessage(Landroidx/webkit/WebMessageCompat;)Landroid/webkit/WebMessage;
.locals 0
.param p0 # Landroidx/webkit/WebMessageCompat;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation build Landroidx/annotation/RequiresApi;
value = 0x17
.end annotation
.line 181
invoke-static {p0}, Landroidx/webkit/internal/ApiHelperForM;->createWebMessage(Landroidx/webkit/WebMessageCompat;)Landroid/webkit/WebMessage;
move-result-object p0
return-object p0
.end method
.method public static compatToPorts([Landroidx/webkit/WebMessagePortCompat;)[Landroid/webkit/WebMessagePort;
.locals 4
.param p0 # [Landroidx/webkit/WebMessagePortCompat;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
.annotation build Landroidx/annotation/RequiresApi;
value = 0x17
.end annotation
if-nez p0, :cond_0
const/4 p0, 0x0
return-object p0
.line 168
:cond_0
array-length v0, p0
new-array v1, v0, [Landroid/webkit/WebMessagePort;
const/4 v2, 0x0
:goto_0
if-ge v2, v0, :cond_1
.line 170
aget-object v3, p0, v2
invoke-virtual {v3}, Landroidx/webkit/WebMessagePortCompat;->getFrameworkPort()Landroid/webkit/WebMessagePort;
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 static frameworkMessageToCompat(Landroid/webkit/WebMessage;)Landroidx/webkit/WebMessageCompat;
.locals 0
.param p0 # Landroid/webkit/WebMessage;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation build Landroidx/annotation/RequiresApi;
value = 0x17
.end annotation
.line 191
invoke-static {p0}, Landroidx/webkit/internal/ApiHelperForM;->createWebMessageCompat(Landroid/webkit/WebMessage;)Landroidx/webkit/WebMessageCompat;
move-result-object p0
return-object p0
.end method
.method private getBoundaryInterface()Lorg/chromium/support_lib_boundary/WebMessagePortBoundaryInterface;
.locals 2
iget-object v0, p0, Landroidx/webkit/internal/WebMessagePortImpl;->mBoundaryInterface:Lorg/chromium/support_lib_boundary/WebMessagePortBoundaryInterface;
if-nez v0, :cond_0
.line 66
invoke-static {}, Landroidx/webkit/internal/WebViewGlueCommunicator;->getCompatConverter()Landroidx/webkit/internal/WebkitToCompatConverter;
move-result-object v0
iget-object v1, p0, Landroidx/webkit/internal/WebMessagePortImpl;->mFrameworksImpl:Landroid/webkit/WebMessagePort;
invoke-virtual {v0, v1}, Landroidx/webkit/internal/WebkitToCompatConverter;->convertWebMessagePort(Landroid/webkit/WebMessagePort;)Ljava/lang/reflect/InvocationHandler;
move-result-object v0
const-class v1, Lorg/chromium/support_lib_boundary/WebMessagePortBoundaryInterface;
.line 64
invoke-static {v1, v0}, Lorg/chromium/support_lib_boundary/util/BoundaryInterfaceReflectionUtil;->castToSuppLibClass(Ljava/lang/Class;Ljava/lang/reflect/InvocationHandler;)Ljava/lang/Object;
move-result-object v0
check-cast v0, Lorg/chromium/support_lib_boundary/WebMessagePortBoundaryInterface;
iput-object v0, p0, Landroidx/webkit/internal/WebMessagePortImpl;->mBoundaryInterface:Lorg/chromium/support_lib_boundary/WebMessagePortBoundaryInterface;
:cond_0
iget-object v0, p0, Landroidx/webkit/internal/WebMessagePortImpl;->mBoundaryInterface:Lorg/chromium/support_lib_boundary/WebMessagePortBoundaryInterface;
return-object v0
.end method
.method private getFrameworksImpl()Landroid/webkit/WebMessagePort;
.locals 2
.annotation build Landroidx/annotation/RequiresApi;
value = 0x17
.end annotation
iget-object v0, p0, Landroidx/webkit/internal/WebMessagePortImpl;->mFrameworksImpl:Landroid/webkit/WebMessagePort;
if-nez v0, :cond_0
.line 56
invoke-static {}, Landroidx/webkit/internal/WebViewGlueCommunicator;->getCompatConverter()Landroidx/webkit/internal/WebkitToCompatConverter;
move-result-object v0
iget-object v1, p0, Landroidx/webkit/internal/WebMessagePortImpl;->mBoundaryInterface:Lorg/chromium/support_lib_boundary/WebMessagePortBoundaryInterface;
.line 57
invoke-static {v1}, Ljava/lang/reflect/Proxy;->getInvocationHandler(Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler;
move-result-object v1
.line 56
invoke-virtual {v0, v1}, Landroidx/webkit/internal/WebkitToCompatConverter;->convertWebMessagePort(Ljava/lang/reflect/InvocationHandler;)Landroid/webkit/WebMessagePort;
move-result-object v0
iput-object v0, p0, Landroidx/webkit/internal/WebMessagePortImpl;->mFrameworksImpl:Landroid/webkit/WebMessagePort;
:cond_0
iget-object v0, p0, Landroidx/webkit/internal/WebMessagePortImpl;->mFrameworksImpl:Landroid/webkit/WebMessagePort;
return-object v0
.end method
.method public static portsToCompat([Landroid/webkit/WebMessagePort;)[Landroidx/webkit/WebMessagePortCompat;
.locals 4
.param p0 # [Landroid/webkit/WebMessagePort;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.annotation build Landroidx/annotation/Nullable;
.end annotation
if-nez p0, :cond_0
const/4 p0, 0x0
return-object p0
.line 153
:cond_0
array-length v0, p0
new-array v0, v0, [Landroidx/webkit/WebMessagePortCompat;
const/4 v1, 0x0
.line 154
:goto_0
array-length v2, p0
if-ge v1, v2, :cond_1
.line 155
new-instance v2, Landroidx/webkit/internal/WebMessagePortImpl;
aget-object v3, p0, v1
invoke-direct {v2, v3}, Landroidx/webkit/internal/WebMessagePortImpl;-><init>(Landroid/webkit/WebMessagePort;)V
aput-object v2, v0, v1
add-int/lit8 v1, v1, 0x1
goto :goto_0
:cond_1
return-object v0
.end method
# virtual methods
.method public close()V
.locals 2
.line 90
sget-object v0, Landroidx/webkit/internal/WebViewFeatureInternal;->WEB_MESSAGE_PORT_CLOSE:Landroidx/webkit/internal/ApiFeature$M;
.line 91
invoke-virtual {v0}, Landroidx/webkit/internal/ApiFeature$M;->isSupportedByFramework()Z
move-result v1
if-eqz v1, :cond_0
.line 92
invoke-direct {p0}, Landroidx/webkit/internal/WebMessagePortImpl;->getFrameworksImpl()Landroid/webkit/WebMessagePort;
move-result-object v0
invoke-static {v0}, Landroidx/webkit/internal/ApiHelperForM;->close(Landroid/webkit/WebMessagePort;)V
goto :goto_0
.line 93
:cond_0
invoke-virtual {v0}, Landroidx/webkit/internal/ApiFeature;->isSupportedByWebView()Z
move-result v0
if-eqz v0, :cond_1
.line 94
invoke-direct {p0}, Landroidx/webkit/internal/WebMessagePortImpl;->getBoundaryInterface()Lorg/chromium/support_lib_boundary/WebMessagePortBoundaryInterface;
move-result-object v0
invoke-interface {v0}, Lorg/chromium/support_lib_boundary/WebMessagePortBoundaryInterface;->close()V
:goto_0
return-void
.line 96
:cond_1
invoke-static {}, Landroidx/webkit/internal/WebViewFeatureInternal;->getUnsupportedOperationException()Ljava/lang/UnsupportedOperationException;
move-result-object v0
throw v0
.end method
.method public getFrameworkPort()Landroid/webkit/WebMessagePort;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
.annotation build Landroidx/annotation/RequiresApi;
value = 0x17
.end annotation
.line 137
invoke-direct {p0}, Landroidx/webkit/internal/WebMessagePortImpl;->getFrameworksImpl()Landroid/webkit/WebMessagePort;
move-result-object v0
return-object v0
.end method
.method public getInvocationHandler()Ljava/lang/reflect/InvocationHandler;
.locals 1
.annotation build Landroidx/annotation/NonNull;
.end annotation
.line 143
invoke-direct {p0}, Landroidx/webkit/internal/WebMessagePortImpl;->getBoundaryInterface()Lorg/chromium/support_lib_boundary/WebMessagePortBoundaryInterface;
move-result-object v0
invoke-static {v0}, Ljava/lang/reflect/Proxy;->getInvocationHandler(Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler;
move-result-object v0
return-object v0
.end method
.method public postMessage(Landroidx/webkit/WebMessageCompat;)V
.locals 2
.param p1 # Landroidx/webkit/WebMessageCompat;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 74
sget-object v0, Landroidx/webkit/internal/WebViewFeatureInternal;->WEB_MESSAGE_PORT_POST_MESSAGE:Landroidx/webkit/internal/ApiFeature$M;
.line 76
invoke-virtual {v0}, Landroidx/webkit/internal/ApiFeature$M;->isSupportedByFramework()Z
move-result v1
if-eqz v1, :cond_0
invoke-virtual {p1}, Landroidx/webkit/WebMessageCompat;->getType()I
move-result v1
if-nez v1, :cond_0
.line 77
invoke-direct {p0}, Landroidx/webkit/internal/WebMessagePortImpl;->getFrameworksImpl()Landroid/webkit/WebMessagePort;
move-result-object v0
invoke-static {p1}, Landroidx/webkit/internal/WebMessagePortImpl;->compatToFrameworkMessage(Landroidx/webkit/WebMessageCompat;)Landroid/webkit/WebMessage;
move-result-object p1
invoke-static {v0, p1}, Landroidx/webkit/internal/ApiHelperForM;->postMessage(Landroid/webkit/WebMessagePort;Landroid/webkit/WebMessage;)V
goto :goto_0
.line 78
:cond_0
invoke-virtual {v0}, Landroidx/webkit/internal/ApiFeature;->isSupportedByWebView()Z
move-result v0
if-eqz v0, :cond_1
.line 79
invoke-virtual {p1}, Landroidx/webkit/WebMessageCompat;->getType()I
move-result v0
invoke-static {v0}, Landroidx/webkit/internal/WebMessageAdapter;->isMessagePayloadTypeSupportedByWebView(I)Z
move-result v0
if-eqz v0, :cond_1
.line 80
invoke-direct {p0}, Landroidx/webkit/internal/WebMessagePortImpl;->getBoundaryInterface()Lorg/chromium/support_lib_boundary/WebMessagePortBoundaryInterface;
move-result-object v0
new-instance v1, Landroidx/webkit/internal/WebMessageAdapter;
invoke-direct {v1, p1}, Landroidx/webkit/internal/WebMessageAdapter;-><init>(Landroidx/webkit/WebMessageCompat;)V
.line 81
invoke-static {v1}, Lorg/chromium/support_lib_boundary/util/BoundaryInterfaceReflectionUtil;->createInvocationHandlerFor(Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler;
move-result-object p1
.line 80
invoke-interface {v0, p1}, Lorg/chromium/support_lib_boundary/WebMessagePortBoundaryInterface;->postMessage(Ljava/lang/reflect/InvocationHandler;)V
:goto_0
return-void
.line 84
:cond_1
invoke-static {}, Landroidx/webkit/internal/WebViewFeatureInternal;->getUnsupportedOperationException()Ljava/lang/UnsupportedOperationException;
move-result-object p1
throw p1
.end method
.method public setWebMessageCallback(Landroid/os/Handler;Landroidx/webkit/WebMessagePortCompat$WebMessageCallbackCompat;)V
.locals 2
.param p1 # Landroid/os/Handler;
.annotation build Landroidx/annotation/Nullable;
.end annotation
.end param
.param p2 # Landroidx/webkit/WebMessagePortCompat$WebMessageCallbackCompat;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 119
sget-object v0, Landroidx/webkit/internal/WebViewFeatureInternal;->CREATE_WEB_MESSAGE_CHANNEL:Landroidx/webkit/internal/ApiFeature$M;
.line 120
invoke-virtual {v0}, Landroidx/webkit/internal/ApiFeature;->isSupportedByWebView()Z
move-result v1
if-eqz v1, :cond_0
.line 123
invoke-direct {p0}, Landroidx/webkit/internal/WebMessagePortImpl;->getBoundaryInterface()Lorg/chromium/support_lib_boundary/WebMessagePortBoundaryInterface;
move-result-object v0
new-instance v1, Landroidx/webkit/internal/WebMessageCallbackAdapter;
invoke-direct {v1, p2}, Landroidx/webkit/internal/WebMessageCallbackAdapter;-><init>(Landroidx/webkit/WebMessagePortCompat$WebMessageCallbackCompat;)V
.line 124
invoke-static {v1}, Lorg/chromium/support_lib_boundary/util/BoundaryInterfaceReflectionUtil;->createInvocationHandlerFor(Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler;
move-result-object p2
.line 123
invoke-interface {v0, p2, p1}, Lorg/chromium/support_lib_boundary/WebMessagePortBoundaryInterface;->setWebMessageCallback(Ljava/lang/reflect/InvocationHandler;Landroid/os/Handler;)V
goto :goto_0
.line 126
:cond_0
invoke-virtual {v0}, Landroidx/webkit/internal/ApiFeature$M;->isSupportedByFramework()Z
move-result v0
if-eqz v0, :cond_1
.line 127
invoke-direct {p0}, Landroidx/webkit/internal/WebMessagePortImpl;->getFrameworksImpl()Landroid/webkit/WebMessagePort;
move-result-object v0
invoke-static {v0, p2, p1}, Landroidx/webkit/internal/ApiHelperForM;->setWebMessageCallback(Landroid/webkit/WebMessagePort;Landroidx/webkit/WebMessagePortCompat$WebMessageCallbackCompat;Landroid/os/Handler;)V
:goto_0
return-void
.line 129
:cond_1
invoke-static {}, Landroidx/webkit/internal/WebViewFeatureInternal;->getUnsupportedOperationException()Ljava/lang/UnsupportedOperationException;
move-result-object p1
throw p1
.end method
.method public setWebMessageCallback(Landroidx/webkit/WebMessagePortCompat$WebMessageCallbackCompat;)V
.locals 2
.param p1 # Landroidx/webkit/WebMessagePortCompat$WebMessageCallbackCompat;
.annotation build Landroidx/annotation/NonNull;
.end annotation
.end param
.line 102
sget-object v0, Landroidx/webkit/internal/WebViewFeatureInternal;->WEB_MESSAGE_PORT_SET_MESSAGE_CALLBACK:Landroidx/webkit/internal/ApiFeature$M;
.line 103
invoke-virtual {v0}, Landroidx/webkit/internal/ApiFeature;->isSupportedByWebView()Z
move-result v1
if-eqz v1, :cond_0
.line 106
invoke-direct {p0}, Landroidx/webkit/internal/WebMessagePortImpl;->getBoundaryInterface()Lorg/chromium/support_lib_boundary/WebMessagePortBoundaryInterface;
move-result-object v0
new-instance v1, Landroidx/webkit/internal/WebMessageCallbackAdapter;
invoke-direct {v1, p1}, Landroidx/webkit/internal/WebMessageCallbackAdapter;-><init>(Landroidx/webkit/WebMessagePortCompat$WebMessageCallbackCompat;)V
.line 107
invoke-static {v1}, Lorg/chromium/support_lib_boundary/util/BoundaryInterfaceReflectionUtil;->createInvocationHandlerFor(Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler;
move-result-object p1
.line 106
invoke-interface {v0, p1}, Lorg/chromium/support_lib_boundary/WebMessagePortBoundaryInterface;->setWebMessageCallback(Ljava/lang/reflect/InvocationHandler;)V
goto :goto_0
.line 109
:cond_0
invoke-virtual {v0}, Landroidx/webkit/internal/ApiFeature$M;->isSupportedByFramework()Z
move-result v0
if-eqz v0, :cond_1
.line 110
invoke-direct {p0}, Landroidx/webkit/internal/WebMessagePortImpl;->getFrameworksImpl()Landroid/webkit/WebMessagePort;
move-result-object v0
invoke-static {v0, p1}, Landroidx/webkit/internal/ApiHelperForM;->setWebMessageCallback(Landroid/webkit/WebMessagePort;Landroidx/webkit/WebMessagePortCompat$WebMessageCallbackCompat;)V
:goto_0
return-void
.line 112
:cond_1
invoke-static {}, Landroidx/webkit/internal/WebViewFeatureInternal;->getUnsupportedOperationException()Ljava/lang/UnsupportedOperationException;
move-result-object p1
throw p1
.end method