.class public final Landroidx/room/InvalidationTracker$ObservedTableTracker; .super Ljava/lang/Object; .source "InvalidationTracker.kt" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Landroidx/room/InvalidationTracker; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x19 name = "ObservedTableTracker" .end annotation .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/room/InvalidationTracker$ObservedTableTracker$Companion; } .end annotation .annotation system Ldalvik/annotation/SourceDebugExtension; value = "SMAP\nInvalidationTracker.kt\nKotlin\n*S Kotlin\n*F\n+ 1 InvalidationTracker.kt\nandroidx/room/InvalidationTracker$ObservedTableTracker\n+ 2 _Arrays.kt\nkotlin/collections/ArraysKt___ArraysKt\n*L\n1#1,846:1\n13564#2,2:847\n13564#2,2:849\n13648#2,3:851\n*S KotlinDebug\n*F\n+ 1 InvalidationTracker.kt\nandroidx/room/InvalidationTracker$ObservedTableTracker\n*L\n718#1:847,2\n736#1:849,2\n772#1:851,3\n*E\n" .end annotation .annotation runtime Lkotlin/Metadata; d1 = { "\u00008\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u0008\n\u0002\u0008\u0002\n\u0002\u0010\u000b\n\u0002\u0008\u0005\n\u0002\u0010\u0016\n\u0002\u0008\u0003\n\u0002\u0010\u0015\n\u0000\n\u0002\u0010\u0018\n\u0002\u0008\u0005\n\u0002\u0010\u0002\n\u0002\u0008\u0002\u0008\u0000\u0018\u0000 \u00192\u00020\u0001:\u0001\u0019B\r\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u00a2\u0006\u0002\u0010\u0004J\n\u0010\u0013\u001a\u0004\u0018\u00010\u0010H\u0007J\u0012\u0010\u0014\u001a\u00020\u00062\n\u0010\u0015\u001a\u00020\u0010\"\u00020\u0003J\u0012\u0010\u0016\u001a\u00020\u00062\n\u0010\u0015\u001a\u00020\u0010\"\u00020\u0003J\u0006\u0010\u0017\u001a\u00020\u0018R\u001a\u0010\u0005\u001a\u00020\u0006X\u0086\u000e\u00a2\u0006\u000e\n\u0000\u001a\u0004\u0008\u0007\u0010\u0008\"\u0004\u0008\t\u0010\nR\u0011\u0010\u000b\u001a\u00020\u000c\u00a2\u0006\u0008\n\u0000\u001a\u0004\u0008\r\u0010\u000eR\u000e\u0010\u000f\u001a\u00020\u0010X\u0082\u0004\u00a2\u0006\u0002\n\u0000R\u000e\u0010\u0011\u001a\u00020\u0012X\u0082\u0004\u00a2\u0006\u0002\n\u0000\u00a8\u0006\u001a" } d2 = { "Landroidx/room/InvalidationTracker$ObservedTableTracker;", "", "tableCount", "", "(I)V", "needsSync", "", "getNeedsSync", "()Z", "setNeedsSync", "(Z)V", "tableObservers", "", "getTableObservers", "()[J", "triggerStateChanges", "", "triggerStates", "", "getTablesToSync", "onAdded", "tableIds", "onRemoved", "resetTriggerState", "", "Companion", "room-runtime_release" } k = 0x1 mv = { 0x1, 0x7, 0x1 } xi = 0x30 .end annotation # static fields .field public static final ADD:I = 0x1 .field public static final Companion:Landroidx/room/InvalidationTracker$ObservedTableTracker$Companion; .field public static final NO_OP:I = 0x0 .field public static final REMOVE:I = 0x2 # instance fields .field private needsSync:Z .field private final tableObservers:[J .field private final triggerStateChanges:[I .field private final triggerStates:[Z # direct methods .method static constructor ()V .locals 2 new-instance v0, Landroidx/room/InvalidationTracker$ObservedTableTracker$Companion; const/4 v1, 0x0 invoke-direct {v0, v1}, Landroidx/room/InvalidationTracker$ObservedTableTracker$Companion;->(Lkotlin/jvm/internal/DefaultConstructorMarker;)V sput-object v0, Landroidx/room/InvalidationTracker$ObservedTableTracker;->Companion:Landroidx/room/InvalidationTracker$ObservedTableTracker$Companion; return-void .end method .method public constructor (I)V .locals 1 .line 699 invoke-direct {p0}, Ljava/lang/Object;->()V .line 701 new-array v0, p1, [J iput-object v0, p0, Landroidx/room/InvalidationTracker$ObservedTableTracker;->tableObservers:[J .line 705 new-array v0, p1, [Z iput-object v0, p0, Landroidx/room/InvalidationTracker$ObservedTableTracker;->triggerStates:[Z .line 708 new-array p1, p1, [I iput-object p1, p0, Landroidx/room/InvalidationTracker$ObservedTableTracker;->triggerStateChanges:[I return-void .end method # virtual methods .method public final getNeedsSync()Z .locals 0 iget-boolean p0, p0, Landroidx/room/InvalidationTracker$ObservedTableTracker;->needsSync:Z return p0 .end method .method public final getTableObservers()[J .locals 0 iget-object p0, p0, Landroidx/room/InvalidationTracker$ObservedTableTracker;->tableObservers:[J return-object p0 .end method .method public final getTablesToSync()[I .locals 10 .line 768 monitor-enter p0 :try_start_0 iget-boolean v0, p0, Landroidx/room/InvalidationTracker$ObservedTableTracker;->needsSync:Z :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 if-nez v0, :cond_0 .line 770 monitor-exit p0 const/4 p0, 0x0 return-object p0 :cond_0 :try_start_1 iget-object v0, p0, Landroidx/room/InvalidationTracker$ObservedTableTracker;->tableObservers:[J .line 852 array-length v1, v0 const/4 v2, 0x0 move v3, v2 move v4, v3 :goto_0 if-ge v3, v1, :cond_4 aget-wide v5, v0, v3 add-int/lit8 v7, v4, 0x1 const-wide/16 v8, 0x0 cmp-long v5, v5, v8 const/4 v6, 0x1 if-lez v5, :cond_1 move v5, v6 goto :goto_1 :cond_1 move v5, v2 :goto_1 iget-object v8, p0, Landroidx/room/InvalidationTracker$ObservedTableTracker;->triggerStates:[Z .line 774 aget-boolean v9, v8, v4 if-eq v5, v9, :cond_3 iget-object v9, p0, Landroidx/room/InvalidationTracker$ObservedTableTracker;->triggerStateChanges:[I if-eqz v5, :cond_2 goto :goto_2 :cond_2 const/4 v6, 0x2 .line 775 :goto_2 aput v6, v9, v4 goto :goto_3 :cond_3 iget-object v6, p0, Landroidx/room/InvalidationTracker$ObservedTableTracker;->triggerStateChanges:[I .line 777 aput v2, v6, v4 .line 779 :goto_3 aput-boolean v5, v8, v4 add-int/lit8 v3, v3, 0x1 move v4, v7 goto :goto_0 :cond_4 iput-boolean v2, p0, Landroidx/room/InvalidationTracker$ObservedTableTracker;->needsSync:Z iget-object v0, p0, Landroidx/room/InvalidationTracker$ObservedTableTracker;->triggerStateChanges:[I .line 782 invoke-virtual {v0}, Ljava/lang/Object;->clone()Ljava/lang/Object; move-result-object v0 check-cast v0, [I :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 monitor-exit p0 return-object v0 :catchall_0 move-exception v0 monitor-exit p0 throw v0 .end method .method public final varargs onAdded([I)Z .locals 9 const-string v0, "tableIds" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 717 monitor-enter p0 .line 847 :try_start_0 array-length v0, p1 const/4 v1, 0x0 move v2, v1 :goto_0 if-ge v1, v0, :cond_1 aget v3, p1, v1 iget-object v4, p0, Landroidx/room/InvalidationTracker$ObservedTableTracker;->tableObservers:[J .line 719 aget-wide v5, v4, v3 const-wide/16 v7, 0x1 add-long/2addr v7, v5 .line 720 aput-wide v7, v4, v3 const-wide/16 v3, 0x0 cmp-long v3, v5, v3 if-nez v3, :cond_0 const/4 v2, 0x1 iput-boolean v2, p0, Landroidx/room/InvalidationTracker$ObservedTableTracker;->needsSync:Z :cond_0 add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 726 :cond_1 sget-object p1, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 717 monitor-exit p0 return v2 :catchall_0 move-exception p1 monitor-exit p0 throw p1 .end method .method public final varargs onRemoved([I)Z .locals 11 const-string v0, "tableIds" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 735 monitor-enter p0 .line 849 :try_start_0 array-length v0, p1 const/4 v1, 0x0 move v2, v1 :goto_0 if-ge v1, v0, :cond_1 aget v3, p1, v1 iget-object v4, p0, Landroidx/room/InvalidationTracker$ObservedTableTracker;->tableObservers:[J .line 737 aget-wide v5, v4, v3 const-wide/16 v7, 0x1 sub-long v9, v5, v7 .line 738 aput-wide v9, v4, v3 cmp-long v3, v5, v7 if-nez v3, :cond_0 const/4 v2, 0x1 iput-boolean v2, p0, Landroidx/room/InvalidationTracker$ObservedTableTracker;->needsSync:Z :cond_0 add-int/lit8 v1, v1, 0x1 goto :goto_0 .line 744 :cond_1 sget-object p1, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 735 monitor-exit p0 return v2 :catchall_0 move-exception p1 monitor-exit p0 throw p1 .end method .method public final resetTriggerState()V .locals 2 .line 753 monitor-enter p0 :try_start_0 iget-object v0, p0, Landroidx/room/InvalidationTracker$ObservedTableTracker;->triggerStates:[Z const/4 v1, 0x0 .line 754 invoke-static {v0, v1}, Ljava/util/Arrays;->fill([ZZ)V const/4 v0, 0x1 iput-boolean v0, p0, Landroidx/room/InvalidationTracker$ObservedTableTracker;->needsSync:Z .line 756 sget-object v0, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 .line 753 monitor-exit p0 return-void :catchall_0 move-exception v0 monitor-exit p0 throw v0 .end method .method public final setNeedsSync(Z)V .locals 0 iput-boolean p1, p0, Landroidx/room/InvalidationTracker$ObservedTableTracker;->needsSync:Z return-void .end method