.class public Lio/flutter/embedding/android/FlutterView; .super Landroid/widget/FrameLayout; .source "FlutterView.java" # interfaces .implements Lio/flutter/plugin/mouse/MouseCursorPlugin$MouseCursorViewDelegate; .implements Lio/flutter/embedding/android/KeyboardManager$ViewDelegate; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Lio/flutter/embedding/android/FlutterView$ZeroSides;, Lio/flutter/embedding/android/FlutterView$FlutterEngineAttachmentListener; } .end annotation # static fields .field private static final TAG:Ljava/lang/String; = "FlutterView" # instance fields .field private accessibilityBridge:Lio/flutter/view/AccessibilityBridge; .field private androidTouchProcessor:Lio/flutter/embedding/android/AndroidTouchProcessor; .field private flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; .field private final flutterEngineAttachmentListeners:Ljava/util/Set; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Set<", "Lio/flutter/embedding/android/FlutterView$FlutterEngineAttachmentListener;", ">;" } .end annotation .end field .field private flutterImageView:Lio/flutter/embedding/android/FlutterImageView; .field private flutterSurfaceView:Lio/flutter/embedding/android/FlutterSurfaceView; .field private flutterTextureView:Lio/flutter/embedding/android/FlutterTextureView; .field private final flutterUiDisplayListener:Lio/flutter/embedding/engine/renderer/FlutterUiDisplayListener; .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 isFlutterUiDisplayed:Z .field private keyboardManager:Lio/flutter/embedding/android/KeyboardManager; .field private localizationPlugin:Lio/flutter/plugin/localization/LocalizationPlugin; .field private mouseCursorPlugin:Lio/flutter/plugin/mouse/MouseCursorPlugin; .field private final onAccessibilityChangeListener:Lio/flutter/view/AccessibilityBridge$OnAccessibilityChangeListener; .field private previousRenderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; .field renderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; .field private spellCheckPlugin:Lio/flutter/plugin/editing/SpellCheckPlugin; .field private final systemSettingsObserver:Landroid/database/ContentObserver; .field private textInputPlugin:Lio/flutter/plugin/editing/TextInputPlugin; .field private textServicesManager:Landroid/view/textservice/TextServicesManager; .field private final viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .field private final windowInfoListener:Landroidx/core/util/Consumer; .annotation system Ldalvik/annotation/Signature; value = { "Landroidx/core/util/Consumer<", "Landroidx/window/layout/WindowLayoutInfo;", ">;" } .end annotation .end field .field private windowInfoRepo:Lio/flutter/embedding/android/WindowInfoRepositoryCallbackAdapterWrapper; # direct methods .method public constructor (Landroid/content/Context;)V .locals 2 .line 216 new-instance v0, Lio/flutter/embedding/android/FlutterSurfaceView; invoke-direct {v0, p1}, Lio/flutter/embedding/android/FlutterSurfaceView;->(Landroid/content/Context;)V const/4 v1, 0x0 invoke-direct {p0, p1, v1, v0}, Lio/flutter/embedding/android/FlutterView;->(Landroid/content/Context;Landroid/util/AttributeSet;Lio/flutter/embedding/android/FlutterSurfaceView;)V return-void .end method .method public constructor (Landroid/content/Context;Landroid/util/AttributeSet;)V .locals 1 .line 306 new-instance v0, Lio/flutter/embedding/android/FlutterSurfaceView; invoke-direct {v0, p1}, Lio/flutter/embedding/android/FlutterSurfaceView;->(Landroid/content/Context;)V invoke-direct {p0, p1, p2, v0}, Lio/flutter/embedding/android/FlutterView;->(Landroid/content/Context;Landroid/util/AttributeSet;Lio/flutter/embedding/android/FlutterSurfaceView;)V return-void .end method .method private constructor (Landroid/content/Context;Landroid/util/AttributeSet;Lio/flutter/embedding/android/FlutterImageView;)V .locals 1 .line 365 invoke-direct {p0, p1, p2}, Landroid/widget/FrameLayout;->(Landroid/content/Context;Landroid/util/AttributeSet;)V .line 115 new-instance p1, Ljava/util/HashSet; invoke-direct {p1}, Ljava/util/HashSet;->()V iput-object p1, p0, Lio/flutter/embedding/android/FlutterView;->flutterUiDisplayListeners:Ljava/util/Set; .line 121 new-instance p1, Ljava/util/HashSet; invoke-direct {p1}, Ljava/util/HashSet;->()V iput-object p1, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngineAttachmentListeners:Ljava/util/Set; .line 142 new-instance p1, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; invoke-direct {p1}, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->()V iput-object p1, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 145 new-instance p1, Lio/flutter/embedding/android/FlutterView$1; invoke-direct {p1, p0}, Lio/flutter/embedding/android/FlutterView$1;->(Lio/flutter/embedding/android/FlutterView;)V iput-object p1, p0, Lio/flutter/embedding/android/FlutterView;->onAccessibilityChangeListener:Lio/flutter/view/AccessibilityBridge$OnAccessibilityChangeListener; .line 154 new-instance p1, Lio/flutter/embedding/android/FlutterView$2; new-instance p2, Landroid/os/Handler; .line 155 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper; move-result-object v0 invoke-direct {p2, v0}, Landroid/os/Handler;->(Landroid/os/Looper;)V invoke-direct {p1, p0, p2}, Lio/flutter/embedding/android/FlutterView$2;->(Lio/flutter/embedding/android/FlutterView;Landroid/os/Handler;)V iput-object p1, p0, Lio/flutter/embedding/android/FlutterView;->systemSettingsObserver:Landroid/database/ContentObserver; .line 173 new-instance p1, Lio/flutter/embedding/android/FlutterView$3; invoke-direct {p1, p0}, Lio/flutter/embedding/android/FlutterView$3;->(Lio/flutter/embedding/android/FlutterView;)V iput-object p1, p0, Lio/flutter/embedding/android/FlutterView;->flutterUiDisplayListener:Lio/flutter/embedding/engine/renderer/FlutterUiDisplayListener; .line 194 new-instance p1, Lio/flutter/embedding/android/FlutterView$4; invoke-direct {p1, p0}, Lio/flutter/embedding/android/FlutterView$4;->(Lio/flutter/embedding/android/FlutterView;)V iput-object p1, p0, Lio/flutter/embedding/android/FlutterView;->windowInfoListener:Landroidx/core/util/Consumer; iput-object p3, p0, Lio/flutter/embedding/android/FlutterView;->flutterImageView:Lio/flutter/embedding/android/FlutterImageView; iput-object p3, p0, Lio/flutter/embedding/android/FlutterView;->renderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; .line 370 invoke-direct {p0}, Lio/flutter/embedding/android/FlutterView;->init()V return-void .end method .method private constructor (Landroid/content/Context;Landroid/util/AttributeSet;Lio/flutter/embedding/android/FlutterSurfaceView;)V .locals 1 .line 340 invoke-direct {p0, p1, p2}, Landroid/widget/FrameLayout;->(Landroid/content/Context;Landroid/util/AttributeSet;)V .line 115 new-instance p1, Ljava/util/HashSet; invoke-direct {p1}, Ljava/util/HashSet;->()V iput-object p1, p0, Lio/flutter/embedding/android/FlutterView;->flutterUiDisplayListeners:Ljava/util/Set; .line 121 new-instance p1, Ljava/util/HashSet; invoke-direct {p1}, Ljava/util/HashSet;->()V iput-object p1, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngineAttachmentListeners:Ljava/util/Set; .line 142 new-instance p1, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; invoke-direct {p1}, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->()V iput-object p1, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 145 new-instance p1, Lio/flutter/embedding/android/FlutterView$1; invoke-direct {p1, p0}, Lio/flutter/embedding/android/FlutterView$1;->(Lio/flutter/embedding/android/FlutterView;)V iput-object p1, p0, Lio/flutter/embedding/android/FlutterView;->onAccessibilityChangeListener:Lio/flutter/view/AccessibilityBridge$OnAccessibilityChangeListener; .line 154 new-instance p1, Lio/flutter/embedding/android/FlutterView$2; new-instance p2, Landroid/os/Handler; .line 155 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper; move-result-object v0 invoke-direct {p2, v0}, Landroid/os/Handler;->(Landroid/os/Looper;)V invoke-direct {p1, p0, p2}, Lio/flutter/embedding/android/FlutterView$2;->(Lio/flutter/embedding/android/FlutterView;Landroid/os/Handler;)V iput-object p1, p0, Lio/flutter/embedding/android/FlutterView;->systemSettingsObserver:Landroid/database/ContentObserver; .line 173 new-instance p1, Lio/flutter/embedding/android/FlutterView$3; invoke-direct {p1, p0}, Lio/flutter/embedding/android/FlutterView$3;->(Lio/flutter/embedding/android/FlutterView;)V iput-object p1, p0, Lio/flutter/embedding/android/FlutterView;->flutterUiDisplayListener:Lio/flutter/embedding/engine/renderer/FlutterUiDisplayListener; .line 194 new-instance p1, Lio/flutter/embedding/android/FlutterView$4; invoke-direct {p1, p0}, Lio/flutter/embedding/android/FlutterView$4;->(Lio/flutter/embedding/android/FlutterView;)V iput-object p1, p0, Lio/flutter/embedding/android/FlutterView;->windowInfoListener:Landroidx/core/util/Consumer; iput-object p3, p0, Lio/flutter/embedding/android/FlutterView;->flutterSurfaceView:Lio/flutter/embedding/android/FlutterSurfaceView; iput-object p3, p0, Lio/flutter/embedding/android/FlutterView;->renderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; .line 345 invoke-direct {p0}, Lio/flutter/embedding/android/FlutterView;->init()V return-void .end method .method private constructor (Landroid/content/Context;Landroid/util/AttributeSet;Lio/flutter/embedding/android/FlutterTextureView;)V .locals 1 .line 352 invoke-direct {p0, p1, p2}, Landroid/widget/FrameLayout;->(Landroid/content/Context;Landroid/util/AttributeSet;)V .line 115 new-instance p1, Ljava/util/HashSet; invoke-direct {p1}, Ljava/util/HashSet;->()V iput-object p1, p0, Lio/flutter/embedding/android/FlutterView;->flutterUiDisplayListeners:Ljava/util/Set; .line 121 new-instance p1, Ljava/util/HashSet; invoke-direct {p1}, Ljava/util/HashSet;->()V iput-object p1, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngineAttachmentListeners:Ljava/util/Set; .line 142 new-instance p1, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; invoke-direct {p1}, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->()V iput-object p1, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 145 new-instance p1, Lio/flutter/embedding/android/FlutterView$1; invoke-direct {p1, p0}, Lio/flutter/embedding/android/FlutterView$1;->(Lio/flutter/embedding/android/FlutterView;)V iput-object p1, p0, Lio/flutter/embedding/android/FlutterView;->onAccessibilityChangeListener:Lio/flutter/view/AccessibilityBridge$OnAccessibilityChangeListener; .line 154 new-instance p1, Lio/flutter/embedding/android/FlutterView$2; new-instance p2, Landroid/os/Handler; .line 155 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper; move-result-object v0 invoke-direct {p2, v0}, Landroid/os/Handler;->(Landroid/os/Looper;)V invoke-direct {p1, p0, p2}, Lio/flutter/embedding/android/FlutterView$2;->(Lio/flutter/embedding/android/FlutterView;Landroid/os/Handler;)V iput-object p1, p0, Lio/flutter/embedding/android/FlutterView;->systemSettingsObserver:Landroid/database/ContentObserver; .line 173 new-instance p1, Lio/flutter/embedding/android/FlutterView$3; invoke-direct {p1, p0}, Lio/flutter/embedding/android/FlutterView$3;->(Lio/flutter/embedding/android/FlutterView;)V iput-object p1, p0, Lio/flutter/embedding/android/FlutterView;->flutterUiDisplayListener:Lio/flutter/embedding/engine/renderer/FlutterUiDisplayListener; .line 194 new-instance p1, Lio/flutter/embedding/android/FlutterView$4; invoke-direct {p1, p0}, Lio/flutter/embedding/android/FlutterView$4;->(Lio/flutter/embedding/android/FlutterView;)V iput-object p1, p0, Lio/flutter/embedding/android/FlutterView;->windowInfoListener:Landroidx/core/util/Consumer; iput-object p3, p0, Lio/flutter/embedding/android/FlutterView;->flutterTextureView:Lio/flutter/embedding/android/FlutterTextureView; iput-object p3, p0, Lio/flutter/embedding/android/FlutterView;->renderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; .line 357 invoke-direct {p0}, Lio/flutter/embedding/android/FlutterView;->init()V return-void .end method .method public constructor (Landroid/content/Context;Lio/flutter/embedding/android/FlutterImageView;)V .locals 1 const/4 v0, 0x0 .line 295 invoke-direct {p0, p1, v0, p2}, Lio/flutter/embedding/android/FlutterView;->(Landroid/content/Context;Landroid/util/AttributeSet;Lio/flutter/embedding/android/FlutterImageView;)V return-void .end method .method public constructor (Landroid/content/Context;Lio/flutter/embedding/android/FlutterSurfaceView;)V .locals 1 const/4 v0, 0x0 .line 271 invoke-direct {p0, p1, v0, p2}, Lio/flutter/embedding/android/FlutterView;->(Landroid/content/Context;Landroid/util/AttributeSet;Lio/flutter/embedding/android/FlutterSurfaceView;)V return-void .end method .method public constructor (Landroid/content/Context;Lio/flutter/embedding/android/FlutterTextureView;)V .locals 1 const/4 v0, 0x0 .line 283 invoke-direct {p0, p1, v0, p2}, Lio/flutter/embedding/android/FlutterView;->(Landroid/content/Context;Landroid/util/AttributeSet;Lio/flutter/embedding/android/FlutterTextureView;)V return-void .end method .method public constructor (Landroid/content/Context;Lio/flutter/embedding/android/RenderMode;)V .locals 3 .annotation runtime Ljava/lang/Deprecated; .end annotation const/4 v0, 0x0 .line 226 invoke-direct {p0, p1, v0}, Landroid/widget/FrameLayout;->(Landroid/content/Context;Landroid/util/AttributeSet;)V .line 115 new-instance v0, Ljava/util/HashSet; invoke-direct {v0}, Ljava/util/HashSet;->()V iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterUiDisplayListeners:Ljava/util/Set; .line 121 new-instance v0, Ljava/util/HashSet; invoke-direct {v0}, Ljava/util/HashSet;->()V iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngineAttachmentListeners:Ljava/util/Set; .line 142 new-instance v0, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; invoke-direct {v0}, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->()V iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 145 new-instance v0, Lio/flutter/embedding/android/FlutterView$1; invoke-direct {v0, p0}, Lio/flutter/embedding/android/FlutterView$1;->(Lio/flutter/embedding/android/FlutterView;)V iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->onAccessibilityChangeListener:Lio/flutter/view/AccessibilityBridge$OnAccessibilityChangeListener; .line 154 new-instance v0, Lio/flutter/embedding/android/FlutterView$2; new-instance v1, Landroid/os/Handler; .line 155 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper; move-result-object v2 invoke-direct {v1, v2}, Landroid/os/Handler;->(Landroid/os/Looper;)V invoke-direct {v0, p0, v1}, Lio/flutter/embedding/android/FlutterView$2;->(Lio/flutter/embedding/android/FlutterView;Landroid/os/Handler;)V iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->systemSettingsObserver:Landroid/database/ContentObserver; .line 173 new-instance v0, Lio/flutter/embedding/android/FlutterView$3; invoke-direct {v0, p0}, Lio/flutter/embedding/android/FlutterView$3;->(Lio/flutter/embedding/android/FlutterView;)V iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterUiDisplayListener:Lio/flutter/embedding/engine/renderer/FlutterUiDisplayListener; .line 194 new-instance v0, Lio/flutter/embedding/android/FlutterView$4; invoke-direct {v0, p0}, Lio/flutter/embedding/android/FlutterView$4;->(Lio/flutter/embedding/android/FlutterView;)V iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->windowInfoListener:Landroidx/core/util/Consumer; .line 228 sget-object v0, Lio/flutter/embedding/android/RenderMode;->surface:Lio/flutter/embedding/android/RenderMode; if-ne p2, v0, :cond_0 .line 229 new-instance p2, Lio/flutter/embedding/android/FlutterSurfaceView; invoke-direct {p2, p1}, Lio/flutter/embedding/android/FlutterSurfaceView;->(Landroid/content/Context;)V iput-object p2, p0, Lio/flutter/embedding/android/FlutterView;->flutterSurfaceView:Lio/flutter/embedding/android/FlutterSurfaceView; iput-object p2, p0, Lio/flutter/embedding/android/FlutterView;->renderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; goto :goto_0 .line 231 :cond_0 sget-object v0, Lio/flutter/embedding/android/RenderMode;->texture:Lio/flutter/embedding/android/RenderMode; if-ne p2, v0, :cond_1 .line 232 new-instance p2, Lio/flutter/embedding/android/FlutterTextureView; invoke-direct {p2, p1}, Lio/flutter/embedding/android/FlutterTextureView;->(Landroid/content/Context;)V iput-object p2, p0, Lio/flutter/embedding/android/FlutterView;->flutterTextureView:Lio/flutter/embedding/android/FlutterTextureView; iput-object p2, p0, Lio/flutter/embedding/android/FlutterView;->renderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; .line 239 :goto_0 invoke-direct {p0}, Lio/flutter/embedding/android/FlutterView;->init()V return-void .line 235 :cond_1 new-instance p0, Ljava/lang/IllegalArgumentException; new-instance p1, Ljava/lang/StringBuilder; const-string v0, "RenderMode not supported with this constructor: " invoke-direct {p1, v0}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p0 .end method .method public constructor (Landroid/content/Context;Lio/flutter/embedding/android/RenderMode;Lio/flutter/embedding/android/TransparencyMode;)V .locals 3 .annotation runtime Ljava/lang/Deprecated; .end annotation const/4 v0, 0x0 .line 319 invoke-direct {p0, p1, v0}, Landroid/widget/FrameLayout;->(Landroid/content/Context;Landroid/util/AttributeSet;)V .line 115 new-instance v0, Ljava/util/HashSet; invoke-direct {v0}, Ljava/util/HashSet;->()V iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterUiDisplayListeners:Ljava/util/Set; .line 121 new-instance v0, Ljava/util/HashSet; invoke-direct {v0}, Ljava/util/HashSet;->()V iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngineAttachmentListeners:Ljava/util/Set; .line 142 new-instance v0, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; invoke-direct {v0}, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->()V iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 145 new-instance v0, Lio/flutter/embedding/android/FlutterView$1; invoke-direct {v0, p0}, Lio/flutter/embedding/android/FlutterView$1;->(Lio/flutter/embedding/android/FlutterView;)V iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->onAccessibilityChangeListener:Lio/flutter/view/AccessibilityBridge$OnAccessibilityChangeListener; .line 154 new-instance v0, Lio/flutter/embedding/android/FlutterView$2; new-instance v1, Landroid/os/Handler; .line 155 invoke-static {}, Landroid/os/Looper;->getMainLooper()Landroid/os/Looper; move-result-object v2 invoke-direct {v1, v2}, Landroid/os/Handler;->(Landroid/os/Looper;)V invoke-direct {v0, p0, v1}, Lio/flutter/embedding/android/FlutterView$2;->(Lio/flutter/embedding/android/FlutterView;Landroid/os/Handler;)V iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->systemSettingsObserver:Landroid/database/ContentObserver; .line 173 new-instance v0, Lio/flutter/embedding/android/FlutterView$3; invoke-direct {v0, p0}, Lio/flutter/embedding/android/FlutterView$3;->(Lio/flutter/embedding/android/FlutterView;)V iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterUiDisplayListener:Lio/flutter/embedding/engine/renderer/FlutterUiDisplayListener; .line 194 new-instance v0, Lio/flutter/embedding/android/FlutterView$4; invoke-direct {v0, p0}, Lio/flutter/embedding/android/FlutterView$4;->(Lio/flutter/embedding/android/FlutterView;)V iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->windowInfoListener:Landroidx/core/util/Consumer; .line 321 sget-object v0, Lio/flutter/embedding/android/RenderMode;->surface:Lio/flutter/embedding/android/RenderMode; if-ne p2, v0, :cond_1 .line 322 new-instance p2, Lio/flutter/embedding/android/FlutterSurfaceView; sget-object v0, Lio/flutter/embedding/android/TransparencyMode;->transparent:Lio/flutter/embedding/android/TransparencyMode; if-ne p3, v0, :cond_0 const/4 p3, 0x1 goto :goto_0 :cond_0 const/4 p3, 0x0 :goto_0 invoke-direct {p2, p1, p3}, Lio/flutter/embedding/android/FlutterSurfaceView;->(Landroid/content/Context;Z)V iput-object p2, p0, Lio/flutter/embedding/android/FlutterView;->flutterSurfaceView:Lio/flutter/embedding/android/FlutterSurfaceView; iput-object p2, p0, Lio/flutter/embedding/android/FlutterView;->renderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; goto :goto_1 .line 325 :cond_1 sget-object p3, Lio/flutter/embedding/android/RenderMode;->texture:Lio/flutter/embedding/android/RenderMode; if-ne p2, p3, :cond_2 .line 326 new-instance p2, Lio/flutter/embedding/android/FlutterTextureView; invoke-direct {p2, p1}, Lio/flutter/embedding/android/FlutterTextureView;->(Landroid/content/Context;)V iput-object p2, p0, Lio/flutter/embedding/android/FlutterView;->flutterTextureView:Lio/flutter/embedding/android/FlutterTextureView; iput-object p2, p0, Lio/flutter/embedding/android/FlutterView;->renderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; .line 333 :goto_1 invoke-direct {p0}, Lio/flutter/embedding/android/FlutterView;->init()V return-void .line 329 :cond_2 new-instance p0, Ljava/lang/IllegalArgumentException; new-instance p1, Ljava/lang/StringBuilder; const-string p3, "RenderMode not supported with this constructor: " invoke-direct {p1, p3}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {p1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p1 invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;->(Ljava/lang/String;)V throw p0 .end method .method public constructor (Landroid/content/Context;Lio/flutter/embedding/android/TransparencyMode;)V .locals 2 .annotation runtime Ljava/lang/Deprecated; .end annotation .line 256 new-instance v0, Lio/flutter/embedding/android/FlutterSurfaceView; sget-object v1, Lio/flutter/embedding/android/TransparencyMode;->transparent:Lio/flutter/embedding/android/TransparencyMode; if-ne p2, v1, :cond_0 const/4 p2, 0x1 goto :goto_0 :cond_0 const/4 p2, 0x0 :goto_0 invoke-direct {v0, p1, p2}, Lio/flutter/embedding/android/FlutterSurfaceView;->(Landroid/content/Context;Z)V const/4 p2, 0x0 invoke-direct {p0, p1, p2, v0}, Lio/flutter/embedding/android/FlutterView;->(Landroid/content/Context;Landroid/util/AttributeSet;Lio/flutter/embedding/android/FlutterSurfaceView;)V return-void .end method .method static synthetic access$000(Lio/flutter/embedding/android/FlutterView;ZZ)V .locals 0 .line 105 invoke-direct {p0, p1, p2}, Lio/flutter/embedding/android/FlutterView;->resetWillNotDraw(ZZ)V return-void .end method .method static synthetic access$100(Lio/flutter/embedding/android/FlutterView;)Lio/flutter/embedding/engine/FlutterEngine; .locals 0 .line 105 iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; return-object p0 .end method .method static synthetic access$202(Lio/flutter/embedding/android/FlutterView;Z)Z .locals 0 .line 105 iput-boolean p1, p0, Lio/flutter/embedding/android/FlutterView;->isFlutterUiDisplayed:Z return p1 .end method .method static synthetic access$300(Lio/flutter/embedding/android/FlutterView;)Ljava/util/Set; .locals 0 .line 105 iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->flutterUiDisplayListeners:Ljava/util/Set; return-object p0 .end method .method static synthetic access$400(Lio/flutter/embedding/android/FlutterView;)Lio/flutter/embedding/android/FlutterImageView; .locals 0 .line 105 iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->flutterImageView:Lio/flutter/embedding/android/FlutterImageView; return-object p0 .end method .method static synthetic access$500(Lio/flutter/embedding/android/FlutterView;)V .locals 0 .line 105 invoke-direct {p0}, Lio/flutter/embedding/android/FlutterView;->releaseImageView()V return-void .end method .method private calculateShouldZeroSides()Lio/flutter/embedding/android/FlutterView$ZeroSides; .locals 2 .line 612 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getContext()Landroid/content/Context; move-result-object p0 .line 613 invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources; move-result-object v0 invoke-virtual {v0}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration; move-result-object v0 iget v0, v0, Landroid/content/res/Configuration;->orientation:I const-string v1, "window" .line 615 invoke-virtual {p0, v1}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; move-result-object p0 check-cast p0, Landroid/view/WindowManager; .line 616 invoke-interface {p0}, Landroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display; move-result-object p0 .line 617 invoke-virtual {p0}, Landroid/view/Display;->getRotation()I move-result p0 const/4 v1, 0x2 if-ne v0, v1, :cond_3 const/4 v0, 0x1 if-ne p0, v0, :cond_0 .line 621 sget-object p0, Lio/flutter/embedding/android/FlutterView$ZeroSides;->RIGHT:Lio/flutter/embedding/android/FlutterView$ZeroSides; return-object p0 :cond_0 const/4 v0, 0x3 if-ne p0, v0, :cond_1 .line 624 sget-object p0, Lio/flutter/embedding/android/FlutterView$ZeroSides;->LEFT:Lio/flutter/embedding/android/FlutterView$ZeroSides; return-object p0 :cond_1 if-eqz p0, :cond_2 if-ne p0, v1, :cond_3 .line 628 :cond_2 sget-object p0, Lio/flutter/embedding/android/FlutterView$ZeroSides;->BOTH:Lio/flutter/embedding/android/FlutterView$ZeroSides; return-object p0 .line 633 :cond_3 sget-object p0, Lio/flutter/embedding/android/FlutterView$ZeroSides;->NONE:Lio/flutter/embedding/android/FlutterView$ZeroSides; return-object p0 .end method .method private findViewByAccessibilityIdRootedAtCurrentView(ILandroid/view/View;)Landroid/view/View; .locals 5 const/4 v0, 0x0 .line 1053 :try_start_0 const-class v1, Landroid/view/View; const-string v2, "getAccessibilityViewId" const/4 v3, 0x0 new-array v4, v3, [Ljava/lang/Class; invoke-virtual {v1, v2, v4}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object v1 :try_end_0 .catch Ljava/lang/NoSuchMethodException; {:try_start_0 .. :try_end_0} :catch_0 const/4 v2, 0x1 .line 1057 invoke-virtual {v1, v2}, Ljava/lang/reflect/Method;->setAccessible(Z)V :try_start_1 new-array v2, v3, [Ljava/lang/Object; .line 1059 invoke-virtual {v1, p2, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; move-result-object v1 invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v2 invoke-virtual {v1, v2}, Ljava/lang/Object;->equals(Ljava/lang/Object;)Z move-result v1 :try_end_1 .catch Ljava/lang/IllegalAccessException; {:try_start_1 .. :try_end_1} :catch_0 .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_1 .. :try_end_1} :catch_0 if-eqz v1, :cond_0 return-object p2 .line 1067 :cond_0 instance-of v1, p2, Landroid/view/ViewGroup; if-eqz v1, :cond_2 .line 1068 :goto_0 move-object v1, p2 check-cast v1, Landroid/view/ViewGroup; invoke-virtual {v1}, Landroid/view/ViewGroup;->getChildCount()I move-result v2 if-ge v3, v2, :cond_2 .line 1071 invoke-virtual {v1, v3}, Landroid/view/ViewGroup;->getChildAt(I)Landroid/view/View; move-result-object v1 .line 1070 invoke-direct {p0, p1, v1}, Lio/flutter/embedding/android/FlutterView;->findViewByAccessibilityIdRootedAtCurrentView(ILandroid/view/View;)Landroid/view/View; move-result-object v1 if-eqz v1, :cond_1 return-object v1 :cond_1 add-int/lit8 v3, v3, 0x1 goto :goto_0 :catch_0 :cond_2 return-object v0 .end method .method private guessBottomKeyboardInset(Landroid/view/WindowInsets;)I .locals 6 .line 649 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getRootView()Landroid/view/View; move-result-object p0 invoke-virtual {p0}, Landroid/view/View;->getHeight()I move-result p0 .line 653 invoke-virtual {p1}, Landroid/view/WindowInsets;->getSystemWindowInsetBottom()I move-result v0 int-to-double v0, v0 int-to-double v2, p0 const-wide v4, 0x3fc70a3d70a3d70aL # 0.18 mul-double/2addr v2, v4 cmpg-double p0, v0, v2 if-gez p0, :cond_0 const/4 p0, 0x0 return p0 .line 658 :cond_0 invoke-virtual {p1}, Landroid/view/WindowInsets;->getSystemWindowInsetBottom()I move-result p0 return p0 .end method .method private init()V .locals 2 const-string v0, "Initializing FlutterView" const-string v1, "FlutterView" .line 374 invoke-static {v1, v0}, Lio/flutter/Log;->v(Ljava/lang/String;Ljava/lang/String;)V iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterSurfaceView:Lio/flutter/embedding/android/FlutterSurfaceView; if-eqz v0, :cond_0 const-string v0, "Internally using a FlutterSurfaceView." .line 377 invoke-static {v1, v0}, Lio/flutter/Log;->v(Ljava/lang/String;Ljava/lang/String;)V iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterSurfaceView:Lio/flutter/embedding/android/FlutterSurfaceView; .line 378 invoke-virtual {p0, v0}, Lio/flutter/embedding/android/FlutterView;->addView(Landroid/view/View;)V goto :goto_0 :cond_0 iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterTextureView:Lio/flutter/embedding/android/FlutterTextureView; if-eqz v0, :cond_1 const-string v0, "Internally using a FlutterTextureView." .line 380 invoke-static {v1, v0}, Lio/flutter/Log;->v(Ljava/lang/String;Ljava/lang/String;)V iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterTextureView:Lio/flutter/embedding/android/FlutterTextureView; .line 381 invoke-virtual {p0, v0}, Lio/flutter/embedding/android/FlutterView;->addView(Landroid/view/View;)V goto :goto_0 :cond_1 const-string v0, "Internally using a FlutterImageView." .line 383 invoke-static {v1, v0}, Lio/flutter/Log;->v(Ljava/lang/String;Ljava/lang/String;)V iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterImageView:Lio/flutter/embedding/android/FlutterImageView; .line 384 invoke-virtual {p0, v0}, Lio/flutter/embedding/android/FlutterView;->addView(Landroid/view/View;)V :goto_0 const/4 v0, 0x1 .line 388 invoke-virtual {p0, v0}, Lio/flutter/embedding/android/FlutterView;->setFocusable(Z)V .line 389 invoke-virtual {p0, v0}, Lio/flutter/embedding/android/FlutterView;->setFocusableInTouchMode(Z)V .line 391 invoke-virtual {p0, v0}, Lio/flutter/embedding/android/FlutterView;->setImportantForAutofill(I)V return-void .end method .method static synthetic lambda$sendUserSettingsToFlutter$0(Landroid/view/textservice/SpellCheckerInfo;)Z .locals 1 .line 1481 invoke-virtual {p0}, Landroid/view/textservice/SpellCheckerInfo;->getPackageName()Ljava/lang/String; move-result-object p0 const-string v0, "com.google.android.inputmethod.latin" .line 1482 invoke-virtual {p0, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z move-result p0 return p0 .end method .method private releaseImageView()V .locals 1 iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterImageView:Lio/flutter/embedding/android/FlutterImageView; if-eqz v0, :cond_0 .line 1303 invoke-virtual {v0}, Lio/flutter/embedding/android/FlutterImageView;->closeImageReader()V iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterImageView:Lio/flutter/embedding/android/FlutterImageView; .line 1307 invoke-virtual {p0, v0}, Lio/flutter/embedding/android/FlutterView;->removeView(Landroid/view/View;)V const/4 v0, 0x0 iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterImageView:Lio/flutter/embedding/android/FlutterImageView; :cond_0 return-void .end method .method private resetWillNotDraw(ZZ)V .locals 2 iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; .line 1083 invoke-virtual {v0}, Lio/flutter/embedding/engine/FlutterEngine;->getRenderer()Lio/flutter/embedding/engine/renderer/FlutterRenderer; move-result-object v0 invoke-virtual {v0}, Lio/flutter/embedding/engine/renderer/FlutterRenderer;->isSoftwareRenderingEnabled()Z move-result v0 const/4 v1, 0x0 if-nez v0, :cond_1 if-nez p1, :cond_0 if-nez p2, :cond_0 const/4 v1, 0x1 .line 1084 :cond_0 invoke-virtual {p0, v1}, Lio/flutter/embedding/android/FlutterView;->setWillNotDraw(Z)V goto :goto_0 .line 1086 :cond_1 invoke-virtual {p0, v1}, Lio/flutter/embedding/android/FlutterView;->setWillNotDraw(Z)V :goto_0 return-void .end method .method private sendViewportMetricsToFlutter()V .locals 2 .line 1509 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->isAttachedToFlutterEngine()Z move-result v0 if-nez v0, :cond_0 const-string p0, "FlutterView" const-string v0, "Tried to send viewport metrics from Android to Flutter but this FlutterView was not attached to a FlutterEngine." .line 1510 invoke-static {p0, v0}, Lio/flutter/Log;->w(Ljava/lang/String;Ljava/lang/String;)V return-void :cond_0 iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 1517 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getResources()Landroid/content/res/Resources; move-result-object v1 invoke-virtual {v1}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics; move-result-object v1 iget v1, v1, Landroid/util/DisplayMetrics;->density:F iput v1, v0, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->devicePixelRatio:F iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 1518 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getContext()Landroid/content/Context; move-result-object v1 invoke-static {v1}, Landroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration; move-result-object v1 invoke-virtual {v1}, Landroid/view/ViewConfiguration;->getScaledTouchSlop()I move-result v1 iput v1, v0, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->physicalTouchSlop:I iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; .line 1519 invoke-virtual {v0}, Lio/flutter/embedding/engine/FlutterEngine;->getRenderer()Lio/flutter/embedding/engine/renderer/FlutterRenderer; move-result-object v0 iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; invoke-virtual {v0, p0}, Lio/flutter/embedding/engine/renderer/FlutterRenderer;->setViewportMetrics(Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;)V return-void .end method # virtual methods .method public acquireLatestImageViewFrame()Z .locals 0 iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->flutterImageView:Lio/flutter/embedding/android/FlutterImageView; if-eqz p0, :cond_0 .line 1405 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterImageView;->acquireLatestImage()Z move-result p0 return p0 :cond_0 const/4 p0, 0x0 return p0 .end method .method public addFlutterEngineAttachmentListener(Lio/flutter/embedding/android/FlutterView$FlutterEngineAttachmentListener;)V .locals 0 iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngineAttachmentListeners:Ljava/util/Set; .line 1438 invoke-interface {p0, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z return-void .end method .method public addOnFirstFrameRenderedListener(Lio/flutter/embedding/engine/renderer/FlutterUiDisplayListener;)V .locals 0 iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->flutterUiDisplayListeners:Ljava/util/Set; .line 421 invoke-interface {p0, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z return-void .end method .method public attachOverlaySurfaceToRender(Lio/flutter/embedding/android/FlutterImageView;)V .locals 0 iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; if-eqz p0, :cond_0 .line 1399 invoke-virtual {p0}, Lio/flutter/embedding/engine/FlutterEngine;->getRenderer()Lio/flutter/embedding/engine/renderer/FlutterRenderer; move-result-object p0 invoke-virtual {p1, p0}, Lio/flutter/embedding/android/FlutterImageView;->attachToRenderer(Lio/flutter/embedding/engine/renderer/FlutterRenderer;)V :cond_0 return-void .end method .method public attachToFlutterEngine(Lio/flutter/embedding/engine/FlutterEngine;)V .locals 9 .line 1133 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "Attaching to a FlutterEngine: " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 const-string v1, "FlutterView" invoke-static {v1, v0}, Lio/flutter/Log;->v(Ljava/lang/String;Ljava/lang/String;)V .line 1134 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->isAttachedToFlutterEngine()Z move-result v0 if-eqz v0, :cond_1 iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; if-ne p1, v0, :cond_0 const-string p0, "Already attached to this engine. Doing nothing." .line 1137 invoke-static {v1, p0}, Lio/flutter/Log;->v(Ljava/lang/String;Ljava/lang/String;)V return-void :cond_0 const-string v0, "Currently attached to a different engine. Detaching and then attaching to new engine." .line 1142 invoke-static {v1, v0}, Lio/flutter/Log;->v(Ljava/lang/String;Ljava/lang/String;)V .line 1146 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->detachFromFlutterEngine()V :cond_1 iput-object p1, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; .line 1152 invoke-virtual {p1}, Lio/flutter/embedding/engine/FlutterEngine;->getRenderer()Lio/flutter/embedding/engine/renderer/FlutterRenderer; move-result-object v0 .line 1153 invoke-virtual {v0}, Lio/flutter/embedding/engine/renderer/FlutterRenderer;->isDisplayingFlutterUi()Z move-result v2 iput-boolean v2, p0, Lio/flutter/embedding/android/FlutterView;->isFlutterUiDisplayed:Z iget-object v2, p0, Lio/flutter/embedding/android/FlutterView;->renderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; .line 1154 invoke-interface {v2, v0}, Lio/flutter/embedding/engine/renderer/RenderSurface;->attachToRenderer(Lio/flutter/embedding/engine/renderer/FlutterRenderer;)V iget-object v2, p0, Lio/flutter/embedding/android/FlutterView;->flutterUiDisplayListener:Lio/flutter/embedding/engine/renderer/FlutterUiDisplayListener; .line 1155 invoke-virtual {v0, v2}, Lio/flutter/embedding/engine/renderer/FlutterRenderer;->addIsDisplayingFlutterUiListener(Lio/flutter/embedding/engine/renderer/FlutterUiDisplayListener;)V .line 1160 new-instance v0, Lio/flutter/plugin/mouse/MouseCursorPlugin; iget-object v2, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; invoke-virtual {v2}, Lio/flutter/embedding/engine/FlutterEngine;->getMouseCursorChannel()Lio/flutter/embedding/engine/systemchannels/MouseCursorChannel; move-result-object v2 invoke-direct {v0, p0, v2}, Lio/flutter/plugin/mouse/MouseCursorPlugin;->(Lio/flutter/plugin/mouse/MouseCursorPlugin$MouseCursorViewDelegate;Lio/flutter/embedding/engine/systemchannels/MouseCursorChannel;)V iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->mouseCursorPlugin:Lio/flutter/plugin/mouse/MouseCursorPlugin; .line 1162 new-instance v0, Lio/flutter/plugin/editing/TextInputPlugin; iget-object v2, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; .line 1165 invoke-virtual {v2}, Lio/flutter/embedding/engine/FlutterEngine;->getTextInputChannel()Lio/flutter/embedding/engine/systemchannels/TextInputChannel; move-result-object v2 iget-object v3, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; .line 1166 invoke-virtual {v3}, Lio/flutter/embedding/engine/FlutterEngine;->getPlatformViewsController()Lio/flutter/plugin/platform/PlatformViewsController; move-result-object v3 invoke-direct {v0, p0, v2, v3}, Lio/flutter/plugin/editing/TextInputPlugin;->(Landroid/view/View;Lio/flutter/embedding/engine/systemchannels/TextInputChannel;Lio/flutter/plugin/platform/PlatformViewsController;)V iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->textInputPlugin:Lio/flutter/plugin/editing/TextInputPlugin; .line 1171 :try_start_0 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getContext()Landroid/content/Context; move-result-object v0 const-string v2, "textservices" invoke-virtual {v0, v2}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroid/view/textservice/TextServicesManager; iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->textServicesManager:Landroid/view/textservice/TextServicesManager; .line 1172 new-instance v0, Lio/flutter/plugin/editing/SpellCheckPlugin; iget-object v2, p0, Lio/flutter/embedding/android/FlutterView;->textServicesManager:Landroid/view/textservice/TextServicesManager; iget-object v3, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; .line 1173 invoke-virtual {v3}, Lio/flutter/embedding/engine/FlutterEngine;->getSpellCheckChannel()Lio/flutter/embedding/engine/systemchannels/SpellCheckChannel; move-result-object v3 invoke-direct {v0, v2, v3}, Lio/flutter/plugin/editing/SpellCheckPlugin;->(Landroid/view/textservice/TextServicesManager;Lio/flutter/embedding/engine/systemchannels/SpellCheckChannel;)V iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->spellCheckPlugin:Lio/flutter/plugin/editing/SpellCheckPlugin; :try_end_0 .catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0 goto :goto_0 :catch_0 const-string v0, "TextServicesManager not supported by device, spell check disabled." .line 1175 invoke-static {v1, v0}, Lio/flutter/Log;->e(Ljava/lang/String;Ljava/lang/String;)V :goto_0 iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; .line 1178 invoke-virtual {v0}, Lio/flutter/embedding/engine/FlutterEngine;->getLocalizationPlugin()Lio/flutter/plugin/localization/LocalizationPlugin; move-result-object v0 iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->localizationPlugin:Lio/flutter/plugin/localization/LocalizationPlugin; .line 1180 new-instance v0, Lio/flutter/embedding/android/KeyboardManager; invoke-direct {v0, p0}, Lio/flutter/embedding/android/KeyboardManager;->(Lio/flutter/embedding/android/KeyboardManager$ViewDelegate;)V iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->keyboardManager:Lio/flutter/embedding/android/KeyboardManager; .line 1181 new-instance v0, Lio/flutter/embedding/android/AndroidTouchProcessor; iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; .line 1182 invoke-virtual {v1}, Lio/flutter/embedding/engine/FlutterEngine;->getRenderer()Lio/flutter/embedding/engine/renderer/FlutterRenderer; move-result-object v1 const/4 v2, 0x0 invoke-direct {v0, v1, v2}, Lio/flutter/embedding/android/AndroidTouchProcessor;->(Lio/flutter/embedding/engine/renderer/FlutterRenderer;Z)V iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->androidTouchProcessor:Lio/flutter/embedding/android/AndroidTouchProcessor; .line 1183 new-instance v0, Lio/flutter/view/AccessibilityBridge; .line 1186 invoke-virtual {p1}, Lio/flutter/embedding/engine/FlutterEngine;->getAccessibilityChannel()Lio/flutter/embedding/engine/systemchannels/AccessibilityChannel; move-result-object v5 .line 1187 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getContext()Landroid/content/Context; move-result-object v1 const-string v3, "accessibility" invoke-virtual {v1, v3}, Landroid/content/Context;->getSystemService(Ljava/lang/String;)Ljava/lang/Object; move-result-object v1 move-object v6, v1 check-cast v6, Landroid/view/accessibility/AccessibilityManager; .line 1188 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getContext()Landroid/content/Context; move-result-object v1 invoke-virtual {v1}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver; move-result-object v7 iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; .line 1189 invoke-virtual {v1}, Lio/flutter/embedding/engine/FlutterEngine;->getPlatformViewsController()Lio/flutter/plugin/platform/PlatformViewsController; move-result-object v8 move-object v3, v0 move-object v4, p0 invoke-direct/range {v3 .. v8}, Lio/flutter/view/AccessibilityBridge;->(Landroid/view/View;Lio/flutter/embedding/engine/systemchannels/AccessibilityChannel;Landroid/view/accessibility/AccessibilityManager;Landroid/content/ContentResolver;Lio/flutter/plugin/platform/PlatformViewsAccessibilityDelegate;)V iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->accessibilityBridge:Lio/flutter/view/AccessibilityBridge; iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->onAccessibilityChangeListener:Lio/flutter/view/AccessibilityBridge$OnAccessibilityChangeListener; .line 1190 invoke-virtual {v0, v1}, Lio/flutter/view/AccessibilityBridge;->setOnAccessibilityChangeListener(Lio/flutter/view/AccessibilityBridge$OnAccessibilityChangeListener;)V iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->accessibilityBridge:Lio/flutter/view/AccessibilityBridge; .line 1192 invoke-virtual {v0}, Lio/flutter/view/AccessibilityBridge;->isAccessibilityEnabled()Z move-result v0 iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->accessibilityBridge:Lio/flutter/view/AccessibilityBridge; .line 1193 invoke-virtual {v1}, Lio/flutter/view/AccessibilityBridge;->isTouchExplorationEnabled()Z move-result v1 .line 1191 invoke-direct {p0, v0, v1}, Lio/flutter/embedding/android/FlutterView;->resetWillNotDraw(ZZ)V iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; .line 1197 invoke-virtual {v0}, Lio/flutter/embedding/engine/FlutterEngine;->getPlatformViewsController()Lio/flutter/plugin/platform/PlatformViewsController; move-result-object v0 iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->accessibilityBridge:Lio/flutter/view/AccessibilityBridge; invoke-virtual {v0, v1}, Lio/flutter/plugin/platform/PlatformViewsController;->attachAccessibilityBridge(Lio/flutter/view/AccessibilityBridge;)V iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; .line 1199 invoke-virtual {v0}, Lio/flutter/embedding/engine/FlutterEngine;->getPlatformViewsController()Lio/flutter/plugin/platform/PlatformViewsController; move-result-object v0 iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; .line 1200 invoke-virtual {v1}, Lio/flutter/embedding/engine/FlutterEngine;->getRenderer()Lio/flutter/embedding/engine/renderer/FlutterRenderer; move-result-object v1 invoke-virtual {v0, v1}, Lio/flutter/plugin/platform/PlatformViewsController;->attachToFlutterRenderer(Lio/flutter/embedding/engine/renderer/FlutterRenderer;)V iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->textInputPlugin:Lio/flutter/plugin/editing/TextInputPlugin; .line 1205 invoke-virtual {v0}, Lio/flutter/plugin/editing/TextInputPlugin;->getInputMethodManager()Landroid/view/inputmethod/InputMethodManager; move-result-object v0 invoke-virtual {v0, p0}, Landroid/view/inputmethod/InputMethodManager;->restartInput(Landroid/view/View;)V .line 1208 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->sendUserSettingsToFlutter()V .line 1209 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getContext()Landroid/content/Context; move-result-object v0 .line 1210 invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver; move-result-object v0 const-string v1, "show_password" .line 1212 invoke-static {v1}, Landroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri; move-result-object v1 iget-object v3, p0, Lio/flutter/embedding/android/FlutterView;->systemSettingsObserver:Landroid/database/ContentObserver; .line 1211 invoke-virtual {v0, v1, v2, v3}, Landroid/content/ContentResolver;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;)V .line 1216 invoke-direct {p0}, Lio/flutter/embedding/android/FlutterView;->sendViewportMetricsToFlutter()V .line 1218 invoke-virtual {p1}, Lio/flutter/embedding/engine/FlutterEngine;->getPlatformViewsController()Lio/flutter/plugin/platform/PlatformViewsController; move-result-object v0 invoke-virtual {v0, p0}, Lio/flutter/plugin/platform/PlatformViewsController;->attachToView(Lio/flutter/embedding/android/FlutterView;)V iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngineAttachmentListeners:Ljava/util/Set; .line 1221 invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_1 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_2 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lio/flutter/embedding/android/FlutterView$FlutterEngineAttachmentListener; .line 1222 invoke-interface {v1, p1}, Lio/flutter/embedding/android/FlutterView$FlutterEngineAttachmentListener;->onFlutterEngineAttachedToFlutterView(Lio/flutter/embedding/engine/FlutterEngine;)V goto :goto_1 :cond_2 iget-boolean p1, p0, Lio/flutter/embedding/android/FlutterView;->isFlutterUiDisplayed:Z if-eqz p1, :cond_3 iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->flutterUiDisplayListener:Lio/flutter/embedding/engine/renderer/FlutterUiDisplayListener; .line 1229 invoke-interface {p0}, Lio/flutter/embedding/engine/renderer/FlutterUiDisplayListener;->onFlutterUiDisplayed()V :cond_3 return-void .end method .method public autofill(Landroid/util/SparseArray;)V .locals 0 .annotation system Ldalvik/annotation/Signature; value = { "(", "Landroid/util/SparseArray<", "Landroid/view/autofill/AutofillValue;", ">;)V" } .end annotation iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->textInputPlugin:Lio/flutter/plugin/editing/TextInputPlugin; .line 1530 invoke-virtual {p0, p1}, Lio/flutter/plugin/editing/TextInputPlugin;->autofill(Landroid/util/SparseArray;)V return-void .end method .method public checkInputConnectionProxy(Landroid/view/View;)Z .locals 1 iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; if-eqz v0, :cond_0 .line 889 invoke-virtual {v0}, Lio/flutter/embedding/engine/FlutterEngine;->getPlatformViewsController()Lio/flutter/plugin/platform/PlatformViewsController; move-result-object p0 invoke-virtual {p0, p1}, Lio/flutter/plugin/platform/PlatformViewsController;->checkInputConnectionProxy(Landroid/view/View;)Z move-result p0 goto :goto_0 .line 890 :cond_0 invoke-super {p0, p1}, Landroid/widget/FrameLayout;->checkInputConnectionProxy(Landroid/view/View;)Z move-result p0 :goto_0 return p0 .end method .method public convertToImageView()V .locals 3 iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->renderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; .line 1329 invoke-interface {v0}, Lio/flutter/embedding/engine/renderer/RenderSurface;->pause()V iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterImageView:Lio/flutter/embedding/android/FlutterImageView; if-nez v0, :cond_0 .line 1332 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->createImageView()Lio/flutter/embedding/android/FlutterImageView; move-result-object v0 iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterImageView:Lio/flutter/embedding/android/FlutterImageView; .line 1333 invoke-virtual {p0, v0}, Lio/flutter/embedding/android/FlutterView;->addView(Landroid/view/View;)V goto :goto_0 .line 1335 :cond_0 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getWidth()I move-result v1 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getHeight()I move-result v2 invoke-virtual {v0, v1, v2}, Lio/flutter/embedding/android/FlutterImageView;->resizeIfNeeded(II)V :goto_0 iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->renderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->previousRenderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterImageView:Lio/flutter/embedding/android/FlutterImageView; iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->renderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; if-eqz p0, :cond_1 .line 1341 invoke-virtual {p0}, Lio/flutter/embedding/engine/FlutterEngine;->getRenderer()Lio/flutter/embedding/engine/renderer/FlutterRenderer; move-result-object p0 invoke-interface {v0, p0}, Lio/flutter/embedding/engine/renderer/RenderSurface;->attachToRenderer(Lio/flutter/embedding/engine/renderer/FlutterRenderer;)V :cond_1 return-void .end method .method public createImageView()Lio/flutter/embedding/android/FlutterImageView; .locals 4 .line 1315 new-instance v0, Lio/flutter/embedding/android/FlutterImageView; .line 1316 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getContext()Landroid/content/Context; move-result-object v1 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getWidth()I move-result v2 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getHeight()I move-result p0 sget-object v3, Lio/flutter/embedding/android/FlutterImageView$SurfaceKind;->background:Lio/flutter/embedding/android/FlutterImageView$SurfaceKind; invoke-direct {v0, v1, v2, p0, v3}, Lio/flutter/embedding/android/FlutterImageView;->(Landroid/content/Context;IILio/flutter/embedding/android/FlutterImageView$SurfaceKind;)V return-object v0 .end method .method protected createWindowInfoRepo()Lio/flutter/embedding/android/WindowInfoRepositoryCallbackAdapterWrapper; .locals 3 .line 489 :try_start_0 new-instance v0, Lio/flutter/embedding/android/WindowInfoRepositoryCallbackAdapterWrapper; new-instance v1, Landroidx/window/java/layout/WindowInfoTrackerCallbackAdapter; sget-object v2, Landroidx/window/layout/WindowInfoTracker;->Companion:Landroidx/window/layout/WindowInfoTracker$Companion; .line 491 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getContext()Landroid/content/Context; move-result-object p0 invoke-virtual {v2, p0}, Landroidx/window/layout/WindowInfoTracker$Companion;->getOrCreate(Landroid/content/Context;)Landroidx/window/layout/WindowInfoTracker; move-result-object p0 invoke-direct {v1, p0}, Landroidx/window/java/layout/WindowInfoTrackerCallbackAdapter;->(Landroidx/window/layout/WindowInfoTracker;)V invoke-direct {v0, v1}, Lio/flutter/embedding/android/WindowInfoRepositoryCallbackAdapterWrapper;->(Landroidx/window/java/layout/WindowInfoTrackerCallbackAdapter;)V :try_end_0 .catch Ljava/lang/NoClassDefFoundError; {:try_start_0 .. :try_end_0} :catch_0 return-object v0 :catch_0 const/4 p0, 0x0 return-object p0 .end method .method public detachFromFlutterEngine()V .locals 4 .line 1245 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "Detaching from a FlutterEngine: " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder; move-result-object v0 invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v0 const-string v1, "FlutterView" invoke-static {v1, v0}, Lio/flutter/Log;->v(Ljava/lang/String;Ljava/lang/String;)V .line 1246 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->isAttachedToFlutterEngine()Z move-result v0 if-nez v0, :cond_0 const-string p0, "FlutterView not attached to an engine. Not detaching." .line 1247 invoke-static {v1, p0}, Lio/flutter/Log;->v(Ljava/lang/String;Ljava/lang/String;)V return-void :cond_0 iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngineAttachmentListeners:Ljava/util/Set; .line 1252 invoke-interface {v0}, Ljava/util/Set;->iterator()Ljava/util/Iterator; move-result-object v0 :goto_0 invoke-interface {v0}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_1 invoke-interface {v0}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Lio/flutter/embedding/android/FlutterView$FlutterEngineAttachmentListener; .line 1253 invoke-interface {v1}, Lio/flutter/embedding/android/FlutterView$FlutterEngineAttachmentListener;->onFlutterEngineDetachedFromFlutterView()V goto :goto_0 .line 1256 :cond_1 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getContext()Landroid/content/Context; move-result-object v0 invoke-virtual {v0}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver; move-result-object v0 iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->systemSettingsObserver:Landroid/database/ContentObserver; invoke-virtual {v0, v1}, Landroid/content/ContentResolver;->unregisterContentObserver(Landroid/database/ContentObserver;)V iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; .line 1258 invoke-virtual {v0}, Lio/flutter/embedding/engine/FlutterEngine;->getPlatformViewsController()Lio/flutter/plugin/platform/PlatformViewsController; move-result-object v0 invoke-virtual {v0}, Lio/flutter/plugin/platform/PlatformViewsController;->detachFromView()V iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; .line 1261 invoke-virtual {v0}, Lio/flutter/embedding/engine/FlutterEngine;->getPlatformViewsController()Lio/flutter/plugin/platform/PlatformViewsController; move-result-object v0 invoke-virtual {v0}, Lio/flutter/plugin/platform/PlatformViewsController;->detachAccessibilityBridge()V iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->accessibilityBridge:Lio/flutter/view/AccessibilityBridge; .line 1264 invoke-virtual {v0}, Lio/flutter/view/AccessibilityBridge;->release()V const/4 v0, 0x0 iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->accessibilityBridge:Lio/flutter/view/AccessibilityBridge; iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->textInputPlugin:Lio/flutter/plugin/editing/TextInputPlugin; .line 1271 invoke-virtual {v1}, Lio/flutter/plugin/editing/TextInputPlugin;->getInputMethodManager()Landroid/view/inputmethod/InputMethodManager; move-result-object v1 invoke-virtual {v1, p0}, Landroid/view/inputmethod/InputMethodManager;->restartInput(Landroid/view/View;)V iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->textInputPlugin:Lio/flutter/plugin/editing/TextInputPlugin; .line 1272 invoke-virtual {v1}, Lio/flutter/plugin/editing/TextInputPlugin;->destroy()V iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->keyboardManager:Lio/flutter/embedding/android/KeyboardManager; .line 1273 invoke-virtual {v1}, Lio/flutter/embedding/android/KeyboardManager;->destroy()V iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->spellCheckPlugin:Lio/flutter/plugin/editing/SpellCheckPlugin; if-eqz v1, :cond_2 .line 1275 invoke-virtual {v1}, Lio/flutter/plugin/editing/SpellCheckPlugin;->destroy()V :cond_2 iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->mouseCursorPlugin:Lio/flutter/plugin/mouse/MouseCursorPlugin; if-eqz v1, :cond_3 .line 1279 invoke-virtual {v1}, Lio/flutter/plugin/mouse/MouseCursorPlugin;->destroy()V :cond_3 iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; .line 1283 invoke-virtual {v1}, Lio/flutter/embedding/engine/FlutterEngine;->getRenderer()Lio/flutter/embedding/engine/renderer/FlutterRenderer; move-result-object v1 const/4 v2, 0x0 iput-boolean v2, p0, Lio/flutter/embedding/android/FlutterView;->isFlutterUiDisplayed:Z iget-object v3, p0, Lio/flutter/embedding/android/FlutterView;->flutterUiDisplayListener:Lio/flutter/embedding/engine/renderer/FlutterUiDisplayListener; .line 1285 invoke-virtual {v1, v3}, Lio/flutter/embedding/engine/renderer/FlutterRenderer;->removeIsDisplayingFlutterUiListener(Lio/flutter/embedding/engine/renderer/FlutterUiDisplayListener;)V .line 1286 invoke-virtual {v1}, Lio/flutter/embedding/engine/renderer/FlutterRenderer;->stopRenderingToSurface()V .line 1287 invoke-virtual {v1, v2}, Lio/flutter/embedding/engine/renderer/FlutterRenderer;->setSemanticsEnabled(Z)V iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->previousRenderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; if-eqz v1, :cond_4 iget-object v2, p0, Lio/flutter/embedding/android/FlutterView;->renderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; iget-object v3, p0, Lio/flutter/embedding/android/FlutterView;->flutterImageView:Lio/flutter/embedding/android/FlutterImageView; if-ne v2, v3, :cond_4 iput-object v1, p0, Lio/flutter/embedding/android/FlutterView;->renderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; :cond_4 iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->renderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; .line 1293 invoke-interface {v1}, Lio/flutter/embedding/engine/renderer/RenderSurface;->detachFromRenderer()V .line 1295 invoke-direct {p0}, Lio/flutter/embedding/android/FlutterView;->releaseImageView()V iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->previousRenderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; return-void .end method .method public dispatchKeyEvent(Landroid/view/KeyEvent;)Z .locals 2 .line 906 invoke-virtual {p1}, Landroid/view/KeyEvent;->getAction()I move-result v0 const/4 v1, 0x1 if-nez v0, :cond_0 invoke-virtual {p1}, Landroid/view/KeyEvent;->getRepeatCount()I move-result v0 if-nez v0, :cond_0 .line 908 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getKeyDispatcherState()Landroid/view/KeyEvent$DispatcherState; move-result-object v0 invoke-virtual {v0, p1, p0}, Landroid/view/KeyEvent$DispatcherState;->startTracking(Landroid/view/KeyEvent;Ljava/lang/Object;)V goto :goto_0 .line 909 :cond_0 invoke-virtual {p1}, Landroid/view/KeyEvent;->getAction()I move-result v0 if-ne v0, v1, :cond_1 .line 911 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getKeyDispatcherState()Landroid/view/KeyEvent$DispatcherState; move-result-object v0 invoke-virtual {v0, p1}, Landroid/view/KeyEvent$DispatcherState;->handleUpEvent(Landroid/view/KeyEvent;)V .line 917 :cond_1 :goto_0 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->isAttachedToFlutterEngine()Z move-result v0 if-eqz v0, :cond_2 iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->keyboardManager:Lio/flutter/embedding/android/KeyboardManager; invoke-virtual {v0, p1}, Lio/flutter/embedding/android/KeyboardManager;->handleEvent(Landroid/view/KeyEvent;)Z move-result v0 if-nez v0, :cond_4 .line 918 :cond_2 invoke-super {p0, p1}, Landroid/widget/FrameLayout;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z move-result p0 if-eqz p0, :cond_3 goto :goto_1 :cond_3 const/4 v1, 0x0 :cond_4 :goto_1 return v1 .end method .method public findViewByAccessibilityIdTraversal(I)Landroid/view/View; .locals 7 const/4 v0, 0x0 .line 1027 :try_start_0 const-class v1, Landroid/view/View; const-string v2, "findViewByAccessibilityIdTraversal" const/4 v3, 0x1 new-array v4, v3, [Ljava/lang/Class; sget-object v5, Ljava/lang/Integer;->TYPE:Ljava/lang/Class; const/4 v6, 0x0 aput-object v5, v4, v6 .line 1028 invoke-virtual {v1, v2, v4}, Ljava/lang/Class;->getDeclaredMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object v1 :try_end_0 .catch Ljava/lang/NoSuchMethodException; {:try_start_0 .. :try_end_0} :catch_0 .line 1032 invoke-virtual {v1, v3}, Ljava/lang/reflect/Method;->setAccessible(Z)V :try_start_1 new-array v2, v3, [Ljava/lang/Object; .line 1034 invoke-static {p1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object p1 aput-object p1, v2, v6 invoke-virtual {v1, p0, v2}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 check-cast p0, Landroid/view/View; :try_end_1 .catch Ljava/lang/IllegalAccessException; {:try_start_1 .. :try_end_1} :catch_0 .catch Ljava/lang/reflect/InvocationTargetException; {:try_start_1 .. :try_end_1} :catch_0 return-object p0 :catch_0 return-object v0 .end method .method protected fitSystemWindows(Landroid/graphics/Rect;)Z .locals 0 .line 849 invoke-super {p0, p1}, Landroid/widget/FrameLayout;->fitSystemWindows(Landroid/graphics/Rect;)Z move-result p0 return p0 .end method .method public getAccessibilityNodeProvider()Landroid/view/accessibility/AccessibilityNodeProvider; .locals 1 iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->accessibilityBridge:Lio/flutter/view/AccessibilityBridge; if-eqz v0, :cond_0 .line 990 invoke-virtual {v0}, Lio/flutter/view/AccessibilityBridge;->isAccessibilityEnabled()Z move-result v0 if-eqz v0, :cond_0 iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->accessibilityBridge:Lio/flutter/view/AccessibilityBridge; return-object p0 :cond_0 const/4 p0, 0x0 return-object p0 .end method .method public getAttachedFlutterEngine()Lio/flutter/embedding/engine/FlutterEngine; .locals 0 iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; return-object p0 .end method .method public getBinaryMessenger()Lio/flutter/plugin/common/BinaryMessenger; .locals 0 iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; .line 1105 invoke-virtual {p0}, Lio/flutter/embedding/engine/FlutterEngine;->getDartExecutor()Lio/flutter/embedding/engine/dart/DartExecutor; move-result-object p0 return-object p0 .end method .method public getCurrentImageSurface()Lio/flutter/embedding/android/FlutterImageView; .locals 0 iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->flutterImageView:Lio/flutter/embedding/android/FlutterImageView; return-object p0 .end method .method public getSystemPointerIcon(I)Landroid/view/PointerIcon; .locals 0 .line 1097 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getContext()Landroid/content/Context; move-result-object p0 invoke-static {p0, p1}, Landroid/view/PointerIcon;->getSystemIcon(Landroid/content/Context;I)Landroid/view/PointerIcon; move-result-object p0 return-object p0 .end method .method public hasRenderedFirstFrame()Z .locals 0 iget-boolean p0, p0, Lio/flutter/embedding/android/FlutterView;->isFlutterUiDisplayed:Z return p0 .end method .method public isAttachedToFlutterEngine()Z .locals 1 iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; if-eqz v0, :cond_0 .line 1417 invoke-virtual {v0}, Lio/flutter/embedding/engine/FlutterEngine;->getRenderer()Lio/flutter/embedding/engine/renderer/FlutterRenderer; move-result-object v0 iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->renderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; invoke-interface {p0}, Lio/flutter/embedding/engine/renderer/RenderSurface;->getAttachedRenderer()Lio/flutter/embedding/engine/renderer/FlutterRenderer; move-result-object p0 if-ne v0, p0, :cond_0 const/4 p0, 0x1 goto :goto_0 :cond_0 const/4 p0, 0x0 :goto_0 return p0 .end method .method public final onApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets; .locals 5 .line 681 invoke-super {p0, p1}, Landroid/widget/FrameLayout;->onApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets; move-result-object v0 .line 692 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getWindowSystemUiVisibility()I move-result v1 and-int/lit8 v1, v1, 0x4 const/4 v2, 0x1 const/4 v3, 0x0 if-nez v1, :cond_0 move v1, v2 goto :goto_0 :cond_0 move v1, v3 .line 694 :goto_0 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getWindowSystemUiVisibility()I move-result v4 and-int/lit8 v4, v4, 0x2 if-nez v4, :cond_1 goto :goto_1 :cond_1 move v2, v3 :goto_1 if-eqz v2, :cond_2 .line 699 invoke-static {}, Landroid/view/WindowInsets$Type;->navigationBars()I move-result v3 :cond_2 if-eqz v1, :cond_3 .line 702 invoke-static {}, Landroid/view/WindowInsets$Type;->statusBars()I move-result v1 or-int/2addr v3, v1 .line 704 :cond_3 invoke-virtual {p1, v3}, Landroid/view/WindowInsets;->getInsets(I)Landroid/graphics/Insets; move-result-object v1 iget-object v2, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 705 iget v3, v1, Landroid/graphics/Insets;->top:I iput v3, v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->viewPaddingTop:I iget-object v2, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 706 iget v3, v1, Landroid/graphics/Insets;->right:I iput v3, v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->viewPaddingRight:I iget-object v2, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 707 iget v3, v1, Landroid/graphics/Insets;->bottom:I iput v3, v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->viewPaddingBottom:I iget-object v2, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 708 iget v1, v1, Landroid/graphics/Insets;->left:I iput v1, v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->viewPaddingLeft:I .line 710 invoke-static {}, Landroid/view/WindowInsets$Type;->ime()I move-result v1 invoke-virtual {p1, v1}, Landroid/view/WindowInsets;->getInsets(I)Landroid/graphics/Insets; move-result-object v1 iget-object v2, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 711 iget v3, v1, Landroid/graphics/Insets;->top:I iput v3, v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->viewInsetTop:I iget-object v2, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 712 iget v3, v1, Landroid/graphics/Insets;->right:I iput v3, v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->viewInsetRight:I iget-object v2, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 713 iget v3, v1, Landroid/graphics/Insets;->bottom:I iput v3, v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->viewInsetBottom:I iget-object v2, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 714 iget v1, v1, Landroid/graphics/Insets;->left:I iput v1, v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->viewInsetLeft:I .line 717 invoke-static {}, Landroid/view/WindowInsets$Type;->systemGestures()I move-result v1 invoke-virtual {p1, v1}, Landroid/view/WindowInsets;->getInsets(I)Landroid/graphics/Insets; move-result-object v1 iget-object v2, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 718 iget v3, v1, Landroid/graphics/Insets;->top:I iput v3, v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->systemGestureInsetTop:I iget-object v2, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 719 iget v3, v1, Landroid/graphics/Insets;->right:I iput v3, v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->systemGestureInsetRight:I iget-object v2, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 720 iget v3, v1, Landroid/graphics/Insets;->bottom:I iput v3, v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->systemGestureInsetBottom:I iget-object v2, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 721 iget v1, v1, Landroid/graphics/Insets;->left:I iput v1, v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->systemGestureInsetLeft:I .line 726 invoke-virtual {p1}, Landroid/view/WindowInsets;->getDisplayCutout()Landroid/view/DisplayCutout; move-result-object p1 if-eqz p1, :cond_4 .line 728 invoke-virtual {p1}, Landroid/view/DisplayCutout;->getWaterfallInsets()Landroid/graphics/Insets; move-result-object v1 iget-object v2, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 729 iget v3, v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->viewPaddingTop:I iget v4, v1, Landroid/graphics/Insets;->top:I .line 731 invoke-static {v3, v4}, Ljava/lang/Math;->max(II)I move-result v3 .line 732 invoke-virtual {p1}, Landroid/view/DisplayCutout;->getSafeInsetTop()I move-result v4 .line 730 invoke-static {v3, v4}, Ljava/lang/Math;->max(II)I move-result v3 iput v3, v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->viewPaddingTop:I iget-object v2, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 733 iget v3, v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->viewPaddingRight:I iget v4, v1, Landroid/graphics/Insets;->right:I .line 735 invoke-static {v3, v4}, Ljava/lang/Math;->max(II)I move-result v3 .line 736 invoke-virtual {p1}, Landroid/view/DisplayCutout;->getSafeInsetRight()I move-result v4 .line 734 invoke-static {v3, v4}, Ljava/lang/Math;->max(II)I move-result v3 iput v3, v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->viewPaddingRight:I iget-object v2, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 737 iget v3, v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->viewPaddingBottom:I iget v4, v1, Landroid/graphics/Insets;->bottom:I .line 739 invoke-static {v3, v4}, Ljava/lang/Math;->max(II)I move-result v3 .line 740 invoke-virtual {p1}, Landroid/view/DisplayCutout;->getSafeInsetBottom()I move-result v4 .line 738 invoke-static {v3, v4}, Ljava/lang/Math;->max(II)I move-result v3 iput v3, v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->viewPaddingBottom:I iget-object v2, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 741 iget v3, v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->viewPaddingLeft:I iget v1, v1, Landroid/graphics/Insets;->left:I .line 743 invoke-static {v3, v1}, Ljava/lang/Math;->max(II)I move-result v1 .line 744 invoke-virtual {p1}, Landroid/view/DisplayCutout;->getSafeInsetLeft()I move-result p1 .line 742 invoke-static {v1, p1}, Ljava/lang/Math;->max(II)I move-result p1 iput p1, v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->viewPaddingLeft:I .line 777 :cond_4 new-instance p1, Ljava/lang/StringBuilder; const-string v1, "Updating window insets (onApplyWindowInsets()):\nStatus bar insets: Top: " invoke-direct {p1, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; iget v1, v1, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->viewPaddingTop:I invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 const-string v1, ", Left: " invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 iget-object v2, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; iget v2, v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->viewPaddingLeft:I invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 const-string v2, ", Right: " invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 iget-object v3, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; iget v3, v3, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->viewPaddingRight:I invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 const-string v3, "\nKeyboard insets: Bottom: " invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 iget-object v3, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; iget v3, v3, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->viewInsetBottom:I invoke-virtual {p1, v3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; iget v1, v1, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->viewInsetLeft:I invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; iget v1, v1, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->viewInsetRight:I invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 const-string v1, "System Gesture Insets - Left: " invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; iget v1, v1, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->systemGestureInsetLeft:I invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 const-string v1, ", Top: " invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; iget v1, v1, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->systemGestureInsetTop:I invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 invoke-virtual {p1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; iget v1, v1, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->systemGestureInsetRight:I invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p1 const-string v1, ", Bottom: " invoke-virtual {p1, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p1 iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; iget v1, v1, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->viewInsetBottom:I invoke-virtual {p1, v1}, 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 const-string v1, "FlutterView" invoke-static {v1, p1}, Lio/flutter/Log;->v(Ljava/lang/String;Ljava/lang/String;)V .line 802 invoke-direct {p0}, Lio/flutter/embedding/android/FlutterView;->sendViewportMetricsToFlutter()V return-object v0 .end method .method protected onAttachedToWindow()V .locals 3 .line 510 invoke-super {p0}, Landroid/widget/FrameLayout;->onAttachedToWindow()V .line 511 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->createWindowInfoRepo()Lio/flutter/embedding/android/WindowInfoRepositoryCallbackAdapterWrapper; move-result-object v0 iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->windowInfoRepo:Lio/flutter/embedding/android/WindowInfoRepositoryCallbackAdapterWrapper; .line 512 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getContext()Landroid/content/Context; move-result-object v0 invoke-static {v0}, Lio/flutter/util/ViewUtils;->getActivity(Landroid/content/Context;)Landroid/app/Activity; move-result-object v0 iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->windowInfoRepo:Lio/flutter/embedding/android/WindowInfoRepositoryCallbackAdapterWrapper; if-eqz v1, :cond_0 if-eqz v0, :cond_0 .line 515 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getContext()Landroid/content/Context; move-result-object v2 invoke-static {v2}, Landroidx/core/content/ContextCompat;->getMainExecutor(Landroid/content/Context;)Ljava/util/concurrent/Executor; move-result-object v2 iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->windowInfoListener:Landroidx/core/util/Consumer; .line 514 invoke-virtual {v1, v0, v2, p0}, Lio/flutter/embedding/android/WindowInfoRepositoryCallbackAdapterWrapper;->addWindowLayoutInfoListener(Landroid/app/Activity;Ljava/util/concurrent/Executor;Landroidx/core/util/Consumer;)V :cond_0 return-void .end method .method protected onConfigurationChanged(Landroid/content/res/Configuration;)V .locals 2 .line 442 invoke-super {p0, p1}, Landroid/widget/FrameLayout;->onConfigurationChanged(Landroid/content/res/Configuration;)V iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; if-eqz v0, :cond_0 const-string v0, "FlutterView" const-string v1, "Configuration changed. Sending locales and user settings to Flutter." .line 451 invoke-static {v0, v1}, Lio/flutter/Log;->v(Ljava/lang/String;Ljava/lang/String;)V iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->localizationPlugin:Lio/flutter/plugin/localization/LocalizationPlugin; .line 452 invoke-virtual {v0, p1}, Lio/flutter/plugin/localization/LocalizationPlugin;->sendLocalesToFlutter(Landroid/content/res/Configuration;)V .line 453 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->sendUserSettingsToFlutter()V .line 455 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getContext()Landroid/content/Context; move-result-object p1 iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; invoke-static {p1, p0}, Lio/flutter/util/ViewUtils;->calculateMaximumDisplayMetrics(Landroid/content/Context;Lio/flutter/util/ViewUtils$DisplayUpdater;)V :cond_0 return-void .end method .method public onCreateInputConnection(Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection; .locals 2 .line 871 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->isAttachedToFlutterEngine()Z move-result v0 if-nez v0, :cond_0 .line 872 invoke-super {p0, p1}, Landroid/widget/FrameLayout;->onCreateInputConnection(Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection; move-result-object p0 return-object p0 :cond_0 iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->textInputPlugin:Lio/flutter/plugin/editing/TextInputPlugin; iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->keyboardManager:Lio/flutter/embedding/android/KeyboardManager; .line 875 invoke-virtual {v0, p0, v1, p1}, Lio/flutter/plugin/editing/TextInputPlugin;->createInputConnection(Landroid/view/View;Lio/flutter/embedding/android/KeyboardManager;Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection; move-result-object p0 return-object p0 .end method .method protected onDetachedFromWindow()V .locals 2 iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->windowInfoRepo:Lio/flutter/embedding/android/WindowInfoRepositoryCallbackAdapterWrapper; if-eqz v0, :cond_0 iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->windowInfoListener:Landroidx/core/util/Consumer; .line 527 invoke-virtual {v0, v1}, Lio/flutter/embedding/android/WindowInfoRepositoryCallbackAdapterWrapper;->removeWindowLayoutInfoListener(Landroidx/core/util/Consumer;)V :cond_0 const/4 v0, 0x0 iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->windowInfoRepo:Lio/flutter/embedding/android/WindowInfoRepositoryCallbackAdapterWrapper; .line 530 invoke-super {p0}, Landroid/widget/FrameLayout;->onDetachedFromWindow()V return-void .end method .method public onGenericMotionEvent(Landroid/view/MotionEvent;)Z .locals 2 .line 955 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->isAttachedToFlutterEngine()Z move-result v0 if-eqz v0, :cond_0 iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->androidTouchProcessor:Lio/flutter/embedding/android/AndroidTouchProcessor; .line 956 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getContext()Landroid/content/Context; move-result-object v1 invoke-virtual {v0, p1, v1}, Lio/flutter/embedding/android/AndroidTouchProcessor;->onGenericMotionEvent(Landroid/view/MotionEvent;Landroid/content/Context;)Z move-result v0 if-eqz v0, :cond_0 const/4 p0, 0x1 goto :goto_0 .line 957 :cond_0 invoke-super {p0, p1}, Landroid/widget/FrameLayout;->onGenericMotionEvent(Landroid/view/MotionEvent;)Z move-result p0 :goto_0 return p0 .end method .method public onHoverEvent(Landroid/view/MotionEvent;)Z .locals 1 .line 973 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->isAttachedToFlutterEngine()Z move-result v0 if-nez v0, :cond_0 .line 974 invoke-super {p0, p1}, Landroid/widget/FrameLayout;->onHoverEvent(Landroid/view/MotionEvent;)Z move-result p0 return p0 :cond_0 iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->accessibilityBridge:Lio/flutter/view/AccessibilityBridge; .line 977 invoke-virtual {p0, p1}, Lio/flutter/view/AccessibilityBridge;->onAccessibilityHoverEvent(Landroid/view/MotionEvent;)Z move-result p0 return p0 .end method .method public onProvideAutofillVirtualStructure(Landroid/view/ViewStructure;I)V .locals 0 .line 1524 invoke-super {p0, p1, p2}, Landroid/widget/FrameLayout;->onProvideAutofillVirtualStructure(Landroid/view/ViewStructure;I)V iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->textInputPlugin:Lio/flutter/plugin/editing/TextInputPlugin; .line 1525 invoke-virtual {p0, p1, p2}, Lio/flutter/plugin/editing/TextInputPlugin;->onProvideAutofillVirtualStructure(Landroid/view/ViewStructure;I)V return-void .end method .method protected onSizeChanged(IIII)V .locals 2 .line 470 invoke-super {p0, p1, p2, p3, p4}, Landroid/widget/FrameLayout;->onSizeChanged(IIII)V .line 471 new-instance v0, Ljava/lang/StringBuilder; const-string v1, "Size changed. Sending Flutter new viewport metrics. FlutterView was " invoke-direct {v0, v1}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v0, p3}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p3 const-string v0, " x " invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p3 invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p3 const-string p4, ", it is now " invoke-virtual {p3, p4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p3 invoke-virtual {p3, p1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p3 invoke-virtual {p3, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object p3 invoke-virtual {p3, p2}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder; move-result-object p3 invoke-virtual {p3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object p3 const-string p4, "FlutterView" invoke-static {p4, p3}, Lio/flutter/Log;->v(Ljava/lang/String;Ljava/lang/String;)V iget-object p3, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 481 iput p1, p3, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->width:I iget-object p1, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 482 iput p2, p1, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->height:I .line 483 invoke-direct {p0}, Lio/flutter/embedding/android/FlutterView;->sendViewportMetricsToFlutter()V return-void .end method .method public onTextInputKeyEvent(Landroid/view/KeyEvent;)Z .locals 0 iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->textInputPlugin:Lio/flutter/plugin/editing/TextInputPlugin; .line 1110 invoke-virtual {p0, p1}, Lio/flutter/plugin/editing/TextInputPlugin;->handleKeyEvent(Landroid/view/KeyEvent;)Z move-result p0 return p0 .end method .method public onTouchEvent(Landroid/view/MotionEvent;)Z .locals 1 .line 929 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->isAttachedToFlutterEngine()Z move-result v0 if-nez v0, :cond_0 .line 930 invoke-super {p0, p1}, Landroid/widget/FrameLayout;->onTouchEvent(Landroid/view/MotionEvent;)Z move-result p0 return p0 .line 939 :cond_0 invoke-virtual {p0, p1}, Lio/flutter/embedding/android/FlutterView;->requestUnbufferedDispatch(Landroid/view/MotionEvent;)V iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->androidTouchProcessor:Lio/flutter/embedding/android/AndroidTouchProcessor; .line 942 invoke-virtual {p0, p1}, Lio/flutter/embedding/android/AndroidTouchProcessor;->onTouchEvent(Landroid/view/MotionEvent;)Z move-result p0 return p0 .end method .method public redispatch(Landroid/view/KeyEvent;)V .locals 0 .line 1115 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getRootView()Landroid/view/View; move-result-object p0 invoke-virtual {p0, p1}, Landroid/view/View;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z return-void .end method .method public removeFlutterEngineAttachmentListener(Lio/flutter/embedding/android/FlutterView$FlutterEngineAttachmentListener;)V .locals 0 iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngineAttachmentListeners:Ljava/util/Set; .line 1448 invoke-interface {p0, p1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z return-void .end method .method public removeOnFirstFrameRenderedListener(Lio/flutter/embedding/engine/renderer/FlutterUiDisplayListener;)V .locals 0 iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->flutterUiDisplayListeners:Ljava/util/Set; .line 429 invoke-interface {p0, p1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z return-void .end method .method public revertImageView(Ljava/lang/Runnable;)V .locals 2 iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterImageView:Lio/flutter/embedding/android/FlutterImageView; const-string v1, "FlutterView" if-nez v0, :cond_0 const-string p0, "Tried to revert the image view, but no image view is used." .line 1354 invoke-static {v1, p0}, Lio/flutter/Log;->v(Ljava/lang/String;Ljava/lang/String;)V return-void :cond_0 iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->previousRenderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; if-nez v0, :cond_1 const-string p0, "Tried to revert the image view, but no previous surface was used." .line 1358 invoke-static {v1, p0}, Lio/flutter/Log;->v(Ljava/lang/String;Ljava/lang/String;)V return-void :cond_1 iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->renderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; const/4 v0, 0x0 iput-object v0, p0, Lio/flutter/embedding/android/FlutterView;->previousRenderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; .line 1364 invoke-virtual {v0}, Lio/flutter/embedding/engine/FlutterEngine;->getRenderer()Lio/flutter/embedding/engine/renderer/FlutterRenderer; move-result-object v0 iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; if-eqz v1, :cond_3 if-nez v0, :cond_2 goto :goto_0 :cond_2 iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->renderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; .line 1374 invoke-interface {v1}, Lio/flutter/embedding/engine/renderer/RenderSurface;->resume()V .line 1378 new-instance v1, Lio/flutter/embedding/android/FlutterView$5; invoke-direct {v1, p0, v0, p1}, Lio/flutter/embedding/android/FlutterView$5;->(Lio/flutter/embedding/android/FlutterView;Lio/flutter/embedding/engine/renderer/FlutterRenderer;Ljava/lang/Runnable;)V invoke-virtual {v0, v1}, Lio/flutter/embedding/engine/renderer/FlutterRenderer;->addIsDisplayingFlutterUiListener(Lio/flutter/embedding/engine/renderer/FlutterUiDisplayListener;)V return-void :cond_3 :goto_0 iget-object v0, p0, Lio/flutter/embedding/android/FlutterView;->flutterImageView:Lio/flutter/embedding/android/FlutterImageView; .line 1367 invoke-virtual {v0}, Lio/flutter/embedding/android/FlutterImageView;->detachFromRenderer()V .line 1368 invoke-direct {p0}, Lio/flutter/embedding/android/FlutterView;->releaseImageView()V .line 1369 invoke-interface {p1}, Ljava/lang/Runnable;->run()V return-void .end method .method sendUserSettingsToFlutter()V .locals 6 .line 1463 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getResources()Landroid/content/res/Resources; move-result-object v0 invoke-virtual {v0}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration; move-result-object v0 iget v0, v0, Landroid/content/res/Configuration;->uiMode:I and-int/lit8 v0, v0, 0x30 const/16 v1, 0x20 if-ne v0, v1, :cond_0 .line 1467 sget-object v0, Lio/flutter/embedding/engine/systemchannels/SettingsChannel$PlatformBrightness;->dark:Lio/flutter/embedding/engine/systemchannels/SettingsChannel$PlatformBrightness; goto :goto_0 .line 1468 :cond_0 sget-object v0, Lio/flutter/embedding/engine/systemchannels/SettingsChannel$PlatformBrightness;->light:Lio/flutter/embedding/engine/systemchannels/SettingsChannel$PlatformBrightness; :goto_0 iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->textServicesManager:Landroid/view/textservice/TextServicesManager; const/4 v2, 0x0 const/4 v3, 0x1 if-eqz v1, :cond_1 iget-object v1, p0, Lio/flutter/embedding/android/FlutterView;->textServicesManager:Landroid/view/textservice/TextServicesManager; .line 1475 invoke-virtual {v1}, Landroid/view/textservice/TextServicesManager;->getEnabledSpellCheckerInfos()Ljava/util/List; move-result-object v1 .line 1477 invoke-interface {v1}, Ljava/util/List;->stream()Ljava/util/stream/Stream; move-result-object v1 new-instance v4, Lio/flutter/embedding/android/FlutterView$$ExternalSyntheticLambda0; invoke-direct {v4}, Lio/flutter/embedding/android/FlutterView$$ExternalSyntheticLambda0;->()V .line 1478 invoke-interface {v1, v4}, Ljava/util/stream/Stream;->anyMatch(Ljava/util/function/Predicate;)Z move-result v1 iget-object v4, p0, Lio/flutter/embedding/android/FlutterView;->textServicesManager:Landroid/view/textservice/TextServicesManager; .line 1487 invoke-virtual {v4}, Landroid/view/textservice/TextServicesManager;->isSpellCheckerEnabled()Z move-result v4 if-eqz v4, :cond_1 if-eqz v1, :cond_1 move v1, v3 goto :goto_1 :cond_1 move v1, v2 :goto_1 iget-object v4, p0, Lio/flutter/embedding/android/FlutterView;->flutterEngine:Lio/flutter/embedding/engine/FlutterEngine; .line 1494 invoke-virtual {v4}, Lio/flutter/embedding/engine/FlutterEngine;->getSettingsChannel()Lio/flutter/embedding/engine/systemchannels/SettingsChannel; move-result-object v4 .line 1495 invoke-virtual {v4}, Lio/flutter/embedding/engine/systemchannels/SettingsChannel;->startMessage()Lio/flutter/embedding/engine/systemchannels/SettingsChannel$MessageBuilder; move-result-object v4 .line 1496 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getResources()Landroid/content/res/Resources; move-result-object v5 invoke-virtual {v5}, Landroid/content/res/Resources;->getConfiguration()Landroid/content/res/Configuration; move-result-object v5 iget v5, v5, Landroid/content/res/Configuration;->fontScale:F invoke-virtual {v4, v5}, Lio/flutter/embedding/engine/systemchannels/SettingsChannel$MessageBuilder;->setTextScaleFactor(F)Lio/flutter/embedding/engine/systemchannels/SettingsChannel$MessageBuilder; move-result-object v4 .line 1497 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getResources()Landroid/content/res/Resources; move-result-object v5 invoke-virtual {v5}, Landroid/content/res/Resources;->getDisplayMetrics()Landroid/util/DisplayMetrics; move-result-object v5 invoke-virtual {v4, v5}, Lio/flutter/embedding/engine/systemchannels/SettingsChannel$MessageBuilder;->setDisplayMetrics(Landroid/util/DisplayMetrics;)Lio/flutter/embedding/engine/systemchannels/SettingsChannel$MessageBuilder; move-result-object v4 .line 1498 invoke-virtual {v4, v1}, Lio/flutter/embedding/engine/systemchannels/SettingsChannel$MessageBuilder;->setNativeSpellCheckServiceDefined(Z)Lio/flutter/embedding/engine/systemchannels/SettingsChannel$MessageBuilder; move-result-object v1 .line 1501 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getContext()Landroid/content/Context; move-result-object v4 invoke-virtual {v4}, Landroid/content/Context;->getContentResolver()Landroid/content/ContentResolver; move-result-object v4 const-string v5, "show_password" .line 1500 invoke-static {v4, v5, v3}, Landroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I move-result v4 if-ne v4, v3, :cond_2 move v2, v3 .line 1499 :cond_2 invoke-virtual {v1, v2}, Lio/flutter/embedding/engine/systemchannels/SettingsChannel$MessageBuilder;->setBrieflyShowPassword(Z)Lio/flutter/embedding/engine/systemchannels/SettingsChannel$MessageBuilder; move-result-object v1 .line 1503 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getContext()Landroid/content/Context; move-result-object p0 invoke-static {p0}, Landroid/text/format/DateFormat;->is24HourFormat(Landroid/content/Context;)Z move-result p0 invoke-virtual {v1, p0}, Lio/flutter/embedding/engine/systemchannels/SettingsChannel$MessageBuilder;->setUse24HourFormat(Z)Lio/flutter/embedding/engine/systemchannels/SettingsChannel$MessageBuilder; move-result-object p0 .line 1504 invoke-virtual {p0, v0}, Lio/flutter/embedding/engine/systemchannels/SettingsChannel$MessageBuilder;->setPlatformBrightness(Lio/flutter/embedding/engine/systemchannels/SettingsChannel$PlatformBrightness;)Lio/flutter/embedding/engine/systemchannels/SettingsChannel$MessageBuilder; move-result-object p0 .line 1505 invoke-virtual {p0}, Lio/flutter/embedding/engine/systemchannels/SettingsChannel$MessageBuilder;->send()V return-void .end method .method public setVisibility(I)V .locals 1 .line 1535 invoke-super {p0, p1}, Landroid/widget/FrameLayout;->setVisibility(I)V iget-object p0, p0, Lio/flutter/embedding/android/FlutterView;->renderSurface:Lio/flutter/embedding/engine/renderer/RenderSurface; .line 1539 instance-of v0, p0, Lio/flutter/embedding/android/FlutterSurfaceView; if-eqz v0, :cond_0 .line 1540 check-cast p0, Lio/flutter/embedding/android/FlutterSurfaceView; invoke-virtual {p0, p1}, Lio/flutter/embedding/android/FlutterSurfaceView;->setVisibility(I)V :cond_0 return-void .end method .method protected setWindowInfoListenerDisplayFeatures(Landroidx/window/layout/WindowLayoutInfo;)V .locals 6 .line 539 invoke-virtual {p1}, Landroidx/window/layout/WindowLayoutInfo;->getDisplayFeatures()Ljava/util/List; move-result-object p1 .line 540 new-instance v0, Ljava/util/ArrayList; invoke-direct {v0}, Ljava/util/ArrayList;->()V .line 544 invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object p1 :goto_0 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v1 const-string v2, "FlutterView" if-eqz v1, :cond_4 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Landroidx/window/layout/DisplayFeature; .line 545 new-instance v3, Ljava/lang/StringBuilder; const-string v4, "WindowInfoTracker Display Feature reported with bounds = " invoke-direct {v3, v4}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V .line 548 invoke-interface {v1}, Landroidx/window/layout/DisplayFeature;->getBounds()Landroid/graphics/Rect; move-result-object v4 invoke-virtual {v4}, Landroid/graphics/Rect;->toString()Ljava/lang/String; move-result-object v4 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 const-string v4, " and type = " invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 .line 550 invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v4 invoke-virtual {v4}, Ljava/lang/Class;->getSimpleName()Ljava/lang/String; move-result-object v4 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 .line 545 invoke-static {v2, v3}, Lio/flutter/Log;->v(Ljava/lang/String;Ljava/lang/String;)V .line 551 instance-of v2, v1, Landroidx/window/layout/FoldingFeature; if-eqz v2, :cond_3 .line 554 move-object v2, v1 check-cast v2, Landroidx/window/layout/FoldingFeature; .line 555 invoke-interface {v2}, Landroidx/window/layout/FoldingFeature;->getOcclusionType()Landroidx/window/layout/FoldingFeature$OcclusionType; move-result-object v3 sget-object v4, Landroidx/window/layout/FoldingFeature$OcclusionType;->FULL:Landroidx/window/layout/FoldingFeature$OcclusionType; if-ne v3, v4, :cond_0 .line 556 sget-object v3, Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeatureType;->HINGE:Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeatureType; goto :goto_1 .line 558 :cond_0 sget-object v3, Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeatureType;->FOLD:Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeatureType; .line 560 :goto_1 invoke-interface {v2}, Landroidx/window/layout/FoldingFeature;->getState()Landroidx/window/layout/FoldingFeature$State; move-result-object v4 sget-object v5, Landroidx/window/layout/FoldingFeature$State;->FLAT:Landroidx/window/layout/FoldingFeature$State; if-ne v4, v5, :cond_1 .line 561 sget-object v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeatureState;->POSTURE_FLAT:Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeatureState; goto :goto_2 .line 562 :cond_1 invoke-interface {v2}, Landroidx/window/layout/FoldingFeature;->getState()Landroidx/window/layout/FoldingFeature$State; move-result-object v2 sget-object v4, Landroidx/window/layout/FoldingFeature$State;->HALF_OPENED:Landroidx/window/layout/FoldingFeature$State; if-ne v2, v4, :cond_2 .line 563 sget-object v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeatureState;->POSTURE_HALF_OPENED:Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeatureState; goto :goto_2 .line 565 :cond_2 sget-object v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeatureState;->UNKNOWN:Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeatureState; .line 567 :goto_2 new-instance v4, Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeature; invoke-interface {v1}, Landroidx/window/layout/DisplayFeature;->getBounds()Landroid/graphics/Rect; move-result-object v1 invoke-direct {v4, v1, v3, v2}, Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeature;->(Landroid/graphics/Rect;Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeatureType;Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeatureState;)V invoke-interface {v0, v4}, Ljava/util/List;->add(Ljava/lang/Object;)Z goto :goto_0 .line 569 :cond_3 new-instance v2, Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeature; .line 571 invoke-interface {v1}, Landroidx/window/layout/DisplayFeature;->getBounds()Landroid/graphics/Rect; move-result-object v1 sget-object v3, Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeatureType;->UNKNOWN:Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeatureType; sget-object v4, Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeatureState;->UNKNOWN:Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeatureState; invoke-direct {v2, v1, v3, v4}, Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeature;->(Landroid/graphics/Rect;Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeatureType;Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeatureState;)V .line 569 invoke-interface {v0, v2}, Ljava/util/List;->add(Ljava/lang/Object;)Z goto/16 :goto_0 .line 580 :cond_4 invoke-virtual {p0}, Lio/flutter/embedding/android/FlutterView;->getRootWindowInsets()Landroid/view/WindowInsets; move-result-object p1 if-eqz p1, :cond_5 .line 582 invoke-virtual {p1}, Landroid/view/WindowInsets;->getDisplayCutout()Landroid/view/DisplayCutout; move-result-object p1 if-eqz p1, :cond_5 .line 584 invoke-virtual {p1}, Landroid/view/DisplayCutout;->getBoundingRects()Ljava/util/List; move-result-object p1 invoke-interface {p1}, Ljava/util/List;->iterator()Ljava/util/Iterator; move-result-object p1 :goto_3 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result v1 if-eqz v1, :cond_5 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object v1 check-cast v1, Landroid/graphics/Rect; .line 585 new-instance v3, Ljava/lang/StringBuilder; const-string v4, "DisplayCutout area reported with bounds = " invoke-direct {v3, v4}, Ljava/lang/StringBuilder;->(Ljava/lang/String;)V invoke-virtual {v1}, Landroid/graphics/Rect;->toString()Ljava/lang/String; move-result-object v4 invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; move-result-object v3 invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v3 invoke-static {v2, v3}, Lio/flutter/Log;->v(Ljava/lang/String;Ljava/lang/String;)V .line 586 new-instance v3, Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeature; sget-object v4, Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeatureType;->CUTOUT:Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeatureType; invoke-direct {v3, v1, v4}, Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeature;->(Landroid/graphics/Rect;Lio/flutter/embedding/engine/renderer/FlutterRenderer$DisplayFeatureType;)V invoke-interface {v0, v3}, Ljava/util/List;->add(Ljava/lang/Object;)Z goto :goto_3 :cond_5 iget-object p1, p0, Lio/flutter/embedding/android/FlutterView;->viewportMetrics:Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics; .line 591 iput-object v0, p1, Lio/flutter/embedding/engine/renderer/FlutterRenderer$ViewportMetrics;->displayFeatures:Ljava/util/List; .line 592 invoke-direct {p0}, Lio/flutter/embedding/android/FlutterView;->sendViewportMetricsToFlutter()V return-void .end method