.class public final Landroidx/window/layout/SidecarCompat; .super Ljava/lang/Object; .source "SidecarCompat.kt" # interfaces .implements Landroidx/window/layout/ExtensionInterfaceCompat; # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/window/layout/SidecarCompat$FirstAttachAdapter;, Landroidx/window/layout/SidecarCompat$TranslatingCallback;, Landroidx/window/layout/SidecarCompat$DistinctElementCallback;, Landroidx/window/layout/SidecarCompat$DistinctSidecarElementCallback;, Landroidx/window/layout/SidecarCompat$Companion; } .end annotation .annotation runtime Lkotlin/Metadata; d1 = { "\u0000T\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010%\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0010\u0002\n\u0002\u0008\u0007\n\u0002\u0010\u000b\n\u0002\u0008\u0006\u0008\u0000\u0018\u0000 !2\u00020\u0001:\u0005!\"#$%B\u000f\u0008\u0016\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u00a2\u0006\u0002\u0010\u0004B\u001b\u0008\u0007\u0012\n\u0008\u0001\u0010\u0005\u001a\u0004\u0018\u00010\u0006\u0012\u0006\u0010\u0007\u001a\u00020\u0008\u00a2\u0006\u0002\u0010\tJ\u0010\u0010\u0014\u001a\u00020\u00152\u0006\u0010\u0016\u001a\u00020\u000cH\u0007J\u0010\u0010\u0017\u001a\u00020\u00182\u0006\u0010\u0016\u001a\u00020\u000cH\u0016J\u0010\u0010\u0019\u001a\u00020\u00182\u0006\u0010\u0016\u001a\u00020\u000cH\u0016J\u0016\u0010\u001a\u001a\u00020\u00182\u0006\u0010\u001b\u001a\u00020\u00132\u0006\u0010\u0016\u001a\u00020\u000cJ\u0010\u0010\u001c\u001a\u00020\u00182\u0006\u0010\u0016\u001a\u00020\u000cH\u0002J\u0010\u0010\u001d\u001a\u00020\u00182\u0006\u0010\u000e\u001a\u00020\u000fH\u0016J\u0010\u0010\u001e\u001a\u00020\u00182\u0006\u0010\u0016\u001a\u00020\u000cH\u0002J\u0008\u0010\u001f\u001a\u00020 H\u0017R\u001a\u0010\n\u001a\u000e\u0012\u0004\u0012\u00020\u000c\u0012\u0004\u0012\u00020\r0\u000bX\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u0010\u0010\u000e\u001a\u0004\u0018\u00010\u000fX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u0013\u0010\u0005\u001a\u0004\u0018\u00010\u0006\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\u0010\u0010\u0011R\u000e\u0010\u0007\u001a\u00020\u0008X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u001a\u0010\u0012\u001a\u000e\u0012\u0004\u0012\u00020\u0013\u0012\u0004\u0012\u00020\u000c0\u000bX\u0082\u0004\u00a2\u0006\u0002\n\u0000\u00a8\u0006&" } d2 = { "Landroidx/window/layout/SidecarCompat;", "Landroidx/window/layout/ExtensionInterfaceCompat;", "context", "Landroid/content/Context;", "(Landroid/content/Context;)V", "sidecar", "Landroidx/window/sidecar/SidecarInterface;", "sidecarAdapter", "Landroidx/window/layout/SidecarAdapter;", "(Landroidx/window/sidecar/SidecarInterface;Landroidx/window/layout/SidecarAdapter;)V", "componentCallbackMap", "", "Landroid/app/Activity;", "Landroid/content/ComponentCallbacks;", "extensionCallback", "Landroidx/window/layout/ExtensionInterfaceCompat$ExtensionCallbackInterface;", "getSidecar", "()Landroidx/window/sidecar/SidecarInterface;", "windowListenerRegisteredContexts", "Landroid/os/IBinder;", "getWindowLayoutInfo", "Landroidx/window/layout/WindowLayoutInfo;", "activity", "onWindowLayoutChangeListenerAdded", "", "onWindowLayoutChangeListenerRemoved", "register", "windowToken", "registerConfigurationChangeListener", "setExtensionCallback", "unregisterComponentCallback", "validateExtensionInterface", "", "Companion", "DistinctElementCallback", "DistinctSidecarElementCallback", "FirstAttachAdapter", "TranslatingCallback", "window_release" } k = 0x1 mv = { 0x1, 0x6, 0x0 } xi = 0x30 .end annotation # static fields .field public static final Companion:Landroidx/window/layout/SidecarCompat$Companion; .field private static final TAG:Ljava/lang/String; = "SidecarCompat" # instance fields .field private final componentCallbackMap:Ljava/util/Map; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Map<", "Landroid/app/Activity;", "Landroid/content/ComponentCallbacks;", ">;" } .end annotation .end field .field private extensionCallback:Landroidx/window/layout/ExtensionInterfaceCompat$ExtensionCallbackInterface; .field private final sidecar:Landroidx/window/sidecar/SidecarInterface; .field private final sidecarAdapter:Landroidx/window/layout/SidecarAdapter; .field private final windowListenerRegisteredContexts:Ljava/util/Map; .annotation system Ldalvik/annotation/Signature; value = { "Ljava/util/Map<", "Landroid/os/IBinder;", "Landroid/app/Activity;", ">;" } .end annotation .end field # direct methods .method static constructor ()V .locals 2 new-instance v0, Landroidx/window/layout/SidecarCompat$Companion; const/4 v1, 0x0 invoke-direct {v0, v1}, Landroidx/window/layout/SidecarCompat$Companion;->(Lkotlin/jvm/internal/DefaultConstructorMarker;)V sput-object v0, Landroidx/window/layout/SidecarCompat;->Companion:Landroidx/window/layout/SidecarCompat$Companion; return-void .end method .method public constructor (Landroid/content/Context;)V .locals 3 const-string v0, "context" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V sget-object v0, Landroidx/window/layout/SidecarCompat;->Companion:Landroidx/window/layout/SidecarCompat$Companion; .line 63 invoke-virtual {v0, p1}, Landroidx/window/layout/SidecarCompat$Companion;->getSidecarCompat$window_release(Landroid/content/Context;)Landroidx/window/sidecar/SidecarInterface; move-result-object p1 .line 64 new-instance v0, Landroidx/window/layout/SidecarAdapter; const/4 v1, 0x0 const/4 v2, 0x1 invoke-direct {v0, v1, v2, v1}, Landroidx/window/layout/SidecarAdapter;->(Landroidx/window/core/SpecificationComputer$VerificationMode;ILkotlin/jvm/internal/DefaultConstructorMarker;)V .line 62 invoke-direct {p0, p1, v0}, Landroidx/window/layout/SidecarCompat;->(Landroidx/window/sidecar/SidecarInterface;Landroidx/window/layout/SidecarAdapter;)V return-void .end method .method public constructor (Landroidx/window/sidecar/SidecarInterface;Landroidx/window/layout/SidecarAdapter;)V .locals 1 const-string v0, "sidecarAdapter" invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 49 invoke-direct {p0}, Ljava/lang/Object;->()V iput-object p1, p0, Landroidx/window/layout/SidecarCompat;->sidecar:Landroidx/window/sidecar/SidecarInterface; iput-object p2, p0, Landroidx/window/layout/SidecarCompat;->sidecarAdapter:Landroidx/window/layout/SidecarAdapter; .line 56 new-instance p1, Ljava/util/LinkedHashMap; invoke-direct {p1}, Ljava/util/LinkedHashMap;->()V check-cast p1, Ljava/util/Map; iput-object p1, p0, Landroidx/window/layout/SidecarCompat;->windowListenerRegisteredContexts:Ljava/util/Map; .line 59 new-instance p1, Ljava/util/LinkedHashMap; invoke-direct {p1}, Ljava/util/LinkedHashMap;->()V check-cast p1, Ljava/util/Map; iput-object p1, p0, Landroidx/window/layout/SidecarCompat;->componentCallbackMap:Ljava/util/Map; return-void .end method .method public static final synthetic access$getExtensionCallback$p(Landroidx/window/layout/SidecarCompat;)Landroidx/window/layout/ExtensionInterfaceCompat$ExtensionCallbackInterface; .locals 0 .line 49 iget-object p0, p0, Landroidx/window/layout/SidecarCompat;->extensionCallback:Landroidx/window/layout/ExtensionInterfaceCompat$ExtensionCallbackInterface; return-object p0 .end method .method public static final synthetic access$getSidecarAdapter$p(Landroidx/window/layout/SidecarCompat;)Landroidx/window/layout/SidecarAdapter; .locals 0 .line 49 iget-object p0, p0, Landroidx/window/layout/SidecarCompat;->sidecarAdapter:Landroidx/window/layout/SidecarAdapter; return-object p0 .end method .method public static final synthetic access$getWindowListenerRegisteredContexts$p(Landroidx/window/layout/SidecarCompat;)Ljava/util/Map; .locals 0 .line 49 iget-object p0, p0, Landroidx/window/layout/SidecarCompat;->windowListenerRegisteredContexts:Ljava/util/Map; return-object p0 .end method .method private final registerConfigurationChangeListener(Landroid/app/Activity;)V .locals 1 iget-object v0, p0, Landroidx/window/layout/SidecarCompat;->componentCallbackMap:Ljava/util/Map; .line 118 invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 if-nez v0, :cond_0 .line 121 new-instance v0, Landroidx/window/layout/SidecarCompat$registerConfigurationChangeListener$configChangeObserver$1; invoke-direct {v0, p0, p1}, Landroidx/window/layout/SidecarCompat$registerConfigurationChangeListener$configChangeObserver$1;->(Landroidx/window/layout/SidecarCompat;Landroid/app/Activity;)V iget-object p0, p0, Landroidx/window/layout/SidecarCompat;->componentCallbackMap:Ljava/util/Map; .line 133 invoke-interface {p0, p1, v0}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; .line 134 check-cast v0, Landroid/content/ComponentCallbacks; invoke-virtual {p1, v0}, Landroid/app/Activity;->registerComponentCallbacks(Landroid/content/ComponentCallbacks;)V :cond_0 return-void .end method .method private final unregisterComponentCallback(Landroid/app/Activity;)V .locals 1 iget-object v0, p0, Landroidx/window/layout/SidecarCompat;->componentCallbackMap:Ljava/util/Map; .line 150 invoke-interface {v0, p1}, Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object; move-result-object v0 check-cast v0, Landroid/content/ComponentCallbacks; .line 151 invoke-virtual {p1, v0}, Landroid/app/Activity;->unregisterComponentCallbacks(Landroid/content/ComponentCallbacks;)V iget-object p0, p0, Landroidx/window/layout/SidecarCompat;->componentCallbackMap:Ljava/util/Map; .line 152 invoke-interface {p0, p1}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object; return-void .end method # virtual methods .method public final getSidecar()Landroidx/window/sidecar/SidecarInterface; .locals 0 iget-object p0, p0, Landroidx/window/layout/SidecarCompat;->sidecar:Landroidx/window/sidecar/SidecarInterface; return-object p0 .end method .method public final getWindowLayoutInfo(Landroid/app/Activity;)Landroidx/window/layout/WindowLayoutInfo; .locals 2 const-string v0, "activity" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V sget-object v0, Landroidx/window/layout/SidecarCompat;->Companion:Landroidx/window/layout/SidecarCompat$Companion; .line 79 invoke-virtual {v0, p1}, Landroidx/window/layout/SidecarCompat$Companion;->getActivityWindowToken$window_release(Landroid/app/Activity;)Landroid/os/IBinder; move-result-object p1 if-nez p1, :cond_0 new-instance p0, Landroidx/window/layout/WindowLayoutInfo; invoke-static {}, Lkotlin/collections/CollectionsKt;->emptyList()Ljava/util/List; move-result-object p1 invoke-direct {p0, p1}, Landroidx/window/layout/WindowLayoutInfo;->(Ljava/util/List;)V return-object p0 :cond_0 iget-object v0, p0, Landroidx/window/layout/SidecarCompat;->sidecar:Landroidx/window/sidecar/SidecarInterface; const/4 v1, 0x0 if-nez v0, :cond_1 move-object p1, v1 goto :goto_0 .line 80 :cond_1 invoke-interface {v0, p1}, Landroidx/window/sidecar/SidecarInterface;->getWindowLayoutInfo(Landroid/os/IBinder;)Landroidx/window/sidecar/SidecarWindowLayoutInfo; move-result-object p1 :goto_0 iget-object v0, p0, Landroidx/window/layout/SidecarCompat;->sidecarAdapter:Landroidx/window/layout/SidecarAdapter; iget-object p0, p0, Landroidx/window/layout/SidecarCompat;->sidecar:Landroidx/window/sidecar/SidecarInterface; if-nez p0, :cond_2 goto :goto_1 .line 83 :cond_2 invoke-interface {p0}, Landroidx/window/sidecar/SidecarInterface;->getDeviceState()Landroidx/window/sidecar/SidecarDeviceState; move-result-object v1 :goto_1 if-nez v1, :cond_3 new-instance v1, Landroidx/window/sidecar/SidecarDeviceState; invoke-direct {v1}, Landroidx/window/sidecar/SidecarDeviceState;->()V .line 81 :cond_3 invoke-virtual {v0, p1, v1}, Landroidx/window/layout/SidecarAdapter;->translate(Landroidx/window/sidecar/SidecarWindowLayoutInfo;Landroidx/window/sidecar/SidecarDeviceState;)Landroidx/window/layout/WindowLayoutInfo; move-result-object p0 return-object p0 .end method .method public onWindowLayoutChangeListenerAdded(Landroid/app/Activity;)V .locals 1 const-string v0, "activity" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V sget-object v0, Landroidx/window/layout/SidecarCompat;->Companion:Landroidx/window/layout/SidecarCompat$Companion; .line 88 invoke-virtual {v0, p1}, Landroidx/window/layout/SidecarCompat$Companion;->getActivityWindowToken$window_release(Landroid/app/Activity;)Landroid/os/IBinder; move-result-object v0 if-eqz v0, :cond_0 .line 90 invoke-virtual {p0, v0, p1}, Landroidx/window/layout/SidecarCompat;->register(Landroid/os/IBinder;Landroid/app/Activity;)V goto :goto_0 .line 92 :cond_0 new-instance v0, Landroidx/window/layout/SidecarCompat$FirstAttachAdapter; invoke-direct {v0, p0, p1}, Landroidx/window/layout/SidecarCompat$FirstAttachAdapter;->(Landroidx/window/layout/SidecarCompat;Landroid/app/Activity;)V .line 93 invoke-virtual {p1}, Landroid/app/Activity;->getWindow()Landroid/view/Window; move-result-object p0 invoke-virtual {p0}, Landroid/view/Window;->getDecorView()Landroid/view/View; move-result-object p0 check-cast v0, Landroid/view/View$OnAttachStateChangeListener; invoke-virtual {p0, v0}, Landroid/view/View;->addOnAttachStateChangeListener(Landroid/view/View$OnAttachStateChangeListener;)V :goto_0 return-void .end method .method public onWindowLayoutChangeListenerRemoved(Landroid/app/Activity;)V .locals 3 const-string v0, "activity" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V sget-object v0, Landroidx/window/layout/SidecarCompat;->Companion:Landroidx/window/layout/SidecarCompat$Companion; .line 139 invoke-virtual {v0, p1}, Landroidx/window/layout/SidecarCompat$Companion;->getActivityWindowToken$window_release(Landroid/app/Activity;)Landroid/os/IBinder; move-result-object v0 if-nez v0, :cond_0 return-void :cond_0 iget-object v1, p0, Landroidx/window/layout/SidecarCompat;->sidecar:Landroidx/window/sidecar/SidecarInterface; if-nez v1, :cond_1 goto :goto_0 .line 140 :cond_1 invoke-interface {v1, v0}, Landroidx/window/sidecar/SidecarInterface;->onWindowLayoutChangeListenerRemoved(Landroid/os/IBinder;)V .line 141 :goto_0 invoke-direct {p0, p1}, Landroidx/window/layout/SidecarCompat;->unregisterComponentCallback(Landroid/app/Activity;)V iget-object p1, p0, Landroidx/window/layout/SidecarCompat;->windowListenerRegisteredContexts:Ljava/util/Map; .line 142 invoke-interface {p1}, Ljava/util/Map;->size()I move-result p1 const/4 v1, 0x1 if-ne p1, v1, :cond_2 move p1, v1 goto :goto_1 :cond_2 const/4 p1, 0x0 :goto_1 iget-object v2, p0, Landroidx/window/layout/SidecarCompat;->windowListenerRegisteredContexts:Ljava/util/Map; .line 143 invoke-interface {v2, v0}, Ljava/util/Map;->remove(Ljava/lang/Object;)Ljava/lang/Object; if-eqz p1, :cond_4 iget-object p0, p0, Landroidx/window/layout/SidecarCompat;->sidecar:Landroidx/window/sidecar/SidecarInterface; if-nez p0, :cond_3 goto :goto_2 .line 145 :cond_3 invoke-interface {p0, v1}, Landroidx/window/sidecar/SidecarInterface;->onDeviceStateListenersChanged(Z)V :cond_4 :goto_2 return-void .end method .method public final register(Landroid/os/IBinder;Landroid/app/Activity;)V .locals 1 const-string v0, "windowToken" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V const-string v0, "activity" invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V iget-object v0, p0, Landroidx/window/layout/SidecarCompat;->windowListenerRegisteredContexts:Ljava/util/Map; .line 104 invoke-interface {v0, p1, p2}, Ljava/util/Map;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; iget-object v0, p0, Landroidx/window/layout/SidecarCompat;->sidecar:Landroidx/window/sidecar/SidecarInterface; if-nez v0, :cond_0 goto :goto_0 .line 105 :cond_0 invoke-interface {v0, p1}, Landroidx/window/sidecar/SidecarInterface;->onWindowLayoutChangeListenerAdded(Landroid/os/IBinder;)V :goto_0 iget-object p1, p0, Landroidx/window/layout/SidecarCompat;->windowListenerRegisteredContexts:Ljava/util/Map; .line 108 invoke-interface {p1}, Ljava/util/Map;->size()I move-result p1 const/4 v0, 0x1 if-ne p1, v0, :cond_2 iget-object p1, p0, Landroidx/window/layout/SidecarCompat;->sidecar:Landroidx/window/sidecar/SidecarInterface; if-nez p1, :cond_1 goto :goto_1 :cond_1 const/4 v0, 0x0 .line 109 invoke-interface {p1, v0}, Landroidx/window/sidecar/SidecarInterface;->onDeviceStateListenersChanged(Z)V :cond_2 :goto_1 iget-object p1, p0, Landroidx/window/layout/SidecarCompat;->extensionCallback:Landroidx/window/layout/ExtensionInterfaceCompat$ExtensionCallbackInterface; if-nez p1, :cond_3 goto :goto_2 .line 111 :cond_3 invoke-virtual {p0, p2}, Landroidx/window/layout/SidecarCompat;->getWindowLayoutInfo(Landroid/app/Activity;)Landroidx/window/layout/WindowLayoutInfo; move-result-object v0 invoke-interface {p1, p2, v0}, Landroidx/window/layout/ExtensionInterfaceCompat$ExtensionCallbackInterface;->onWindowLayoutChanged(Landroid/app/Activity;Landroidx/window/layout/WindowLayoutInfo;)V .line 112 :goto_2 invoke-direct {p0, p2}, Landroidx/window/layout/SidecarCompat;->registerConfigurationChangeListener(Landroid/app/Activity;)V return-void .end method .method public setExtensionCallback(Landroidx/window/layout/ExtensionInterfaceCompat$ExtensionCallbackInterface;)V .locals 3 const-string v0, "extensionCallback" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 68 new-instance v0, Landroidx/window/layout/SidecarCompat$DistinctElementCallback; invoke-direct {v0, p1}, Landroidx/window/layout/SidecarCompat$DistinctElementCallback;->(Landroidx/window/layout/ExtensionInterfaceCompat$ExtensionCallbackInterface;)V check-cast v0, Landroidx/window/layout/ExtensionInterfaceCompat$ExtensionCallbackInterface; iput-object v0, p0, Landroidx/window/layout/SidecarCompat;->extensionCallback:Landroidx/window/layout/ExtensionInterfaceCompat$ExtensionCallbackInterface; iget-object p1, p0, Landroidx/window/layout/SidecarCompat;->sidecar:Landroidx/window/sidecar/SidecarInterface; if-nez p1, :cond_0 goto :goto_0 .line 70 :cond_0 new-instance v0, Landroidx/window/layout/SidecarCompat$DistinctSidecarElementCallback; iget-object v1, p0, Landroidx/window/layout/SidecarCompat;->sidecarAdapter:Landroidx/window/layout/SidecarAdapter; .line 72 new-instance v2, Landroidx/window/layout/SidecarCompat$TranslatingCallback; invoke-direct {v2, p0}, Landroidx/window/layout/SidecarCompat$TranslatingCallback;->(Landroidx/window/layout/SidecarCompat;)V check-cast v2, Landroidx/window/sidecar/SidecarInterface$SidecarCallback; .line 70 invoke-direct {v0, v1, v2}, Landroidx/window/layout/SidecarCompat$DistinctSidecarElementCallback;->(Landroidx/window/layout/SidecarAdapter;Landroidx/window/sidecar/SidecarInterface$SidecarCallback;)V check-cast v0, Landroidx/window/sidecar/SidecarInterface$SidecarCallback; .line 69 invoke-interface {p1, v0}, Landroidx/window/sidecar/SidecarInterface;->setSidecarCallback(Landroidx/window/sidecar/SidecarInterface$SidecarCallback;)V :goto_0 return-void .end method .method public validateExtensionInterface()Z .locals 7 const/4 v0, 0x0 :try_start_0 iget-object v1, p0, Landroidx/window/layout/SidecarCompat;->sidecar:Landroidx/window/sidecar/SidecarInterface; const/4 v2, 0x1 const/4 v3, 0x0 if-nez v1, :cond_0 :goto_0 move-object v1, v3 goto :goto_1 .line 159 :cond_0 invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v1 if-nez v1, :cond_1 goto :goto_0 :cond_1 const-string v4, "setSidecarCallback" new-array v5, v2, [Ljava/lang/Class; .line 161 const-class v6, Landroidx/window/sidecar/SidecarInterface$SidecarCallback; aput-object v6, v5, v0 .line 159 invoke-virtual {v1, v4, v5}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object v1 :goto_1 if-nez v1, :cond_2 move-object v1, v3 goto :goto_2 .line 163 :cond_2 invoke-virtual {v1}, Ljava/lang/reflect/Method;->getReturnType()Ljava/lang/Class; move-result-object v1 .line 164 :goto_2 sget-object v4, Ljava/lang/Void;->TYPE:Ljava/lang/Class; invoke-static {v1, v4}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v4 if-eqz v4, :cond_15 iget-object v1, p0, Landroidx/window/layout/SidecarCompat;->sidecar:Landroidx/window/sidecar/SidecarInterface; if-nez v1, :cond_3 goto :goto_3 .line 173 :cond_3 invoke-interface {v1}, Landroidx/window/sidecar/SidecarInterface;->getDeviceState()Landroidx/window/sidecar/SidecarDeviceState; :goto_3 iget-object v1, p0, Landroidx/window/layout/SidecarCompat;->sidecar:Landroidx/window/sidecar/SidecarInterface; if-nez v1, :cond_4 goto :goto_4 .line 176 :cond_4 invoke-interface {v1, v2}, Landroidx/window/sidecar/SidecarInterface;->onDeviceStateListenersChanged(Z)V :goto_4 iget-object v1, p0, Landroidx/window/layout/SidecarCompat;->sidecar:Landroidx/window/sidecar/SidecarInterface; if-nez v1, :cond_5 :goto_5 move-object v1, v3 goto :goto_6 .line 179 :cond_5 invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v1 if-nez v1, :cond_6 goto :goto_5 :cond_6 const-string v4, "getWindowLayoutInfo" new-array v5, v2, [Ljava/lang/Class; .line 180 const-class v6, Landroid/os/IBinder; aput-object v6, v5, v0 invoke-virtual {v1, v4, v5}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object v1 :goto_6 if-nez v1, :cond_7 move-object v1, v3 goto :goto_7 .line 181 :cond_7 invoke-virtual {v1}, Ljava/lang/reflect/Method;->getReturnType()Ljava/lang/Class; move-result-object v1 .line 182 :goto_7 const-class v4, Landroidx/window/sidecar/SidecarWindowLayoutInfo; invoke-static {v1, v4}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v4 if-eqz v4, :cond_14 iget-object v1, p0, Landroidx/window/layout/SidecarCompat;->sidecar:Landroidx/window/sidecar/SidecarInterface; if-nez v1, :cond_8 :goto_8 move-object v1, v3 goto :goto_9 .line 189 :cond_8 invoke-virtual {v1}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object v1 if-nez v1, :cond_9 goto :goto_8 :cond_9 const-string v4, "onWindowLayoutChangeListenerAdded" new-array v5, v2, [Ljava/lang/Class; .line 190 const-class v6, Landroid/os/IBinder; aput-object v6, v5, v0 invoke-virtual {v1, v4, v5}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object v1 :goto_9 if-nez v1, :cond_a move-object v1, v3 goto :goto_a .line 192 :cond_a invoke-virtual {v1}, Ljava/lang/reflect/Method;->getReturnType()Ljava/lang/Class; move-result-object v1 .line 193 :goto_a sget-object v4, Ljava/lang/Void;->TYPE:Ljava/lang/Class; invoke-static {v1, v4}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result v4 if-eqz v4, :cond_13 iget-object p0, p0, Landroidx/window/layout/SidecarCompat;->sidecar:Landroidx/window/sidecar/SidecarInterface; if-nez p0, :cond_b :goto_b move-object p0, v3 goto :goto_c .line 201 :cond_b invoke-virtual {p0}, Ljava/lang/Object;->getClass()Ljava/lang/Class; move-result-object p0 if-nez p0, :cond_c goto :goto_b :cond_c const-string v1, "onWindowLayoutChangeListenerRemoved" new-array v4, v2, [Ljava/lang/Class; .line 202 const-class v5, Landroid/os/IBinder; aput-object v5, v4, v0 invoke-virtual {p0, v1, v4}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object p0 :goto_c if-nez p0, :cond_d goto :goto_d .line 204 :cond_d invoke-virtual {p0}, Ljava/lang/reflect/Method;->getReturnType()Ljava/lang/Class; move-result-object v3 .line 205 :goto_d sget-object p0, Ljava/lang/Void;->TYPE:Ljava/lang/Class; invoke-static {v3, p0}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result p0 if-eqz p0, :cond_12 .line 213 new-instance p0, Landroidx/window/sidecar/SidecarDeviceState; invoke-direct {p0}, Landroidx/window/sidecar/SidecarDeviceState;->()V :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 const/4 v1, 0x3 .line 218 :try_start_1 iput v1, p0, Landroidx/window/sidecar/SidecarDeviceState;->posture:I :try_end_1 .catch Ljava/lang/NoSuchFieldError; {:try_start_1 .. :try_end_1} :catch_0 .catchall {:try_start_1 .. :try_end_1} :catchall_0 goto :goto_e .line 220 :catch_0 :try_start_2 const-class v3, Landroidx/window/sidecar/SidecarDeviceState; const-string v4, "setPosture" new-array v5, v2, [Ljava/lang/Class; .line 230 sget-object v6, Ljava/lang/Integer;->TYPE:Ljava/lang/Class; aput-object v6, v5, v0 .line 228 invoke-virtual {v3, v4, v5}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object v3 new-array v4, v2, [Ljava/lang/Object; .line 232 invoke-static {v1}, Ljava/lang/Integer;->valueOf(I)Ljava/lang/Integer; move-result-object v5 aput-object v5, v4, v0 invoke-virtual {v3, p0, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; const-class v3, Landroidx/window/sidecar/SidecarDeviceState; const-string v4, "getPosture" new-array v5, v0, [Ljava/lang/Class; .line 233 invoke-virtual {v3, v4, v5}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object v3 new-array v4, v0, [Ljava/lang/Object; .line 234 invoke-virtual {v3, p0, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 if-eqz p0, :cond_11 check-cast p0, Ljava/lang/Integer; invoke-virtual {p0}, Ljava/lang/Integer;->intValue()I move-result p0 if-ne p0, v1, :cond_10 .line 241 :goto_e new-instance p0, Landroidx/window/sidecar/SidecarDisplayFeature; invoke-direct {p0}, Landroidx/window/sidecar/SidecarDisplayFeature;->()V .line 244 invoke-virtual {p0}, Landroidx/window/sidecar/SidecarDisplayFeature;->getRect()Landroid/graphics/Rect; move-result-object v1 const-string v3, "displayFeature.rect" invoke-static {v1, v3}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullExpressionValue(Ljava/lang/Object;Ljava/lang/String;)V .line 245 invoke-virtual {p0, v1}, Landroidx/window/sidecar/SidecarDisplayFeature;->setRect(Landroid/graphics/Rect;)V .line 249 invoke-virtual {p0}, Landroidx/window/sidecar/SidecarDisplayFeature;->getType()I .line 250 invoke-virtual {p0, v2}, Landroidx/window/sidecar/SidecarDisplayFeature;->setType(I)V .line 253 new-instance v1, Landroidx/window/sidecar/SidecarWindowLayoutInfo; invoke-direct {v1}, Landroidx/window/sidecar/SidecarWindowLayoutInfo;->()V :try_end_2 .catchall {:try_start_2 .. :try_end_2} :catchall_0 .line 258 :try_start_3 iget-object p0, v1, Landroidx/window/sidecar/SidecarWindowLayoutInfo;->displayFeatures:Ljava/util/List; :try_end_3 .catch Ljava/lang/NoSuchFieldError; {:try_start_3 .. :try_end_3} :catch_1 .catchall {:try_start_3 .. :try_end_3} :catchall_0 goto :goto_f .line 269 :catch_1 :try_start_4 new-instance v3, Ljava/util/ArrayList; invoke-direct {v3}, Ljava/util/ArrayList;->()V check-cast v3, Ljava/util/List; .line 270 invoke-interface {v3, p0}, Ljava/util/List;->add(Ljava/lang/Object;)Z const-class p0, Landroidx/window/sidecar/SidecarWindowLayoutInfo; const-string v4, "setDisplayFeatures" new-array v5, v2, [Ljava/lang/Class; .line 272 const-class v6, Ljava/util/List; aput-object v6, v5, v0 .line 271 invoke-virtual {p0, v4, v5}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object p0 .line 274 filled-new-array {v3}, [Ljava/lang/Object; move-result-object v4 invoke-virtual {p0, v1, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; const-class p0, Landroidx/window/sidecar/SidecarWindowLayoutInfo; const-string v4, "getDisplayFeatures" new-array v5, v0, [Ljava/lang/Class; .line 275 invoke-virtual {p0, v4, v5}, Ljava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method; move-result-object p0 new-array v4, v0, [Ljava/lang/Object; .line 280 invoke-virtual {p0, v1, v4}, Ljava/lang/reflect/Method;->invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; move-result-object p0 if-eqz p0, :cond_f check-cast p0, Ljava/util/List; .line 281 invoke-static {v3, p0}, Lkotlin/jvm/internal/Intrinsics;->areEqual(Ljava/lang/Object;Ljava/lang/Object;)Z move-result p0 if-eqz p0, :cond_e :goto_f move v0, v2 goto :goto_10 .line 282 :cond_e new-instance p0, Ljava/lang/Exception; const-string v1, "Invalid display feature getter/setter" invoke-direct {p0, v1}, Ljava/lang/Exception;->(Ljava/lang/String;)V throw p0 .line 280 :cond_f new-instance p0, Ljava/lang/NullPointerException; const-string v1, "null cannot be cast to non-null type kotlin.collections.List" invoke-direct {p0, v1}, Ljava/lang/NullPointerException;->(Ljava/lang/String;)V throw p0 .line 236 :cond_10 new-instance p0, Ljava/lang/Exception; const-string v1, "Invalid device posture getter/setter" invoke-direct {p0, v1}, Ljava/lang/Exception;->(Ljava/lang/String;)V throw p0 .line 234 :cond_11 new-instance p0, Ljava/lang/NullPointerException; const-string v1, "null cannot be cast to non-null type kotlin.Int" invoke-direct {p0, v1}, Ljava/lang/NullPointerException;->(Ljava/lang/String;)V throw p0 .line 206 :cond_12 new-instance p0, Ljava/lang/NoSuchMethodException; const-string v1, "Illegal return type for \'onWindowLayoutChangeListenerRemoved\': " .line 207 invoke-static {v1, v3}, Lkotlin/jvm/internal/Intrinsics;->stringPlus(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String; move-result-object v1 .line 206 invoke-direct {p0, v1}, Ljava/lang/NoSuchMethodException;->(Ljava/lang/String;)V throw p0 .line 194 :cond_13 new-instance p0, Ljava/lang/NoSuchMethodException; const-string v2, "Illegal return type for \'onWindowLayoutChangeListenerAdded\': " .line 195 invoke-static {v2, v1}, Lkotlin/jvm/internal/Intrinsics;->stringPlus(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String; move-result-object v1 .line 194 invoke-direct {p0, v1}, Ljava/lang/NoSuchMethodException;->(Ljava/lang/String;)V throw p0 .line 183 :cond_14 new-instance p0, Ljava/lang/NoSuchMethodException; const-string v2, "Illegal return type for \'getWindowLayoutInfo\': " .line 184 invoke-static {v2, v1}, Lkotlin/jvm/internal/Intrinsics;->stringPlus(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String; move-result-object v1 .line 183 invoke-direct {p0, v1}, Ljava/lang/NoSuchMethodException;->(Ljava/lang/String;)V throw p0 .line 165 :cond_15 new-instance p0, Ljava/lang/NoSuchMethodException; const-string v2, "Illegal return type for \'setSidecarCallback\': " .line 166 invoke-static {v2, v1}, Lkotlin/jvm/internal/Intrinsics;->stringPlus(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String; move-result-object v1 .line 165 invoke-direct {p0, v1}, Ljava/lang/NoSuchMethodException;->(Ljava/lang/String;)V throw p0 :try_end_4 .catchall {:try_start_4 .. :try_end_4} :catchall_0 :catchall_0 :goto_10 return v0 .end method