Rabbit-R1/original r1/smali/smali_classes2/androidx/window/layout/ExtensionWindowLayoutInfoBackend$MulticastConsumer.smali
2024-05-21 17:08:36 -04:00

317 lines
11 KiB
Smali

.class final Landroidx/window/layout/ExtensionWindowLayoutInfoBackend$MulticastConsumer;
.super Ljava/lang/Object;
.source "ExtensionWindowLayoutInfoBackend.kt"
# interfaces
.implements Ljava/util/function/Consumer;
# annotations
.annotation system Ldalvik/annotation/EnclosingClass;
value = Landroidx/window/layout/ExtensionWindowLayoutInfoBackend;
.end annotation
.annotation system Ldalvik/annotation/InnerClass;
accessFlags = 0x1a
name = "MulticastConsumer"
.end annotation
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/lang/Object;",
"Ljava/util/function/Consumer<",
"Landroidx/window/extensions/layout/WindowLayoutInfo;",
">;"
}
.end annotation
.annotation system Ldalvik/annotation/SourceDebugExtension;
value = "SMAP\nExtensionWindowLayoutInfoBackend.kt\nKotlin\n*S Kotlin\n*F\n+ 1 ExtensionWindowLayoutInfoBackend.kt\nandroidx/window/layout/ExtensionWindowLayoutInfoBackend$MulticastConsumer\n+ 2 _Collections.kt\nkotlin/collections/CollectionsKt___CollectionsKt\n+ 3 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,128:1\n1849#2,2:129\n1#3:131\n*S KotlinDebug\n*F\n+ 1 ExtensionWindowLayoutInfoBackend.kt\nandroidx/window/layout/ExtensionWindowLayoutInfoBackend$MulticastConsumer\n*L\n107#1:129,2\n*E\n"
.end annotation
.annotation runtime Lkotlin/Metadata;
d1 = {
"\u0000<\n\u0002\u0018\u0002\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\u0000\n\u0002\u0010#\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0002\u0008\u0004\n\u0002\u0010\u000b\n\u0002\u0008\u0002\u0008\u0003\u0018\u00002\u0008\u0012\u0004\u0012\u00020\u00020\u0001B\r\u0012\u0006\u0010\u0003\u001a\u00020\u0004\u00a2\u0006\u0002\u0010\u0005J\u0010\u0010\r\u001a\u00020\u000e2\u0006\u0010\u000f\u001a\u00020\u0002H\u0016J\u0014\u0010\u0010\u001a\u00020\u000e2\u000c\u0010\u0011\u001a\u0008\u0012\u0004\u0012\u00020\u00070\u000cJ\u0006\u0010\u0012\u001a\u00020\u0013J\u0014\u0010\u0014\u001a\u00020\u000e2\u000c\u0010\u0011\u001a\u0008\u0012\u0004\u0012\u00020\u00070\u000cR\u000e\u0010\u0003\u001a\u00020\u0004X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u0014\u0010\u0006\u001a\u0004\u0018\u00010\u00078\u0002@\u0002X\u0083\u000e\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0008\u001a\u00020\tX\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u001c\u0010\n\u001a\u000e\u0012\n\u0012\u0008\u0012\u0004\u0012\u00020\u00070\u000c0\u000b8\u0002X\u0083\u0004\u00a2\u0006\u0002\n\u0000\u00a8\u0006\u0015"
}
d2 = {
"Landroidx/window/layout/ExtensionWindowLayoutInfoBackend$MulticastConsumer;",
"Ljava/util/function/Consumer;",
"Landroidx/window/extensions/layout/WindowLayoutInfo;",
"activity",
"Landroid/app/Activity;",
"(Landroid/app/Activity;)V",
"lastKnownValue",
"Landroidx/window/layout/WindowLayoutInfo;",
"multicastConsumerLock",
"Ljava/util/concurrent/locks/ReentrantLock;",
"registeredListeners",
"",
"Landroidx/core/util/Consumer;",
"accept",
"",
"value",
"addListener",
"listener",
"isEmpty",
"",
"removeListener",
"window_release"
}
k = 0x1
mv = {
0x1,
0x6,
0x0
}
xi = 0x30
.end annotation
# instance fields
.field private final activity:Landroid/app/Activity;
.field private lastKnownValue:Landroidx/window/layout/WindowLayoutInfo;
.field private final multicastConsumerLock:Ljava/util/concurrent/locks/ReentrantLock;
.field private final registeredListeners:Ljava/util/Set;
.annotation system Ldalvik/annotation/Signature;
value = {
"Ljava/util/Set<",
"Landroidx/core/util/Consumer<",
"Landroidx/window/layout/WindowLayoutInfo;",
">;>;"
}
.end annotation
.end field
# direct methods
.method public constructor <init>(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
.line 94
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
iput-object p1, p0, Landroidx/window/layout/ExtensionWindowLayoutInfoBackend$MulticastConsumer;->activity:Landroid/app/Activity;
.line 98
new-instance p1, Ljava/util/concurrent/locks/ReentrantLock;
invoke-direct {p1}, Ljava/util/concurrent/locks/ReentrantLock;-><init>()V
iput-object p1, p0, Landroidx/window/layout/ExtensionWindowLayoutInfoBackend$MulticastConsumer;->multicastConsumerLock:Ljava/util/concurrent/locks/ReentrantLock;
.line 102
new-instance p1, Ljava/util/LinkedHashSet;
invoke-direct {p1}, Ljava/util/LinkedHashSet;-><init>()V
check-cast p1, Ljava/util/Set;
iput-object p1, p0, Landroidx/window/layout/ExtensionWindowLayoutInfoBackend$MulticastConsumer;->registeredListeners:Ljava/util/Set;
return-void
.end method
# virtual methods
.method public accept(Landroidx/window/extensions/layout/WindowLayoutInfo;)V
.locals 3
const-string v0, "value"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
iget-object v0, p0, Landroidx/window/layout/ExtensionWindowLayoutInfoBackend$MulticastConsumer;->multicastConsumerLock:Ljava/util/concurrent/locks/ReentrantLock;
.line 105
check-cast v0, Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
.line 106
:try_start_0
sget-object v1, Landroidx/window/layout/ExtensionsWindowLayoutInfoAdapter;->INSTANCE:Landroidx/window/layout/ExtensionsWindowLayoutInfoAdapter;
iget-object v2, p0, Landroidx/window/layout/ExtensionWindowLayoutInfoBackend$MulticastConsumer;->activity:Landroid/app/Activity;
invoke-virtual {v1, v2, p1}, Landroidx/window/layout/ExtensionsWindowLayoutInfoAdapter;->translate$window_release(Landroid/app/Activity;Landroidx/window/extensions/layout/WindowLayoutInfo;)Landroidx/window/layout/WindowLayoutInfo;
move-result-object p1
iput-object p1, p0, Landroidx/window/layout/ExtensionWindowLayoutInfoBackend$MulticastConsumer;->lastKnownValue:Landroidx/window/layout/WindowLayoutInfo;
iget-object p1, p0, Landroidx/window/layout/ExtensionWindowLayoutInfoBackend$MulticastConsumer;->registeredListeners:Ljava/util/Set;
.line 107
check-cast p1, Ljava/lang/Iterable;
.line 129
invoke-interface {p1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator;
move-result-object p1
:goto_0
invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z
move-result v1
if-eqz v1, :cond_0
invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object;
move-result-object v1
check-cast v1, Landroidx/core/util/Consumer;
iget-object v2, p0, Landroidx/window/layout/ExtensionWindowLayoutInfoBackend$MulticastConsumer;->lastKnownValue:Landroidx/window/layout/WindowLayoutInfo;
.line 107
invoke-interface {v1, v2}, Landroidx/core/util/Consumer;->accept(Ljava/lang/Object;)V
goto :goto_0
.line 108
:cond_0
sget-object p0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit;
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 105
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-void
:catchall_0
move-exception p0
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw p0
.end method
.method public bridge synthetic accept(Ljava/lang/Object;)V
.locals 0
.line 94
check-cast p1, Landroidx/window/extensions/layout/WindowLayoutInfo;
invoke-virtual {p0, p1}, Landroidx/window/layout/ExtensionWindowLayoutInfoBackend$MulticastConsumer;->accept(Landroidx/window/extensions/layout/WindowLayoutInfo;)V
return-void
.end method
.method public final addListener(Landroidx/core/util/Consumer;)V
.locals 2
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/core/util/Consumer<",
"Landroidx/window/layout/WindowLayoutInfo;",
">;)V"
}
.end annotation
const-string v0, "listener"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
iget-object v0, p0, Landroidx/window/layout/ExtensionWindowLayoutInfoBackend$MulticastConsumer;->multicastConsumerLock:Ljava/util/concurrent/locks/ReentrantLock;
.line 112
check-cast v0, Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
:try_start_0
iget-object v1, p0, Landroidx/window/layout/ExtensionWindowLayoutInfoBackend$MulticastConsumer;->lastKnownValue:Landroidx/window/layout/WindowLayoutInfo;
if-nez v1, :cond_0
goto :goto_0
.line 113
:cond_0
invoke-interface {p1, v1}, Landroidx/core/util/Consumer;->accept(Ljava/lang/Object;)V
:goto_0
iget-object p0, p0, Landroidx/window/layout/ExtensionWindowLayoutInfoBackend$MulticastConsumer;->registeredListeners:Ljava/util/Set;
.line 114
invoke-interface {p0, p1}, Ljava/util/Set;->add(Ljava/lang/Object;)Z
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 112
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-void
:catchall_0
move-exception p0
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw p0
.end method
.method public final isEmpty()Z
.locals 0
iget-object p0, p0, Landroidx/window/layout/ExtensionWindowLayoutInfoBackend$MulticastConsumer;->registeredListeners:Ljava/util/Set;
.line 125
invoke-interface {p0}, Ljava/util/Set;->isEmpty()Z
move-result p0
return p0
.end method
.method public final removeListener(Landroidx/core/util/Consumer;)V
.locals 1
.annotation system Ldalvik/annotation/Signature;
value = {
"(",
"Landroidx/core/util/Consumer<",
"Landroidx/window/layout/WindowLayoutInfo;",
">;)V"
}
.end annotation
const-string v0, "listener"
invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V
iget-object v0, p0, Landroidx/window/layout/ExtensionWindowLayoutInfoBackend$MulticastConsumer;->multicastConsumerLock:Ljava/util/concurrent/locks/ReentrantLock;
.line 119
check-cast v0, Ljava/util/concurrent/locks/Lock;
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->lock()V
:try_start_0
iget-object p0, p0, Landroidx/window/layout/ExtensionWindowLayoutInfoBackend$MulticastConsumer;->registeredListeners:Ljava/util/Set;
.line 120
invoke-interface {p0, p1}, Ljava/util/Set;->remove(Ljava/lang/Object;)Z
:try_end_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0
.line 119
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
return-void
:catchall_0
move-exception p0
invoke-interface {v0}, Ljava/util/concurrent/locks/Lock;->unlock()V
throw p0
.end method