Rabbit-R1/android (non root)/smali/smali_classes3/io/flutter/embedding/engine/FlutterJNI.smali
2024-05-21 17:08:36 -04:00

2501 lines
69 KiB
Smali

.class public Lio/flutter/embedding/engine/FlutterJNI;
.super Ljava/lang/Object;
.source "FlutterJNI.java"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Lio/flutter/embedding/engine/FlutterJNI$AsyncWaitForVsyncDelegate;,
Lio/flutter/embedding/engine/FlutterJNI$AccessibilityDelegate;,
Lio/flutter/embedding/engine/FlutterJNI$Factory;
}
.end annotation
# static fields
.field private static final TAG:Ljava/lang/String; = "FlutterJNI"
.field private static asyncWaitForVsyncDelegate:Lio/flutter/embedding/engine/FlutterJNI$AsyncWaitForVsyncDelegate; = null
.field private static displayDensity:F = -1.0f
.field private static displayHeight:F = -1.0f
.field private static displayWidth:F = -1.0f
.field private static initCalled:Z = false
.field private static loadLibraryCalled:Z = false
.field private static prefetchDefaultFontManagerCalled:Z = false
.field private static refreshRateFPS:F = 60.0f
.field private static vmServiceUri:Ljava/lang/String;
# instance fields
.field private accessibilityDelegate:Lio/flutter/embedding/engine/FlutterJNI$AccessibilityDelegate;
.field private deferredComponentManager:Lio/flutter/embedding/engine/deferredcomponents/DeferredComponentManager;
.field private final engineLifecycleListeners:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Lio/flutter/embedding/engine/FlutterEngine$EngineLifecycleListener;",
">;"
}
.end annotation
.end field
.field private final flutterUiDisplayListeners:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Lio/flutter/embedding/engine/renderer/FlutterUiDisplayListener;",
">;"
}
.end annotation
.end field
.field private localizationPlugin:Lio/flutter/plugin/localization/LocalizationPlugin;
.field private final mainLooper:Landroid/os/Looper;
.field private nativeShellHolderId:Ljava/lang/Long;
.field private platformMessageHandler:Lio/flutter/embedding/engine/dart/PlatformMessageHandler;
.field private platformViewsController:Lio/flutter/plugin/platform/PlatformViewsController;
.field private shellHolderLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
# direct methods
.method static constructor <clinit>()V
.locals 0
return-void
.end method
.method public constructor <init>()V
.locals 1
.line 114
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 111
new-instance v0, Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invoke-direct {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;-><init>()V
iput-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->shellHolderLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
.line 392
new-instance v0, Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-direct {v0}, Ljava/util/concurrent/CopyOnWriteArraySet;-><init>()V
iput-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->engineLifecycleListeners:Ljava/util/Set;
.line 395
new-instance v0, Ljava/util/concurrent/CopyOnWriteArraySet;
invoke-direct {v0}, Ljava/util/concurrent/CopyOnWriteArraySet;-><init>()V
iput-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->flutterUiDisplayListeners:Ljava/util/Set;
.line 117
invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper;
move-result-object v0
iput-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->mainLooper:Landroid/os/Looper;
return-void
.end method
.method private static asyncWaitForVsync(J)V
.locals 1
sget-object v0, Lio/flutter/embedding/engine/FlutterJNI;->asyncWaitForVsyncDelegate:Lio/flutter/embedding/engine/FlutterJNI$AsyncWaitForVsyncDelegate;
if-eqz v0, :cond_0
.line 323
invoke-interface {v0, p0, p1}, Lio/flutter/embedding/engine/FlutterJNI$AsyncWaitForVsyncDelegate;->asyncWaitForVsync(J)V
return-void
.line 325
:cond_0
new-instance p0, Ljava/lang/IllegalStateException;
const-string p1, "An AsyncWaitForVsyncDelegate must be registered with FlutterJNI before asyncWaitForVsync() is invoked."
invoke-direct {p0, p1}, Ljava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static decodeImage(Ljava/nio/ByteBuffer;J)Landroid/graphics/Bitmap;
.locals 1
.line 557
invoke-static {p0}, Landroid/graphics/ImageDecoder;->createSource(Ljava/nio/ByteBuffer;)Landroid/graphics/ImageDecoder$Source;
move-result-object p0
.line 559
:try_start_0
new-instance v0, Lio/flutter/embedding/engine/FlutterJNI$$ExternalSyntheticLambda0;
invoke-direct {v0, p1, p2}, Lio/flutter/embedding/engine/FlutterJNI$$ExternalSyntheticLambda0;-><init>(J)V
invoke-static {p0, v0}, Landroid/graphics/ImageDecoder;->decodeBitmap(Landroid/graphics/ImageDecoder$Source;Landroid/graphics/ImageDecoder$OnHeaderDecodedListener;)Landroid/graphics/Bitmap;
move-result-object p0
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
return-object p0
:catch_0
move-exception p0
const-string p1, "FlutterJNI"
const-string p2, "Failed to decode image"
.line 574
invoke-static {p1, p2, p0}, Lio/flutter/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
const/4 p0, 0x0
return-object p0
.end method
.method private ensureAttachedToNative()V
.locals 1
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
if-eqz p0, :cond_0
return-void
.line 514
:cond_0
new-instance p0, Ljava/lang/RuntimeException;
const-string v0, "Cannot execute operation because FlutterJNI is not attached to native."
invoke-direct {p0, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method private ensureNotAttachedToNative()V
.locals 1
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
if-nez p0, :cond_0
return-void
.line 507
:cond_0
new-instance p0, Ljava/lang/RuntimeException;
const-string v0, "Cannot execute operation because FlutterJNI is attached to native."
invoke-direct {p0, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method private ensureRunningOnMainThread()V
.locals 2
.line 1494
invoke-static {}, Landroid/os/Looper;->myLooper()Landroid/os/Looper;
move-result-object v0
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->mainLooper:Landroid/os/Looper;
if-ne v0, p0, :cond_0
return-void
.line 1495
:cond_0
new-instance p0, Ljava/lang/RuntimeException;
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "Methods marked with @UiThread must be executed on the main thread. Current thread: "
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 1497
invoke-static {}, Ljava/lang/Thread;->currentThread()Ljava/lang/Thread;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/Thread;->getName()Ljava/lang/String;
move-result-object v1
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {p0, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public static getObservatoryUri()Ljava/lang/String;
.locals 1
.annotation runtime Ljava/lang/Deprecated;
.end annotation
sget-object v0, Lio/flutter/embedding/engine/FlutterJNI;->vmServiceUri:Ljava/lang/String;
return-object v0
.end method
.method public static getVMServiceUri()Ljava/lang/String;
.locals 1
sget-object v0, Lio/flutter/embedding/engine/FlutterJNI;->vmServiceUri:Ljava/lang/String;
return-object v0
.end method
.method private handlePlatformMessageResponse(ILjava/nio/ByteBuffer;)V
.locals 0
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->platformMessageHandler:Lio/flutter/embedding/engine/dart/PlatformMessageHandler;
if-eqz p0, :cond_0
.line 1071
invoke-interface {p0, p1, p2}, Lio/flutter/embedding/engine/dart/PlatformMessageHandler;->handlePlatformMessageResponse(ILjava/nio/ByteBuffer;)V
:cond_0
return-void
.end method
.method static synthetic lambda$decodeImage$0(JLandroid/graphics/ImageDecoder;Landroid/graphics/ImageDecoder$ImageInfo;Landroid/graphics/ImageDecoder$Source;)V
.locals 0
.line 563
sget-object p4, Landroid/graphics/ColorSpace$Named;->SRGB:Landroid/graphics/ColorSpace$Named;
invoke-static {p4}, Landroid/graphics/ColorSpace;->get(Landroid/graphics/ColorSpace$Named;)Landroid/graphics/ColorSpace;
move-result-object p4
invoke-virtual {p2, p4}, Landroid/graphics/ImageDecoder;->setTargetColorSpace(Landroid/graphics/ColorSpace;)V
const/4 p4, 0x1
.line 568
invoke-virtual {p2, p4}, Landroid/graphics/ImageDecoder;->setAllocator(I)V
.line 570
invoke-virtual {p3}, Landroid/graphics/ImageDecoder$ImageInfo;->getSize()Landroid/util/Size;
move-result-object p2
.line 571
invoke-virtual {p2}, Landroid/util/Size;->getWidth()I
move-result p3
invoke-virtual {p2}, Landroid/util/Size;->getHeight()I
move-result p2
invoke-static {p0, p1, p3, p2}, Lio/flutter/embedding/engine/FlutterJNI;->nativeImageHeaderCallback(JII)V
return-void
.end method
.method private native nativeAttach(Lio/flutter/embedding/engine/FlutterJNI;)J
.end method
.method private native nativeCleanupMessageData(J)V
.end method
.method private native nativeDeferredComponentInstallFailure(ILjava/lang/String;Z)V
.end method
.method private native nativeDestroy(J)V
.end method
.method private native nativeDispatchEmptyPlatformMessage(JLjava/lang/String;I)V
.end method
.method private native nativeDispatchPlatformMessage(JLjava/lang/String;Ljava/nio/ByteBuffer;II)V
.end method
.method private native nativeDispatchPointerDataPacket(JLjava/nio/ByteBuffer;I)V
.end method
.method private native nativeDispatchSemanticsAction(JIILjava/nio/ByteBuffer;I)V
.end method
.method private native nativeFlutterTextUtilsIsEmoji(I)Z
.end method
.method private native nativeFlutterTextUtilsIsEmojiModifier(I)Z
.end method
.method private native nativeFlutterTextUtilsIsEmojiModifierBase(I)Z
.end method
.method private native nativeFlutterTextUtilsIsRegionalIndicator(I)Z
.end method
.method private native nativeFlutterTextUtilsIsVariationSelector(I)Z
.end method
.method private native nativeGetBitmap(J)Landroid/graphics/Bitmap;
.end method
.method private native nativeGetIsSoftwareRenderingEnabled()Z
.end method
.method public static native nativeImageHeaderCallback(JII)V
.end method
.method private static native nativeInit(Landroid/content/Context;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
.end method
.method private native nativeInvokePlatformMessageEmptyResponseCallback(JI)V
.end method
.method private native nativeInvokePlatformMessageResponseCallback(JILjava/nio/ByteBuffer;I)V
.end method
.method private native nativeLoadDartDeferredLibrary(JI[Ljava/lang/String;)V
.end method
.method public static native nativeLookupCallbackInformation(J)Lio/flutter/view/FlutterCallbackInformation;
.annotation runtime Ljava/lang/Deprecated;
.end annotation
.end method
.method private native nativeMarkTextureFrameAvailable(JJ)V
.end method
.method private native nativeNotifyLowMemoryWarning(J)V
.end method
.method private native nativeOnVsync(JJJ)V
.end method
.method private static native nativePrefetchDefaultFontManager()V
.end method
.method private native nativeRegisterImageTexture(JJLjava/lang/ref/WeakReference;)V
.annotation system Ldalvik/annotation/Signature;
value = {
"(JJ",
"Ljava/lang/ref/WeakReference<",
"Lio/flutter/view/TextureRegistry$ImageConsumer;",
">;)V"
}
.end annotation
.end method
.method private native nativeRegisterTexture(JJLjava/lang/ref/WeakReference;)V
.annotation system Ldalvik/annotation/Signature;
value = {
"(JJ",
"Ljava/lang/ref/WeakReference<",
"Lio/flutter/embedding/engine/renderer/SurfaceTextureWrapper;",
">;)V"
}
.end annotation
.end method
.method private native nativeRunBundleAndSnapshotFromLibrary(JLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/content/res/AssetManager;Ljava/util/List;)V
.annotation system Ldalvik/annotation/Signature;
value = {
"(J",
"Ljava/lang/String;",
"Ljava/lang/String;",
"Ljava/lang/String;",
"Landroid/content/res/AssetManager;",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)V"
}
.end annotation
.end method
.method private native nativeSetAccessibilityFeatures(JI)V
.end method
.method private native nativeSetIsRenderingToImageView(JZ)V
.end method
.method private native nativeSetSemanticsEnabled(JZ)V
.end method
.method private native nativeSetViewportMetrics(JFIIIIIIIIIIIIIII[I[I[I)V
.end method
.method private native nativeSpawn(JLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Lio/flutter/embedding/engine/FlutterJNI;
.annotation system Ldalvik/annotation/Signature;
value = {
"(J",
"Ljava/lang/String;",
"Ljava/lang/String;",
"Ljava/lang/String;",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)",
"Lio/flutter/embedding/engine/FlutterJNI;"
}
.end annotation
.end method
.method private native nativeSurfaceChanged(JII)V
.end method
.method private native nativeSurfaceCreated(JLandroid/view/Surface;)V
.end method
.method private native nativeSurfaceDestroyed(J)V
.end method
.method private native nativeSurfaceWindowChanged(JLandroid/view/Surface;)V
.end method
.method private native nativeUnregisterTexture(JJ)V
.end method
.method private native nativeUpdateDisplayMetrics(J)V
.end method
.method private native nativeUpdateJavaAssetManager(JLandroid/content/res/AssetManager;Ljava/lang/String;)V
.end method
.method private native nativeUpdateRefreshRate(F)V
.end method
.method private onPreEngineRestart()V
.locals 1
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->engineLifecycleListeners:Ljava/util/Set;
.line 1200
invoke-interface {p0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p0
:goto_0
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_0
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lio/flutter/embedding/engine/FlutterEngine$EngineLifecycleListener;
.line 1201
invoke-interface {v0}, Lio/flutter/embedding/engine/FlutterEngine$EngineLifecycleListener;->onPreEngineRestart()V
goto :goto_0
:cond_0
return-void
.end method
.method private updateCustomAccessibilityActions(Ljava/nio/ByteBuffer;[Ljava/lang/String;)V
.locals 0
.line 824
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->accessibilityDelegate:Lio/flutter/embedding/engine/FlutterJNI$AccessibilityDelegate;
if-eqz p0, :cond_0
.line 826
invoke-interface {p0, p1, p2}, Lio/flutter/embedding/engine/FlutterJNI$AccessibilityDelegate;->updateCustomAccessibilityActions(Ljava/nio/ByteBuffer;[Ljava/lang/String;)V
:cond_0
return-void
.end method
.method private updateSemantics(Ljava/nio/ByteBuffer;[Ljava/lang/String;[Ljava/nio/ByteBuffer;)V
.locals 0
.line 803
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->accessibilityDelegate:Lio/flutter/embedding/engine/FlutterJNI$AccessibilityDelegate;
if-eqz p0, :cond_0
.line 805
invoke-interface {p0, p1, p2, p3}, Lio/flutter/embedding/engine/FlutterJNI$AccessibilityDelegate;->updateSemantics(Ljava/nio/ByteBuffer;[Ljava/lang/String;[Ljava/nio/ByteBuffer;)V
:cond_0
return-void
.end method
# virtual methods
.method public SetIsRenderingToImageView(Z)V
.locals 2
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 747
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-direct {p0, v0, v1, p1}, Lio/flutter/embedding/engine/FlutterJNI;->nativeSetIsRenderingToImageView(JZ)V
return-void
.end method
.method public addEngineLifecycleListener(Lio/flutter/embedding/engine/FlutterEngine$EngineLifecycleListener;)V
.locals 0
.line 1182
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->engineLifecycleListeners:Ljava/util/Set;
.line 1183
invoke-interface {p0, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public addIsDisplayingFlutterUiListener(Lio/flutter/embedding/engine/renderer/FlutterUiDisplayListener;)V
.locals 0
.line 528
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->flutterUiDisplayListeners:Ljava/util/Set;
.line 529
invoke-interface {p0, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
return-void
.end method
.method public attachToNative()V
.locals 2
.line 418
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 419
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureNotAttachedToNative()V
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->shellHolderLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
.line 420
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
move-result-object v0
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->lock()V
.line 422
:try_start_0
invoke-virtual {p0, p0}, Lio/flutter/embedding/engine/FlutterJNI;->performNativeAttach(Lio/flutter/embedding/engine/FlutterJNI;)J
move-result-wide v0
invoke-static {v0, v1}, Ljava/lang/Long;->valueOf(J)Ljava/lang/Long;
move-result-object v0
iput-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->shellHolderLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
.line 424
invoke-virtual {p0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
move-result-object p0
invoke-virtual {p0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->unlock()V
return-void
:catchall_0
move-exception v0
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->shellHolderLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invoke-virtual {p0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
move-result-object p0
invoke-virtual {p0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->unlock()V
.line 425
throw v0
.end method
.method public cleanupMessageData(J)V
.locals 0
.line 1045
invoke-direct {p0, p1, p2}, Lio/flutter/embedding/engine/FlutterJNI;->nativeCleanupMessageData(J)V
return-void
.end method
.method public computePlatformResolvedLocale([Ljava/lang/String;)[Ljava/lang/String;
.locals 8
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->localizationPlugin:Lio/flutter/plugin/localization/LocalizationPlugin;
const/4 v1, 0x0
if-nez v0, :cond_0
new-array p0, v1, [Ljava/lang/String;
return-object p0
.line 1277
:cond_0
new-instance v0, Ljava/util/ArrayList;
invoke-direct {v0}, Ljava/util/ArrayList;-><init>()V
move v2, v1
.line 1279
:goto_0
array-length v3, p1
if-ge v2, v3, :cond_4
.line 1280
aget-object v3, p1, v2
add-int/lit8 v4, v2, 0x1
.line 1281
aget-object v4, p1, v4
add-int/lit8 v5, v2, 0x2
.line 1282
aget-object v5, p1, v5
.line 1285
new-instance v6, Ljava/util/Locale$Builder;
invoke-direct {v6}, Ljava/util/Locale$Builder;-><init>()V
.line 1286
invoke-virtual {v3}, Ljava/lang/String;->isEmpty()Z
move-result v7
if-nez v7, :cond_1
.line 1287
invoke-virtual {v6, v3}, Ljava/util/Locale$Builder;->setLanguage(Ljava/lang/String;)Ljava/util/Locale$Builder;
.line 1289
:cond_1
invoke-virtual {v4}, Ljava/lang/String;->isEmpty()Z
move-result v3
if-nez v3, :cond_2
.line 1290
invoke-virtual {v6, v4}, Ljava/util/Locale$Builder;->setRegion(Ljava/lang/String;)Ljava/util/Locale$Builder;
.line 1292
:cond_2
invoke-virtual {v5}, Ljava/lang/String;->isEmpty()Z
move-result v3
if-nez v3, :cond_3
.line 1293
invoke-virtual {v6, v5}, Ljava/util/Locale$Builder;->setScript(Ljava/lang/String;)Ljava/util/Locale$Builder;
.line 1295
:cond_3
invoke-virtual {v6}, Ljava/util/Locale$Builder;->build()Ljava/util/Locale;
move-result-object v3
invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z
add-int/lit8 v2, v2, 0x3
goto :goto_0
:cond_4
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->localizationPlugin:Lio/flutter/plugin/localization/LocalizationPlugin;
.line 1302
invoke-virtual {p0, v0}, Lio/flutter/plugin/localization/LocalizationPlugin;->resolveNativeLocale(Ljava/util/List;)Ljava/util/Locale;
move-result-object p0
if-nez p0, :cond_5
new-array p0, v1, [Ljava/lang/String;
return-object p0
:cond_5
const/4 p1, 0x3
new-array p1, p1, [Ljava/lang/String;
.line 1308
invoke-virtual {p0}, Ljava/util/Locale;->getLanguage()Ljava/lang/String;
move-result-object v0
aput-object v0, p1, v1
.line 1309
invoke-virtual {p0}, Ljava/util/Locale;->getCountry()Ljava/lang/String;
move-result-object v0
const/4 v1, 0x1
aput-object v0, p1, v1
.line 1311
invoke-virtual {p0}, Ljava/util/Locale;->getScript()Ljava/lang/String;
move-result-object p0
const/4 v0, 0x2
aput-object p0, p1, v0
return-object p1
.end method
.method public createOverlaySurface()Lio/flutter/embedding/engine/FlutterOverlaySurface;
.locals 1
.line 1241
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->platformViewsController:Lio/flutter/plugin/platform/PlatformViewsController;
if-eqz p0, :cond_0
.line 1246
invoke-virtual {p0}, Lio/flutter/plugin/platform/PlatformViewsController;->createOverlaySurface()Lio/flutter/embedding/engine/FlutterOverlaySurface;
move-result-object p0
return-object p0
.line 1243
:cond_0
new-instance p0, Ljava/lang/RuntimeException;
const-string v0, "platformViewsController must be set before attempting to position an overlay surface"
invoke-direct {p0, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public deferredComponentInstallFailure(ILjava/lang/String;Z)V
.locals 0
.line 1437
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 1438
invoke-direct {p0, p1, p2, p3}, Lio/flutter/embedding/engine/FlutterJNI;->nativeDeferredComponentInstallFailure(ILjava/lang/String;Z)V
return-void
.end method
.method public destroyOverlaySurfaces()V
.locals 1
.line 1252
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->platformViewsController:Lio/flutter/plugin/platform/PlatformViewsController;
if-eqz p0, :cond_0
.line 1257
invoke-virtual {p0}, Lio/flutter/plugin/platform/PlatformViewsController;->destroyOverlaySurfaces()V
return-void
.line 1254
:cond_0
new-instance p0, Ljava/lang/RuntimeException;
const-string v0, "platformViewsController must be set before attempting to destroy an overlay surface"
invoke-direct {p0, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public detachFromNativeAndReleaseResources()V
.locals 2
.line 492
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 493
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureAttachedToNative()V
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->shellHolderLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
.line 494
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
move-result-object v0
invoke-virtual {v0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->lock()V
:try_start_0
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 496
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-direct {p0, v0, v1}, Lio/flutter/embedding/engine/FlutterJNI;->nativeDestroy(J)V
const/4 v0, 0x0
iput-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->shellHolderLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
.line 499
invoke-virtual {p0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
move-result-object p0
invoke-virtual {p0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->unlock()V
return-void
:catchall_0
move-exception v0
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->shellHolderLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invoke-virtual {p0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
move-result-object p0
invoke-virtual {p0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->unlock()V
.line 500
throw v0
.end method
.method public dispatchEmptyPlatformMessage(Ljava/lang/String;I)V
.locals 2
.line 1083
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 1084
invoke-virtual {p0}, Lio/flutter/embedding/engine/FlutterJNI;->isAttached()Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 1085
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-direct {p0, v0, v1, p1, p2}, Lio/flutter/embedding/engine/FlutterJNI;->nativeDispatchEmptyPlatformMessage(JLjava/lang/String;I)V
goto :goto_0
.line 1087
:cond_0
new-instance p0, Ljava/lang/StringBuilder;
const-string v0, "Tried to send a platform message to Flutter, but FlutterJNI was detached from native C++. Could not send. Channel: "
invoke-direct {p0, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
const-string p1, ". Response ID: "
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
const-string p1, "FlutterJNI"
invoke-static {p1, p0}, Lio/flutter/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
:goto_0
return-void
.end method
.method public dispatchPlatformMessage(Ljava/lang/String;Ljava/nio/ByteBuffer;II)V
.locals 8
.line 1104
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 1105
invoke-virtual {p0}, Lio/flutter/embedding/engine/FlutterJNI;->isAttached()Z
move-result v0
if-eqz v0, :cond_0
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 1106
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v2
move-object v1, p0
move-object v4, p1
move-object v5, p2
move v6, p3
move v7, p4
invoke-direct/range {v1 .. v7}, Lio/flutter/embedding/engine/FlutterJNI;->nativeDispatchPlatformMessage(JLjava/lang/String;Ljava/nio/ByteBuffer;II)V
goto :goto_0
.line 1108
:cond_0
new-instance p0, Ljava/lang/StringBuilder;
const-string p2, "Tried to send a platform message to Flutter, but FlutterJNI was detached from native C++. Could not send. Channel: "
invoke-direct {p0, p2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
const-string p1, ". Response ID: "
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0, p4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
const-string p1, "FlutterJNI"
invoke-static {p1, p0}, Lio/flutter/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
:goto_0
return-void
.end method
.method public dispatchPointerDataPacket(Ljava/nio/ByteBuffer;I)V
.locals 2
.line 758
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 759
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureAttachedToNative()V
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 760
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-direct {p0, v0, v1, p1, p2}, Lio/flutter/embedding/engine/FlutterJNI;->nativeDispatchPointerDataPacket(JLjava/nio/ByteBuffer;I)V
return-void
.end method
.method public dispatchSemanticsAction(IILjava/nio/ByteBuffer;I)V
.locals 8
.line 862
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 863
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureAttachedToNative()V
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 864
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v2
move-object v1, p0
move v4, p1
move v5, p2
move-object v6, p3
move v7, p4
invoke-direct/range {v1 .. v7}, Lio/flutter/embedding/engine/FlutterJNI;->nativeDispatchSemanticsAction(JIILjava/nio/ByteBuffer;I)V
return-void
.end method
.method public dispatchSemanticsAction(ILio/flutter/view/AccessibilityBridge$Action;)V
.locals 1
const/4 v0, 0x0
.line 834
invoke-virtual {p0, p1, p2, v0}, Lio/flutter/embedding/engine/FlutterJNI;->dispatchSemanticsAction(ILio/flutter/view/AccessibilityBridge$Action;Ljava/lang/Object;)V
return-void
.end method
.method public dispatchSemanticsAction(ILio/flutter/view/AccessibilityBridge$Action;Ljava/lang/Object;)V
.locals 1
.line 840
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureAttachedToNative()V
if-eqz p3, :cond_0
.line 845
sget-object v0, Lio/flutter/plugin/common/StandardMessageCodec;->INSTANCE:Lio/flutter/plugin/common/StandardMessageCodec;
invoke-virtual {v0, p3}, Lio/flutter/plugin/common/StandardMessageCodec;->encodeMessage(Ljava/lang/Object;)Ljava/nio/ByteBuffer;
move-result-object p3
.line 846
invoke-virtual {p3}, Ljava/nio/ByteBuffer;->position()I
move-result v0
goto :goto_0
:cond_0
const/4 p3, 0x0
const/4 v0, 0x0
.line 848
:goto_0
iget p2, p2, Lio/flutter/view/AccessibilityBridge$Action;->value:I
invoke-virtual {p0, p1, p2, p3, v0}, Lio/flutter/embedding/engine/FlutterJNI;->dispatchSemanticsAction(IILjava/nio/ByteBuffer;I)V
return-void
.end method
.method public getBitmap()Landroid/graphics/Bitmap;
.locals 2
.line 1469
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 1470
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureAttachedToNative()V
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 1471
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-direct {p0, v0, v1}, Lio/flutter/embedding/engine/FlutterJNI;->nativeGetBitmap(J)Landroid/graphics/Bitmap;
move-result-object p0
return-object p0
.end method
.method public getIsSoftwareRenderingEnabled()Z
.locals 0
.line 238
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->nativeGetIsSoftwareRenderingEnabled()Z
move-result p0
return p0
.end method
.method public getScaledFontSize(FI)F
.locals 0
.line 1321
invoke-static {p2}, Lio/flutter/embedding/engine/systemchannels/SettingsChannel;->getPastDisplayMetrics(I)Landroid/util/DisplayMetrics;
move-result-object p0
if-nez p0, :cond_0
.line 1323
new-instance p0, Ljava/lang/StringBuilder;
const-string p1, "getScaledFontSize called with configurationId "
invoke-direct {p0, p1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
.line 1326
invoke-static {p2}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;
move-result-object p1
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
const-string p1, ", which can\'t be found."
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object p0
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p0
const-string p1, "FlutterJNI"
.line 1323
invoke-static {p1, p0}, Lio/flutter/Log;->e(Ljava/lang/String;Ljava/lang/String;)V
const/high16 p0, -0x40800000 # -1.0f
return p0
:cond_0
const/4 p2, 0x2
.line 1330
invoke-static {p2, p1, p0}, Landroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F
move-result p1
iget p0, p0, Landroid/util/DisplayMetrics;->density:F
div-float/2addr p1, p0
return p1
.end method
.method public handlePlatformMessage(Ljava/lang/String;Ljava/nio/ByteBuffer;IJ)V
.locals 6
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->platformMessageHandler:Lio/flutter/embedding/engine/dart/PlatformMessageHandler;
if-eqz v0, :cond_0
move-object v1, p1
move-object v2, p2
move v3, p3
move-wide v4, p4
.line 1058
invoke-interface/range {v0 .. v5}, Lio/flutter/embedding/engine/dart/PlatformMessageHandler;->handleMessageFromDart(Ljava/lang/String;Ljava/nio/ByteBuffer;IJ)V
goto :goto_0
.line 1060
:cond_0
invoke-direct {p0, p4, p5}, Lio/flutter/embedding/engine/FlutterJNI;->nativeCleanupMessageData(J)V
:goto_0
return-void
.end method
.method public init(Landroid/content/Context;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
.locals 1
sget-boolean p0, Lio/flutter/embedding/engine/FlutterJNI;->initCalled:Z
if-eqz p0, :cond_0
const-string p0, "FlutterJNI"
const-string v0, "FlutterJNI.init called more than once"
.line 200
invoke-static {p0, v0}, Lio/flutter/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 203
:cond_0
invoke-static/range {p1 .. p7}, Lio/flutter/embedding/engine/FlutterJNI;->nativeInit(Landroid/content/Context;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
const/4 p0, 0x1
sput-boolean p0, Lio/flutter/embedding/engine/FlutterJNI;->initCalled:Z
return-void
.end method
.method public invokePlatformMessageEmptyResponseCallback(I)V
.locals 3
const-string v0, "Tried to send a platform message response, but FlutterJNI was detached from native C++. Could not send. Response ID: "
iget-object v1, p0, Lio/flutter/embedding/engine/FlutterJNI;->shellHolderLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
.line 1128
invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->readLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
move-result-object v1
invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;->lock()V
.line 1130
:try_start_0
invoke-virtual {p0}, Lio/flutter/embedding/engine/FlutterJNI;->isAttached()Z
move-result v1
if-eqz v1, :cond_0
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 1131
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-direct {p0, v0, v1, p1}, Lio/flutter/embedding/engine/FlutterJNI;->nativeInvokePlatformMessageEmptyResponseCallback(JI)V
goto :goto_0
:cond_0
const-string v1, "FlutterJNI"
.line 1133
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {v2, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {v1, p1}, Lio/flutter/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
:goto_0
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->shellHolderLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
.line 1139
invoke-virtual {p0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->readLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
move-result-object p0
invoke-virtual {p0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;->unlock()V
return-void
:catchall_0
move-exception p1
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->shellHolderLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invoke-virtual {p0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->readLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
move-result-object p0
invoke-virtual {p0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;->unlock()V
.line 1140
throw p1
.end method
.method public invokePlatformMessageResponseCallback(ILjava/nio/ByteBuffer;I)V
.locals 7
const-string v0, "Tried to send a platform message response, but FlutterJNI was detached from native C++. Could not send. Response ID: "
.line 1151
invoke-virtual {p2}, Ljava/nio/ByteBuffer;->isDirect()Z
move-result v1
if-eqz v1, :cond_1
iget-object v1, p0, Lio/flutter/embedding/engine/FlutterJNI;->shellHolderLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
.line 1154
invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->readLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
move-result-object v1
invoke-virtual {v1}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;->lock()V
.line 1156
:try_start_0
invoke-virtual {p0}, Lio/flutter/embedding/engine/FlutterJNI;->isAttached()Z
move-result v1
if-eqz v1, :cond_0
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 1158
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v2
move-object v1, p0
move v4, p1
move-object v5, p2
move v6, p3
.line 1157
invoke-direct/range {v1 .. v6}, Lio/flutter/embedding/engine/FlutterJNI;->nativeInvokePlatformMessageResponseCallback(JILjava/nio/ByteBuffer;I)V
goto :goto_0
:cond_0
const-string p2, "FlutterJNI"
.line 1160
new-instance p3, Ljava/lang/StringBuilder;
invoke-direct {p3, v0}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object p1
invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object p1
invoke-static {p2, p1}, Lio/flutter/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
:goto_0
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->shellHolderLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
.line 1166
invoke-virtual {p0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->readLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
move-result-object p0
invoke-virtual {p0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;->unlock()V
return-void
:catchall_0
move-exception p1
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->shellHolderLock:Ljava/util/concurrent/locks/ReentrantReadWriteLock;
invoke-virtual {p0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock;->readLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;
move-result-object p0
invoke-virtual {p0}, Ljava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;->unlock()V
.line 1167
throw p1
.line 1152
:cond_1
new-instance p0, Ljava/lang/IllegalArgumentException;
const-string p1, "Expected a direct ByteBuffer."
invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public isAttached()Z
.locals 0
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
if-eqz p0, :cond_0
const/4 p0, 0x1
goto :goto_0
:cond_0
const/4 p0, 0x0
:goto_0
return p0
.end method
.method public isCodePointEmoji(I)Z
.locals 0
.line 352
invoke-direct {p0, p1}, Lio/flutter/embedding/engine/FlutterJNI;->nativeFlutterTextUtilsIsEmoji(I)Z
move-result p0
return p0
.end method
.method public isCodePointEmojiModifier(I)Z
.locals 0
.line 358
invoke-direct {p0, p1}, Lio/flutter/embedding/engine/FlutterJNI;->nativeFlutterTextUtilsIsEmojiModifier(I)Z
move-result p0
return p0
.end method
.method public isCodePointEmojiModifierBase(I)Z
.locals 0
.line 364
invoke-direct {p0, p1}, Lio/flutter/embedding/engine/FlutterJNI;->nativeFlutterTextUtilsIsEmojiModifierBase(I)Z
move-result p0
return p0
.end method
.method public isCodePointRegionalIndicator(I)Z
.locals 0
.line 376
invoke-direct {p0, p1}, Lio/flutter/embedding/engine/FlutterJNI;->nativeFlutterTextUtilsIsRegionalIndicator(I)Z
move-result p0
return p0
.end method
.method public isCodePointVariantSelector(I)Z
.locals 0
.line 370
invoke-direct {p0, p1}, Lio/flutter/embedding/engine/FlutterJNI;->nativeFlutterTextUtilsIsVariationSelector(I)Z
move-result p0
return p0
.end method
.method public loadDartDeferredLibrary(I[Ljava/lang/String;)V
.locals 2
.line 1388
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 1389
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureAttachedToNative()V
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 1390
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-direct {p0, v0, v1, p1, p2}, Lio/flutter/embedding/engine/FlutterJNI;->nativeLoadDartDeferredLibrary(JI[Ljava/lang/String;)V
return-void
.end method
.method public loadLibrary()V
.locals 1
sget-boolean p0, Lio/flutter/embedding/engine/FlutterJNI;->loadLibraryCalled:Z
if-eqz p0, :cond_0
const-string p0, "FlutterJNI"
const-string v0, "FlutterJNI.loadLibrary called more than once"
.line 142
invoke-static {p0, v0}, Lio/flutter/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
:cond_0
const-string p0, "flutter"
.line 145
invoke-static {p0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
const/4 p0, 0x1
sput-boolean p0, Lio/flutter/embedding/engine/FlutterJNI;->loadLibraryCalled:Z
return-void
.end method
.method public markTextureFrameAvailable(J)V
.locals 2
.line 947
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 948
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureAttachedToNative()V
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 949
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-direct {p0, v0, v1, p1, p2}, Lio/flutter/embedding/engine/FlutterJNI;->nativeMarkTextureFrameAvailable(JJ)V
return-void
.end method
.method public notifyLowMemoryWarning()V
.locals 2
.line 1486
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 1487
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureAttachedToNative()V
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 1488
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-direct {p0, v0, v1}, Lio/flutter/embedding/engine/FlutterJNI;->nativeNotifyLowMemoryWarning(J)V
return-void
.end method
.method public onBeginFrame()V
.locals 1
.line 1219
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->platformViewsController:Lio/flutter/plugin/platform/PlatformViewsController;
if-eqz p0, :cond_0
.line 1224
invoke-virtual {p0}, Lio/flutter/plugin/platform/PlatformViewsController;->onBeginFrame()V
return-void
.line 1221
:cond_0
new-instance p0, Ljava/lang/RuntimeException;
const-string v0, "platformViewsController must be set before attempting to begin the frame"
invoke-direct {p0, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public onDisplayOverlaySurface(IIIII)V
.locals 6
.line 1208
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->platformViewsController:Lio/flutter/plugin/platform/PlatformViewsController;
if-eqz v0, :cond_0
move v1, p1
move v2, p2
move v3, p3
move v4, p4
move v5, p5
.line 1213
invoke-virtual/range {v0 .. v5}, Lio/flutter/plugin/platform/PlatformViewsController;->onDisplayOverlaySurface(IIIII)V
return-void
.line 1210
:cond_0
new-instance p0, Ljava/lang/RuntimeException;
const-string p1, "platformViewsController must be set before attempting to position an overlay surface"
invoke-direct {p0, p1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public onDisplayPlatformView(IIIIIIILio/flutter/embedding/engine/mutatorsstack/FlutterMutatorsStack;)V
.locals 9
.line 1457
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
move-object v0, p0
iget-object v0, v0, Lio/flutter/embedding/engine/FlutterJNI;->platformViewsController:Lio/flutter/plugin/platform/PlatformViewsController;
if-eqz v0, :cond_0
move v1, p1
move v2, p2
move v3, p3
move v4, p4
move v5, p5
move v6, p6
move/from16 v7, p7
move-object/from16 v8, p8
.line 1462
invoke-virtual/range {v0 .. v8}, Lio/flutter/plugin/platform/PlatformViewsController;->onDisplayPlatformView(IIIIIIILio/flutter/embedding/engine/mutatorsstack/FlutterMutatorsStack;)V
return-void
.line 1459
:cond_0
new-instance v0, Ljava/lang/RuntimeException;
const-string v1, "platformViewsController must be set before attempting to position a platform view"
invoke-direct {v0, v1}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public onEndFrame()V
.locals 1
.line 1230
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->platformViewsController:Lio/flutter/plugin/platform/PlatformViewsController;
if-eqz p0, :cond_0
.line 1235
invoke-virtual {p0}, Lio/flutter/plugin/platform/PlatformViewsController;->onEndFrame()V
return-void
.line 1232
:cond_0
new-instance p0, Ljava/lang/RuntimeException;
const-string v0, "platformViewsController must be set before attempting to end the frame"
invoke-direct {p0, v0}, Ljava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
throw p0
.end method
.method public onFirstFrame()V
.locals 1
.line 586
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->flutterUiDisplayListeners:Ljava/util/Set;
.line 588
invoke-interface {p0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p0
:goto_0
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_0
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lio/flutter/embedding/engine/renderer/FlutterUiDisplayListener;
.line 589
invoke-interface {v0}, Lio/flutter/embedding/engine/renderer/FlutterUiDisplayListener;->onFlutterUiDisplayed()V
goto :goto_0
:cond_0
return-void
.end method
.method onRenderingStopped()V
.locals 1
.line 597
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->flutterUiDisplayListeners:Ljava/util/Set;
.line 599
invoke-interface {p0}, Ljava/util/Set;->iterator()Ljava/util/Iterator;
move-result-object p0
:goto_0
invoke-interface {p0}, Ljava/util/Iterator;->hasNext()Z
move-result v0
if-eqz v0, :cond_0
invoke-interface {p0}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v0
check-cast v0, Lio/flutter/embedding/engine/renderer/FlutterUiDisplayListener;
.line 600
invoke-interface {v0}, Lio/flutter/embedding/engine/renderer/FlutterUiDisplayListener;->onFlutterUiNoLongerDisplayed()V
goto :goto_0
:cond_0
return-void
.end method
.method public onSurfaceChanged(II)V
.locals 2
.line 646
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 647
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureAttachedToNative()V
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 648
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-direct {p0, v0, v1, p1, p2}, Lio/flutter/embedding/engine/FlutterJNI;->nativeSurfaceChanged(JII)V
return-void
.end method
.method public onSurfaceCreated(Landroid/view/Surface;)V
.locals 2
.line 613
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 614
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureAttachedToNative()V
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 615
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-direct {p0, v0, v1, p1}, Lio/flutter/embedding/engine/FlutterJNI;->nativeSurfaceCreated(JLandroid/view/Surface;)V
return-void
.end method
.method public onSurfaceDestroyed()V
.locals 2
.line 662
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 663
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureAttachedToNative()V
.line 664
invoke-virtual {p0}, Lio/flutter/embedding/engine/FlutterJNI;->onRenderingStopped()V
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 665
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-direct {p0, v0, v1}, Lio/flutter/embedding/engine/FlutterJNI;->nativeSurfaceDestroyed(J)V
return-void
.end method
.method public onSurfaceWindowChanged(Landroid/view/Surface;)V
.locals 2
.line 629
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 630
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureAttachedToNative()V
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 631
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-direct {p0, v0, v1, p1}, Lio/flutter/embedding/engine/FlutterJNI;->nativeSurfaceWindowChanged(JLandroid/view/Surface;)V
return-void
.end method
.method public onVsync(JJJ)V
.locals 0
.line 341
invoke-direct/range {p0 .. p6}, Lio/flutter/embedding/engine/FlutterJNI;->nativeOnVsync(JJJ)V
return-void
.end method
.method public performNativeAttach(Lio/flutter/embedding/engine/FlutterJNI;)J
.locals 0
.line 430
invoke-direct {p0, p1}, Lio/flutter/embedding/engine/FlutterJNI;->nativeAttach(Lio/flutter/embedding/engine/FlutterJNI;)J
move-result-wide p0
return-wide p0
.end method
.method public prefetchDefaultFontManager()V
.locals 1
sget-boolean p0, Lio/flutter/embedding/engine/FlutterJNI;->prefetchDefaultFontManagerCalled:Z
if-eqz p0, :cond_0
const-string p0, "FlutterJNI"
const-string v0, "FlutterJNI.prefetchDefaultFontManager called more than once"
.line 163
invoke-static {p0, v0}, Lio/flutter/Log;->w(Ljava/lang/String;Ljava/lang/String;)V
.line 166
:cond_0
invoke-static {}, Lio/flutter/embedding/engine/FlutterJNI;->nativePrefetchDefaultFontManager()V
const/4 p0, 0x1
sput-boolean p0, Lio/flutter/embedding/engine/FlutterJNI;->prefetchDefaultFontManagerCalled:Z
return-void
.end method
.method public registerImageTexture(JLio/flutter/view/TextureRegistry$ImageConsumer;)V
.locals 7
.line 925
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 926
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureAttachedToNative()V
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 928
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v2
new-instance v6, Ljava/lang/ref/WeakReference;
invoke-direct {v6, p3}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
move-object v1, p0
move-wide v4, p1
.line 927
invoke-direct/range {v1 .. v6}, Lio/flutter/embedding/engine/FlutterJNI;->nativeRegisterImageTexture(JJLjava/lang/ref/WeakReference;)V
return-void
.end method
.method public registerTexture(JLio/flutter/embedding/engine/renderer/SurfaceTextureWrapper;)V
.locals 7
.line 906
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 907
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureAttachedToNative()V
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 909
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v2
new-instance v6, Ljava/lang/ref/WeakReference;
invoke-direct {v6, p3}, Ljava/lang/ref/WeakReference;-><init>(Ljava/lang/Object;)V
move-object v1, p0
move-wide v4, p1
.line 908
invoke-direct/range {v1 .. v6}, Lio/flutter/embedding/engine/FlutterJNI;->nativeRegisterTexture(JJLjava/lang/ref/WeakReference;)V
return-void
.end method
.method public removeEngineLifecycleListener(Lio/flutter/embedding/engine/FlutterEngine$EngineLifecycleListener;)V
.locals 0
.line 1193
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->engineLifecycleListeners:Ljava/util/Set;
.line 1194
invoke-interface {p0, p1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
return-void
.end method
.method public removeIsDisplayingFlutterUiListener(Lio/flutter/embedding/engine/renderer/FlutterUiDisplayListener;)V
.locals 0
.line 538
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->flutterUiDisplayListeners:Ljava/util/Set;
.line 539
invoke-interface {p0, p1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
return-void
.end method
.method public requestDartDeferredLibrary(I)V
.locals 1
iget-object p0, p0, Lio/flutter/embedding/engine/FlutterJNI;->deferredComponentManager:Lio/flutter/embedding/engine/deferredcomponents/DeferredComponentManager;
if-eqz p0, :cond_0
const/4 v0, 0x0
.line 1361
invoke-interface {p0, p1, v0}, Lio/flutter/embedding/engine/deferredcomponents/DeferredComponentManager;->installDeferredComponent(ILjava/lang/String;)V
goto :goto_0
:cond_0
const-string p0, "FlutterJNI"
const-string p1, "No DeferredComponentManager found. Android setup must be completed before using split AOT deferred components."
.line 1364
invoke-static {p0, p1}, Lio/flutter/Log;->e(Ljava/lang/String;Ljava/lang/String;)V
:goto_0
return-void
.end method
.method public runBundleAndSnapshotFromLibrary(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/content/res/AssetManager;Ljava/util/List;)V
.locals 9
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/lang/String;",
"Ljava/lang/String;",
"Landroid/content/res/AssetManager;",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)V"
}
.end annotation
.line 982
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 983
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureAttachedToNative()V
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 985
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v2
move-object v1, p0
move-object v4, p1
move-object v5, p2
move-object v6, p3
move-object v7, p4
move-object v8, p5
.line 984
invoke-direct/range {v1 .. v8}, Lio/flutter/embedding/engine/FlutterJNI;->nativeRunBundleAndSnapshotFromLibrary(JLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/content/res/AssetManager;Ljava/util/List;)V
return-void
.end method
.method public setAccessibilityDelegate(Lio/flutter/embedding/engine/FlutterJNI$AccessibilityDelegate;)V
.locals 0
.line 786
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
iput-object p1, p0, Lio/flutter/embedding/engine/FlutterJNI;->accessibilityDelegate:Lio/flutter/embedding/engine/FlutterJNI$AccessibilityDelegate;
return-void
.end method
.method public setAccessibilityFeatures(I)V
.locals 2
.line 891
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 892
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureAttachedToNative()V
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 893
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-direct {p0, v0, v1, p1}, Lio/flutter/embedding/engine/FlutterJNI;->nativeSetAccessibilityFeatures(JI)V
return-void
.end method
.method public setAsyncWaitForVsyncDelegate(Lio/flutter/embedding/engine/FlutterJNI$AsyncWaitForVsyncDelegate;)V
.locals 0
sput-object p1, Lio/flutter/embedding/engine/FlutterJNI;->asyncWaitForVsyncDelegate:Lio/flutter/embedding/engine/FlutterJNI$AsyncWaitForVsyncDelegate;
return-void
.end method
.method public setDeferredComponentManager(Lio/flutter/embedding/engine/deferredcomponents/DeferredComponentManager;)V
.locals 0
.line 1340
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
iput-object p1, p0, Lio/flutter/embedding/engine/FlutterJNI;->deferredComponentManager:Lio/flutter/embedding/engine/deferredcomponents/DeferredComponentManager;
if-eqz p1, :cond_0
.line 1343
invoke-interface {p1, p0}, Lio/flutter/embedding/engine/deferredcomponents/DeferredComponentManager;->setJNI(Lio/flutter/embedding/engine/FlutterJNI;)V
:cond_0
return-void
.end method
.method public setLocalizationPlugin(Lio/flutter/plugin/localization/LocalizationPlugin;)V
.locals 0
.line 1266
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
iput-object p1, p0, Lio/flutter/embedding/engine/FlutterJNI;->localizationPlugin:Lio/flutter/plugin/localization/LocalizationPlugin;
return-void
.end method
.method public setPlatformMessageHandler(Lio/flutter/embedding/engine/dart/PlatformMessageHandler;)V
.locals 0
.line 1030
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
iput-object p1, p0, Lio/flutter/embedding/engine/FlutterJNI;->platformMessageHandler:Lio/flutter/embedding/engine/dart/PlatformMessageHandler;
return-void
.end method
.method public setPlatformViewsController(Lio/flutter/plugin/platform/PlatformViewsController;)V
.locals 0
.line 769
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
iput-object p1, p0, Lio/flutter/embedding/engine/FlutterJNI;->platformViewsController:Lio/flutter/plugin/platform/PlatformViewsController;
return-void
.end method
.method public setRefreshRateFPS(F)V
.locals 0
sput p1, Lio/flutter/embedding/engine/FlutterJNI;->refreshRateFPS:F
.line 283
invoke-virtual {p0}, Lio/flutter/embedding/engine/FlutterJNI;->updateRefreshRate()V
return-void
.end method
.method public setSemanticsEnabled(Z)V
.locals 2
.line 880
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 881
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureAttachedToNative()V
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 882
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-direct {p0, v0, v1, p1}, Lio/flutter/embedding/engine/FlutterJNI;->nativeSetSemanticsEnabled(JZ)V
return-void
.end method
.method public setViewportMetrics(FIIIIIIIIIIIIIII[I[I[I)V
.locals 22
move-object/from16 v0, p0
move/from16 v3, p1
move/from16 v4, p2
move/from16 v5, p3
move/from16 v6, p4
move/from16 v7, p5
move/from16 v8, p6
move/from16 v9, p7
move/from16 v10, p8
move/from16 v11, p9
move/from16 v12, p10
move/from16 v13, p11
move/from16 v14, p12
move/from16 v15, p13
move/from16 v16, p14
move/from16 v17, p15
move/from16 v18, p16
move-object/from16 v19, p17
move-object/from16 v20, p18
move-object/from16 v21, p19
.line 698
invoke-direct/range {p0 .. p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 699
invoke-direct/range {p0 .. p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureAttachedToNative()V
move-object/from16 v1, p0
iget-object v1, v1, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 701
invoke-virtual {v1}, Ljava/lang/Long;->longValue()J
move-result-wide v1
.line 700
invoke-direct/range {v0 .. v21}, Lio/flutter/embedding/engine/FlutterJNI;->nativeSetViewportMetrics(JFIIIIIIIIIIIIIII[I[I[I)V
return-void
.end method
.method public spawn(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Lio/flutter/embedding/engine/FlutterJNI;
.locals 8
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/String;",
"Ljava/lang/String;",
"Ljava/lang/String;",
"Ljava/util/List<",
"Ljava/lang/String;",
">;)",
"Lio/flutter/embedding/engine/FlutterJNI;"
}
.end annotation
.line 455
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 456
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureAttachedToNative()V
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 459
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v2
move-object v1, p0
move-object v4, p1
move-object v5, p2
move-object v6, p3
move-object v7, p4
.line 458
invoke-direct/range {v1 .. v7}, Lio/flutter/embedding/engine/FlutterJNI;->nativeSpawn(JLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Lio/flutter/embedding/engine/FlutterJNI;
move-result-object p0
.line 464
iget-object p1, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
if-eqz p1, :cond_0
.line 465
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide p1
const-wide/16 p3, 0x0
cmp-long p1, p1, p3
if-eqz p1, :cond_0
const/4 p1, 0x1
goto :goto_0
:cond_0
const/4 p1, 0x0
:goto_0
const-string p2, "Failed to spawn new JNI connected shell from existing shell."
.line 464
invoke-static {p1, p2}, Lio/flutter/util/Preconditions;->checkState(ZLjava/lang/Object;)V
return-object p0
.end method
.method public unregisterTexture(J)V
.locals 2
.line 960
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 961
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureAttachedToNative()V
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 962
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-direct {p0, v0, v1, p1, p2}, Lio/flutter/embedding/engine/FlutterJNI;->nativeUnregisterTexture(JJ)V
return-void
.end method
.method public updateDisplayMetrics(IFFF)V
.locals 0
sput p2, Lio/flutter/embedding/engine/FlutterJNI;->displayWidth:F
sput p3, Lio/flutter/embedding/engine/FlutterJNI;->displayHeight:F
sput p4, Lio/flutter/embedding/engine/FlutterJNI;->displayDensity:F
sget-boolean p1, Lio/flutter/embedding/engine/FlutterJNI;->loadLibraryCalled:Z
if-nez p1, :cond_0
return-void
:cond_0
iget-object p1, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 293
invoke-virtual {p1}, Ljava/lang/Long;->longValue()J
move-result-wide p1
invoke-direct {p0, p1, p2}, Lio/flutter/embedding/engine/FlutterJNI;->nativeUpdateDisplayMetrics(J)V
return-void
.end method
.method public updateJavaAssetManager(Landroid/content/res/AssetManager;Ljava/lang/String;)V
.locals 2
.line 1409
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureRunningOnMainThread()V
.line 1410
invoke-direct {p0}, Lio/flutter/embedding/engine/FlutterJNI;->ensureAttachedToNative()V
iget-object v0, p0, Lio/flutter/embedding/engine/FlutterJNI;->nativeShellHolderId:Ljava/lang/Long;
.line 1411
invoke-virtual {v0}, Ljava/lang/Long;->longValue()J
move-result-wide v0
invoke-direct {p0, v0, v1, p1, p2}, Lio/flutter/embedding/engine/FlutterJNI;->nativeUpdateJavaAssetManager(JLandroid/content/res/AssetManager;Ljava/lang/String;)V
return-void
.end method
.method public updateRefreshRate()V
.locals 1
sget-boolean v0, Lio/flutter/embedding/engine/FlutterJNI;->loadLibraryCalled:Z
if-nez v0, :cond_0
return-void
:cond_0
sget v0, Lio/flutter/embedding/engine/FlutterJNI;->refreshRateFPS:F
.line 302
invoke-direct {p0, v0}, Lio/flutter/embedding/engine/FlutterJNI;->nativeUpdateRefreshRate(F)V
return-void
.end method