891 lines
28 KiB
Smali
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
|