Files
ctf/2024/insomnihack/mobile/Notes/smali/androidx/activity/OnBackPressedDispatcher.smali
2025-06-06 03:13:31 +02:00

891 lines
28 KiB
Smali

.class public final Landroidx/activity/OnBackPressedDispatcher;
.super Ljava/lang/Object;
.source "OnBackPressedDispatcher.kt"
# annotations
.annotation system Ldalvik/annotation/MemberClasses;
value = {
Landroidx/activity/OnBackPressedDispatcher$Api33Impl;,
Landroidx/activity/OnBackPressedDispatcher$Api34Impl;,
Landroidx/activity/OnBackPressedDispatcher$LifecycleOnBackPressedCancellable;,
Landroidx/activity/OnBackPressedDispatcher$OnBackPressedCancellable;
}
.end annotation
.annotation system Ldalvik/annotation/SourceDebugExtension;
value = "SMAP\nOnBackPressedDispatcher.kt\nKotlin\n*S Kotlin\n*F\n+ 1 OnBackPressedDispatcher.kt\nandroidx/activity/OnBackPressedDispatcher\n+ 2 _Collections.kt\nkotlin/collections/CollectionsKt___CollectionsKt\n*L\n1#1,430:1\n1747#2,3:431\n533#2,6:434\n533#2,6:440\n533#2,6:446\n533#2,6:452\n*S KotlinDebug\n*F\n+ 1 OnBackPressedDispatcher.kt\nandroidx/activity/OnBackPressedDispatcher\n*L\n114#1:431,3\n233#1:434,6\n251#1:440,6\n271#1:446,6\n290#1:452,6\n*E\n"
.end annotation
.annotation runtime Lkotlin/Metadata;
d1 = {
"\u0000T\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u000b\n\u0002\u0008\u0004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0002\u0008\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0008\u0004\n\u0002\u0018\u0002\n\u0002\u0008\u000f\u0018\u00002\u00020\u0001:\u0004)*+,B\u0013\u0008\u0017\u0012\n\u0008\u0002\u0010\u0002\u001a\u0004\u0018\u00010\u0003\u00a2\u0006\u0002\u0010\u0004B\u001f\u0012\u0008\u0010\u0002\u001a\u0004\u0018\u00010\u0003\u0012\u000e\u0010\u0005\u001a\n\u0012\u0004\u0012\u00020\u0007\u0018\u00010\u0006\u00a2\u0006\u0002\u0010\u0008J\u0010\u0010\u0013\u001a\u00020\u00142\u0006\u0010\u0015\u001a\u00020\u000cH\u0007J\u0018\u0010\u0013\u001a\u00020\u00142\u0006\u0010\u0016\u001a\u00020\u00172\u0006\u0010\u0015\u001a\u00020\u000cH\u0007J\u0015\u0010\u0018\u001a\u00020\u00192\u0006\u0010\u0015\u001a\u00020\u000cH\u0001\u00a2\u0006\u0002\u0008\u001aJ\u0008\u0010\u001b\u001a\u00020\u0014H\u0007J\u0010\u0010\u001c\u001a\u00020\u00142\u0006\u0010\u001d\u001a\u00020\u001eH\u0007J\u0010\u0010\u001f\u001a\u00020\u00142\u0006\u0010\u001d\u001a\u00020\u001eH\u0007J\u0008\u0010\n\u001a\u00020\u0007H\u0007J\u0008\u0010 \u001a\u00020\u0014H\u0003J\u0008\u0010!\u001a\u00020\u0014H\u0007J\u0010\u0010\"\u001a\u00020\u00142\u0006\u0010\u001d\u001a\u00020\u001eH\u0003J\u0010\u0010#\u001a\u00020\u00142\u0006\u0010\u001d\u001a\u00020\u001eH\u0003J\u0010\u0010$\u001a\u00020\u00142\u0006\u0010%\u001a\u00020\u000eH\u0007J\u0010\u0010&\u001a\u00020\u00142\u0006\u0010\'\u001a\u00020\u0007H\u0003J\u0008\u0010(\u001a\u00020\u0014H\u0002R\u000e\u0010\t\u001a\u00020\u0007X\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u0010\u0010\u0002\u001a\u0004\u0018\u00010\u0003X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\n\u001a\u00020\u0007X\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u0010\u0010\u000b\u001a\u0004\u0018\u00010\u000cX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u0010\u0010\r\u001a\u0004\u0018\u00010\u000eX\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u0010\u0010\u000f\u001a\u0004\u0018\u00010\u0010X\u0082\u000e\u00a2\u0006\u0002\n\u0000R\u0014\u0010\u0011\u001a\u0008\u0012\u0004\u0012\u00020\u000c0\u0012X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u0016\u0010\u0005\u001a\n\u0012\u0004\u0012\u00020\u0007\u0018\u00010\u0006X\u0082\u0004\u00a2\u0006\u0002\n\u0000\u00a8\u0006-"
}
d2 = {
"Landroidx/activity/OnBackPressedDispatcher;",
"",
"fallbackOnBackPressed",
"Ljava/lang/Runnable;",
"(Ljava/lang/Runnable;)V",
"onHasEnabledCallbacksChanged",
"Landroidx/core/util/Consumer;",
"",
"(Ljava/lang/Runnable;Landroidx/core/util/Consumer;)V",
"backInvokedCallbackRegistered",
"hasEnabledCallbacks",
"inProgressCallback",
"Landroidx/activity/OnBackPressedCallback;",
"invokedDispatcher",
"Landroid/window/OnBackInvokedDispatcher;",
"onBackInvokedCallback",
"Landroid/window/OnBackInvokedCallback;",
"onBackPressedCallbacks",
"Lkotlin/collections/ArrayDeque;",
"addCallback",
"",
"onBackPressedCallback",
"owner",
"Landroidx/lifecycle/LifecycleOwner;",
"addCancellableCallback",
"Landroidx/activity/Cancellable;",
"addCancellableCallback$activity_release",
"dispatchOnBackCancelled",
"dispatchOnBackProgressed",
"backEvent",
"Landroidx/activity/BackEventCompat;",
"dispatchOnBackStarted",
"onBackCancelled",
"onBackPressed",
"onBackProgressed",
"onBackStarted",
"setOnBackInvokedDispatcher",
"invoker",
"updateBackInvokedCallbackState",
"shouldBeRegistered",
"updateEnabledCallbacks",
"Api33Impl",
"Api34Impl",
"LifecycleOnBackPressedCancellable",
"OnBackPressedCancellable",
"activity_release"
}
k = 0x1
mv = {
0x1,
0x8,
0x0
}
xi = 0x30
.end annotation
# instance fields
.field private backInvokedCallbackRegistered:Z
.field private final fallbackOnBackPressed:Ljava/lang/Runnable;
.field private hasEnabledCallbacks:Z
.field private inProgressCallback:Landroidx/activity/OnBackPressedCallback;
.field private invokedDispatcher:Landroid/window/OnBackInvokedDispatcher;
.field private onBackInvokedCallback:Landroid/window/OnBackInvokedCallback;
.field private final onBackPressedCallbacks:Lkotlin/collections/ArrayDeque;
.annotation system Ldalvik/annotation/Signature;
value = {
"Lkotlin/collections/ArrayDeque<",
"Landroidx/activity/OnBackPressedCallback;",
">;"
}
.end annotation
.end field
.field private final onHasEnabledCallbacksChanged:Landroidx/core/util/Consumer;
.annotation system Ldalvik/annotation/Signature;
value = {
"Landroidx/core/util/Consumer<",
"Ljava/lang/Boolean;",
">;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>()V
.locals 2
const/4 v0, 0x0
const/4 v1, 0x1
invoke-direct {p0, v0, v1, v0}, Landroidx/activity/OnBackPressedDispatcher;-><init>(Ljava/lang/Runnable;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
return-void
.end method
.method public constructor <init>(Ljava/lang/Runnable;)V
.locals 1
const/4 v0, 0x0
.line 77
invoke-direct {p0, p1, v0}, Landroidx/activity/OnBackPressedDispatcher;-><init>(Ljava/lang/Runnable;Landroidx/core/util/Consumer;)V
return-void
.end method
.method public synthetic constructor <init>(Ljava/lang/Runnable;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
.locals 0
and-int/lit8 p2, p2, 0x1
if-eqz p2, :cond_0
const/4 p1, 0x0
.line 75
:cond_0
invoke-direct {p0, p1}, Landroidx/activity/OnBackPressedDispatcher;-><init>(Ljava/lang/Runnable;)V
return-void
.end method
.method public constructor <init>(Ljava/lang/Runnable;Landroidx/core/util/Consumer;)V
.locals 3
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Ljava/lang/Runnable;",
"Landroidx/core/util/Consumer<",
"Ljava/lang/Boolean;",
">;)V"
}
.end annotation
.line 63
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 64
iput-object p1, p0, Landroidx/activity/OnBackPressedDispatcher;->fallbackOnBackPressed:Ljava/lang/Runnable;
.line 65
iput-object p2, p0, Landroidx/activity/OnBackPressedDispatcher;->onHasEnabledCallbacksChanged:Landroidx/core/util/Consumer;
.line 67
new-instance p1, Lkotlin/collections/ArrayDeque;
invoke-direct {p1}, Lkotlin/collections/ArrayDeque;-><init>()V
iput-object p1, p0, Landroidx/activity/OnBackPressedDispatcher;->onBackPressedCallbacks:Lkotlin/collections/ArrayDeque;
.line 125
sget p1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 p2, 0x21
if-lt p1, p2, :cond_1
.line 126
sget p1, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 p2, 0x22
if-lt p1, p2, :cond_0
.line 127
sget-object p1, Landroidx/activity/OnBackPressedDispatcher$Api34Impl;->INSTANCE:Landroidx/activity/OnBackPressedDispatcher$Api34Impl;
new-instance p2, Landroidx/activity/OnBackPressedDispatcher$1;
invoke-direct {p2, p0}, Landroidx/activity/OnBackPressedDispatcher$1;-><init>(Landroidx/activity/OnBackPressedDispatcher;)V
check-cast p2, Lkotlin/jvm/functions/Function1;
new-instance v0, Landroidx/activity/OnBackPressedDispatcher$2;
invoke-direct {v0, p0}, Landroidx/activity/OnBackPressedDispatcher$2;-><init>(Landroidx/activity/OnBackPressedDispatcher;)V
check-cast v0, Lkotlin/jvm/functions/Function1;
new-instance v1, Landroidx/activity/OnBackPressedDispatcher$3;
invoke-direct {v1, p0}, Landroidx/activity/OnBackPressedDispatcher$3;-><init>(Landroidx/activity/OnBackPressedDispatcher;)V
check-cast v1, Lkotlin/jvm/functions/Function0;
new-instance v2, Landroidx/activity/OnBackPressedDispatcher$4;
invoke-direct {v2, p0}, Landroidx/activity/OnBackPressedDispatcher$4;-><init>(Landroidx/activity/OnBackPressedDispatcher;)V
check-cast v2, Lkotlin/jvm/functions/Function0;
invoke-virtual {p1, p2, v0, v1, v2}, Landroidx/activity/OnBackPressedDispatcher$Api34Impl;->createOnBackAnimationCallback(Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function0;Lkotlin/jvm/functions/Function0;)Landroid/window/OnBackInvokedCallback;
move-result-object p1
goto :goto_0
.line 134
:cond_0
sget-object p1, Landroidx/activity/OnBackPressedDispatcher$Api33Impl;->INSTANCE:Landroidx/activity/OnBackPressedDispatcher$Api33Impl;
new-instance p2, Landroidx/activity/OnBackPressedDispatcher$5;
invoke-direct {p2, p0}, Landroidx/activity/OnBackPressedDispatcher$5;-><init>(Landroidx/activity/OnBackPressedDispatcher;)V
check-cast p2, Lkotlin/jvm/functions/Function0;
invoke-virtual {p1, p2}, Landroidx/activity/OnBackPressedDispatcher$Api33Impl;->createOnBackInvokedCallback(Lkotlin/jvm/functions/Function0;)Landroid/window/OnBackInvokedCallback;
move-result-object p1
.line 126
:goto_0
iput-object p1, p0, Landroidx/activity/OnBackPressedDispatcher;->onBackInvokedCallback:Landroid/window/OnBackInvokedCallback;
:cond_1
return-void
.end method
.method public static final synthetic access$getInProgressCallback$p(Landroidx/activity/OnBackPressedDispatcher;)Landroidx/activity/OnBackPressedCallback;
.locals 0
.line 63
iget-object p0, p0, Landroidx/activity/OnBackPressedDispatcher;->inProgressCallback:Landroidx/activity/OnBackPressedCallback;
return-object p0
.end method
.method public static final synthetic access$getOnBackPressedCallbacks$p(Landroidx/activity/OnBackPressedDispatcher;)Lkotlin/collections/ArrayDeque;
.locals 0
.line 63
iget-object p0, p0, Landroidx/activity/OnBackPressedDispatcher;->onBackPressedCallbacks:Lkotlin/collections/ArrayDeque;
return-object p0
.end method
.method public static final synthetic access$onBackCancelled(Landroidx/activity/OnBackPressedDispatcher;)V
.locals 0
.line 63
invoke-direct {p0}, Landroidx/activity/OnBackPressedDispatcher;->onBackCancelled()V
return-void
.end method
.method public static final synthetic access$onBackProgressed(Landroidx/activity/OnBackPressedDispatcher;Landroidx/activity/BackEventCompat;)V
.locals 0
.line 63
invoke-direct {p0, p1}, Landroidx/activity/OnBackPressedDispatcher;->onBackProgressed(Landroidx/activity/BackEventCompat;)V
return-void
.end method
.method public static final synthetic access$onBackStarted(Landroidx/activity/OnBackPressedDispatcher;Landroidx/activity/BackEventCompat;)V
.locals 0
.line 63
invoke-direct {p0, p1}, Landroidx/activity/OnBackPressedDispatcher;->onBackStarted(Landroidx/activity/BackEventCompat;)V
return-void
.end method
.method public static final synthetic access$setInProgressCallback$p(Landroidx/activity/OnBackPressedDispatcher;Landroidx/activity/OnBackPressedCallback;)V
.locals 0
.line 63
iput-object p1, p0, Landroidx/activity/OnBackPressedDispatcher;->inProgressCallback:Landroidx/activity/OnBackPressedCallback;
return-void
.end method
.method public static final synthetic access$updateEnabledCallbacks(Landroidx/activity/OnBackPressedDispatcher;)V
.locals 0
.line 63
invoke-direct {p0}, Landroidx/activity/OnBackPressedDispatcher;->updateEnabledCallbacks()V
return-void
.end method
.method private final onBackCancelled()V
.locals 4
.line 290
iget-object v0, p0, Landroidx/activity/OnBackPressedDispatcher;->onBackPressedCallbacks:Lkotlin/collections/ArrayDeque;
check-cast v0, Ljava/util/List;
.line 452
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v1
invoke-interface {v0, v1}, Ljava/util/List;->listIterator(I)Ljava/util/ListIterator;
move-result-object v0
.line 453
:cond_0
invoke-interface {v0}, Ljava/util/ListIterator;->hasPrevious()Z
move-result v1
const/4 v2, 0x0
if-eqz v1, :cond_1
.line 454
invoke-interface {v0}, Ljava/util/ListIterator;->previous()Ljava/lang/Object;
move-result-object v1
.line 455
move-object v3, v1
check-cast v3, Landroidx/activity/OnBackPressedCallback;
.line 291
invoke-virtual {v3}, Landroidx/activity/OnBackPressedCallback;->isEnabled()Z
move-result v3
if-eqz v3, :cond_0
goto :goto_0
:cond_1
move-object v1, v2
.line 290
:goto_0
check-cast v1, Landroidx/activity/OnBackPressedCallback;
.line 293
iput-object v2, p0, Landroidx/activity/OnBackPressedDispatcher;->inProgressCallback:Landroidx/activity/OnBackPressedCallback;
if-eqz v1, :cond_2
.line 295
invoke-virtual {v1}, Landroidx/activity/OnBackPressedCallback;->handleOnBackCancelled()V
:cond_2
return-void
.end method
.method private final onBackProgressed(Landroidx/activity/BackEventCompat;)V
.locals 3
.line 251
iget-object v0, p0, Landroidx/activity/OnBackPressedDispatcher;->onBackPressedCallbacks:Lkotlin/collections/ArrayDeque;
check-cast v0, Ljava/util/List;
.line 440
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v1
invoke-interface {v0, v1}, Ljava/util/List;->listIterator(I)Ljava/util/ListIterator;
move-result-object v0
.line 441
:cond_0
invoke-interface {v0}, Ljava/util/ListIterator;->hasPrevious()Z
move-result v1
if-eqz v1, :cond_1
.line 442
invoke-interface {v0}, Ljava/util/ListIterator;->previous()Ljava/lang/Object;
move-result-object v1
.line 443
move-object v2, v1
check-cast v2, Landroidx/activity/OnBackPressedCallback;
.line 252
invoke-virtual {v2}, Landroidx/activity/OnBackPressedCallback;->isEnabled()Z
move-result v2
if-eqz v2, :cond_0
goto :goto_0
:cond_1
const/4 v1, 0x0
.line 251
:goto_0
check-cast v1, Landroidx/activity/OnBackPressedCallback;
if-eqz v1, :cond_2
.line 255
invoke-virtual {v1, p1}, Landroidx/activity/OnBackPressedCallback;->handleOnBackProgressed(Landroidx/activity/BackEventCompat;)V
:cond_2
return-void
.end method
.method private final onBackStarted(Landroidx/activity/BackEventCompat;)V
.locals 3
.line 233
iget-object v0, p0, Landroidx/activity/OnBackPressedDispatcher;->onBackPressedCallbacks:Lkotlin/collections/ArrayDeque;
check-cast v0, Ljava/util/List;
.line 434
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v1
invoke-interface {v0, v1}, Ljava/util/List;->listIterator(I)Ljava/util/ListIterator;
move-result-object v0
.line 435
:cond_0
invoke-interface {v0}, Ljava/util/ListIterator;->hasPrevious()Z
move-result v1
if-eqz v1, :cond_1
.line 436
invoke-interface {v0}, Ljava/util/ListIterator;->previous()Ljava/lang/Object;
move-result-object v1
.line 437
move-object v2, v1
check-cast v2, Landroidx/activity/OnBackPressedCallback;
.line 234
invoke-virtual {v2}, Landroidx/activity/OnBackPressedCallback;->isEnabled()Z
move-result v2
if-eqz v2, :cond_0
goto :goto_0
:cond_1
const/4 v1, 0x0
.line 233
:goto_0
check-cast v1, Landroidx/activity/OnBackPressedCallback;
.line 236
iput-object v1, p0, Landroidx/activity/OnBackPressedDispatcher;->inProgressCallback:Landroidx/activity/OnBackPressedCallback;
if-eqz v1, :cond_2
.line 238
invoke-virtual {v1, p1}, Landroidx/activity/OnBackPressedCallback;->handleOnBackStarted(Landroidx/activity/BackEventCompat;)V
:cond_2
return-void
.end method
.method private final updateBackInvokedCallbackState(Z)V
.locals 4
.line 92
iget-object v0, p0, Landroidx/activity/OnBackPressedDispatcher;->invokedDispatcher:Landroid/window/OnBackInvokedDispatcher;
.line 93
iget-object v1, p0, Landroidx/activity/OnBackPressedDispatcher;->onBackInvokedCallback:Landroid/window/OnBackInvokedCallback;
if-eqz v0, :cond_1
if-eqz v1, :cond_1
const/4 v2, 0x0
if-eqz p1, :cond_0
.line 95
iget-boolean v3, p0, Landroidx/activity/OnBackPressedDispatcher;->backInvokedCallbackRegistered:Z
if-nez v3, :cond_0
.line 96
sget-object p1, Landroidx/activity/OnBackPressedDispatcher$Api33Impl;->INSTANCE:Landroidx/activity/OnBackPressedDispatcher$Api33Impl;
invoke-virtual {p1, v0, v2, v1}, Landroidx/activity/OnBackPressedDispatcher$Api33Impl;->registerOnBackInvokedCallback(Ljava/lang/Object;ILjava/lang/Object;)V
const/4 p1, 0x1
.line 101
iput-boolean p1, p0, Landroidx/activity/OnBackPressedDispatcher;->backInvokedCallbackRegistered:Z
goto :goto_0
:cond_0
if-nez p1, :cond_1
.line 102
iget-boolean p1, p0, Landroidx/activity/OnBackPressedDispatcher;->backInvokedCallbackRegistered:Z
if-eqz p1, :cond_1
.line 103
sget-object p1, Landroidx/activity/OnBackPressedDispatcher$Api33Impl;->INSTANCE:Landroidx/activity/OnBackPressedDispatcher$Api33Impl;
invoke-virtual {p1, v0, v1}, Landroidx/activity/OnBackPressedDispatcher$Api33Impl;->unregisterOnBackInvokedCallback(Ljava/lang/Object;Ljava/lang/Object;)V
.line 107
iput-boolean v2, p0, Landroidx/activity/OnBackPressedDispatcher;->backInvokedCallbackRegistered:Z
:cond_1
:goto_0
return-void
.end method
.method private final updateEnabledCallbacks()V
.locals 4
.line 113
iget-boolean v0, p0, Landroidx/activity/OnBackPressedDispatcher;->hasEnabledCallbacks:Z
.line 114
iget-object v1, p0, Landroidx/activity/OnBackPressedDispatcher;->onBackPressedCallbacks:Lkotlin/collections/ArrayDeque;
check-cast v1, Ljava/lang/Iterable;
.line 431
instance-of v2, v1, Ljava/util/Collection;
const/4 v3, 0x0
if-eqz v2, :cond_0
move-object v2, v1
check-cast v2, Ljava/util/Collection;
invoke-interface {v2}, Ljava/util/Collection;->isEmpty()Z
move-result v2
if-eqz v2, :cond_0
goto :goto_0
.line 432
:cond_0
invoke-interface {v1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object v1
:cond_1
invoke-interface {v1}, Ljava/util/Iterator;->hasNext()Z
move-result v2
if-eqz v2, :cond_2
invoke-interface {v1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v2
check-cast v2, Landroidx/activity/OnBackPressedCallback;
.line 114
invoke-virtual {v2}, Landroidx/activity/OnBackPressedCallback;->isEnabled()Z
move-result v2
if-eqz v2, :cond_1
const/4 v3, 0x1
.line 115
:cond_2
:goto_0
iput-boolean v3, p0, Landroidx/activity/OnBackPressedDispatcher;->hasEnabledCallbacks:Z
if-eq v3, v0, :cond_4
.line 117
iget-object v0, p0, Landroidx/activity/OnBackPressedDispatcher;->onHasEnabledCallbacksChanged:Landroidx/core/util/Consumer;
if-eqz v0, :cond_3
invoke-static {v3}, Ljava/lang/Boolean;->valueOf(Z)Ljava/lang/Boolean;
move-result-object v1
invoke-interface {v0, v1}, Landroidx/core/util/Consumer;->accept(Ljava/lang/Object;)V
.line 118
:cond_3
sget v0, Landroid/os/Build$VERSION;->SDK_INT:I
const/16 v1, 0x21
if-lt v0, v1, :cond_4
.line 119
invoke-direct {p0, v3}, Landroidx/activity/OnBackPressedDispatcher;->updateBackInvokedCallbackState(Z)V
:cond_4
return-void
.end method
# virtual methods
.method public final addCallback(Landroidx/activity/OnBackPressedCallback;)V
.locals 1
const-string v0, "onBackPressedCallback"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 155
invoke-virtual {p0, p1}, Landroidx/activity/OnBackPressedDispatcher;->addCancellableCallback$activity_release(Landroidx/activity/OnBackPressedCallback;)Landroidx/activity/Cancellable;
return-void
.end method
.method public final addCallback(Landroidx/lifecycle/LifecycleOwner;Landroidx/activity/OnBackPressedCallback;)V
.locals 2
const-string v0, "owner"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
const-string v0, "onBackPressedCallback"
invoke-static {p2, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 205
invoke-interface {p1}, Landroidx/lifecycle/LifecycleOwner;->getLifecycle()Landroidx/lifecycle/Lifecycle;
move-result-object p1
.line 206
invoke-virtual {p1}, Landroidx/lifecycle/Lifecycle;->getCurrentState()Landroidx/lifecycle/Lifecycle$State;
move-result-object v0
sget-object v1, Landroidx/lifecycle/Lifecycle$State;->DESTROYED:Landroidx/lifecycle/Lifecycle$State;
if-ne v0, v1, :cond_0
return-void
.line 210
:cond_0
new-instance v0, Landroidx/activity/OnBackPressedDispatcher$LifecycleOnBackPressedCancellable;
invoke-direct {v0, p0, p1, p2}, Landroidx/activity/OnBackPressedDispatcher$LifecycleOnBackPressedCancellable;-><init>(Landroidx/activity/OnBackPressedDispatcher;Landroidx/lifecycle/Lifecycle;Landroidx/activity/OnBackPressedCallback;)V
check-cast v0, Landroidx/activity/Cancellable;
.line 209
invoke-virtual {p2, v0}, Landroidx/activity/OnBackPressedCallback;->addCancellable(Landroidx/activity/Cancellable;)V
.line 212
invoke-direct {p0}, Landroidx/activity/OnBackPressedDispatcher;->updateEnabledCallbacks()V
.line 213
new-instance p1, Landroidx/activity/OnBackPressedDispatcher$addCallback$1;
invoke-direct {p1, p0}, Landroidx/activity/OnBackPressedDispatcher$addCallback$1;-><init>(Ljava/lang/Object;)V
check-cast p1, Lkotlin/jvm/functions/Function0;
invoke-virtual {p2, p1}, Landroidx/activity/OnBackPressedCallback;->setEnabledChangedCallback$activity_release(Lkotlin/jvm/functions/Function0;)V
return-void
.end method
.method public final addCancellableCallback$activity_release(Landroidx/activity/OnBackPressedCallback;)Landroidx/activity/Cancellable;
.locals 2
const-string v0, "onBackPressedCallback"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 170
iget-object v0, p0, Landroidx/activity/OnBackPressedDispatcher;->onBackPressedCallbacks:Lkotlin/collections/ArrayDeque;
invoke-virtual {v0, p1}, Lkotlin/collections/ArrayDeque;->add(Ljava/lang/Object;)Z
.line 171
new-instance v0, Landroidx/activity/OnBackPressedDispatcher$OnBackPressedCancellable;
invoke-direct {v0, p0, p1}, Landroidx/activity/OnBackPressedDispatcher$OnBackPressedCancellable;-><init>(Landroidx/activity/OnBackPressedDispatcher;Landroidx/activity/OnBackPressedCallback;)V
.line 172
check-cast v0, Landroidx/activity/Cancellable;
invoke-virtual {p1, v0}, Landroidx/activity/OnBackPressedCallback;->addCancellable(Landroidx/activity/Cancellable;)V
.line 173
invoke-direct {p0}, Landroidx/activity/OnBackPressedDispatcher;->updateEnabledCallbacks()V
.line 174
new-instance v1, Landroidx/activity/OnBackPressedDispatcher$addCancellableCallback$1;
invoke-direct {v1, p0}, Landroidx/activity/OnBackPressedDispatcher$addCancellableCallback$1;-><init>(Ljava/lang/Object;)V
check-cast v1, Lkotlin/jvm/functions/Function0;
invoke-virtual {p1, v1}, Landroidx/activity/OnBackPressedCallback;->setEnabledChangedCallback$activity_release(Lkotlin/jvm/functions/Function0;)V
return-object v0
.end method
.method public final dispatchOnBackCancelled()V
.locals 0
.line 285
invoke-direct {p0}, Landroidx/activity/OnBackPressedDispatcher;->onBackCancelled()V
return-void
.end method
.method public final dispatchOnBackProgressed(Landroidx/activity/BackEventCompat;)V
.locals 1
const-string v0, "backEvent"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 246
invoke-direct {p0, p1}, Landroidx/activity/OnBackPressedDispatcher;->onBackProgressed(Landroidx/activity/BackEventCompat;)V
return-void
.end method
.method public final dispatchOnBackStarted(Landroidx/activity/BackEventCompat;)V
.locals 1
const-string v0, "backEvent"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 228
invoke-direct {p0, p1}, Landroidx/activity/OnBackPressedDispatcher;->onBackStarted(Landroidx/activity/BackEventCompat;)V
return-void
.end method
.method public final hasEnabledCallbacks()Z
.locals 1
.line 223
iget-boolean v0, p0, Landroidx/activity/OnBackPressedDispatcher;->hasEnabledCallbacks:Z
return v0
.end method
.method public final onBackPressed()V
.locals 4
.line 271
iget-object v0, p0, Landroidx/activity/OnBackPressedDispatcher;->onBackPressedCallbacks:Lkotlin/collections/ArrayDeque;
check-cast v0, Ljava/util/List;
.line 446
invoke-interface {v0}, Ljava/util/List;->size()I
move-result v1
invoke-interface {v0, v1}, Ljava/util/List;->listIterator(I)Ljava/util/ListIterator;
move-result-object v0
.line 447
:cond_0
invoke-interface {v0}, Ljava/util/ListIterator;->hasPrevious()Z
move-result v1
const/4 v2, 0x0
if-eqz v1, :cond_1
.line 448
invoke-interface {v0}, Ljava/util/ListIterator;->previous()Ljava/lang/Object;
move-result-object v1
.line 449
move-object v3, v1
check-cast v3, Landroidx/activity/OnBackPressedCallback;
.line 272
invoke-virtual {v3}, Landroidx/activity/OnBackPressedCallback;->isEnabled()Z
move-result v3
if-eqz v3, :cond_0
goto :goto_0
:cond_1
move-object v1, v2
.line 271
:goto_0
check-cast v1, Landroidx/activity/OnBackPressedCallback;
.line 274
iput-object v2, p0, Landroidx/activity/OnBackPressedDispatcher;->inProgressCallback:Landroidx/activity/OnBackPressedCallback;
if-eqz v1, :cond_2
.line 276
invoke-virtual {v1}, Landroidx/activity/OnBackPressedCallback;->handleOnBackPressed()V
return-void
.line 279
:cond_2
iget-object v0, p0, Landroidx/activity/OnBackPressedDispatcher;->fallbackOnBackPressed:Ljava/lang/Runnable;
if-eqz v0, :cond_3
invoke-interface {v0}, Ljava/lang/Runnable;->run()V
:cond_3
return-void
.end method
.method public final setOnBackInvokedDispatcher(Landroid/window/OnBackInvokedDispatcher;)V
.locals 1
const-string v0, "invoker"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
.line 86
iput-object p1, p0, Landroidx/activity/OnBackPressedDispatcher;->invokedDispatcher:Landroid/window/OnBackInvokedDispatcher;
.line 87
iget-boolean p1, p0, Landroidx/activity/OnBackPressedDispatcher;->hasEnabledCallbacks:Z
invoke-direct {p0, p1}, Landroidx/activity/OnBackPressedDispatcher;->updateBackInvokedCallbackState(Z)V
return-void
.end method