.class public final Landroidx/datastore/core/DataMigrationInitializer$Companion; .super Ljava/lang/Object; .source "SourceFile" # annotations .annotation system Ldalvik/annotation/EnclosingClass; value = Landroidx/datastore/core/DataMigrationInitializer; .end annotation .annotation system Ldalvik/annotation/InnerClass; accessFlags = 0x19 name = "Companion" .end annotation # direct methods .method private constructor ()V .locals 0 .line 23 invoke-direct {p0}, Ljava/lang/Object;->()V return-void .end method .method public synthetic constructor (Lkotlin/jvm/internal/DefaultConstructorMarker;)V .locals 0 .line 0 invoke-direct {p0}, Landroidx/datastore/core/DataMigrationInitializer$Companion;->()V return-void .end method .method public static final synthetic access$runMigrations(Landroidx/datastore/core/DataMigrationInitializer$Companion;Ljava/util/List;Landroidx/datastore/core/InitializerApi;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; .locals 0 .line 23 invoke-direct {p0, p1, p2, p3}, Landroidx/datastore/core/DataMigrationInitializer$Companion;->runMigrations(Ljava/util/List;Landroidx/datastore/core/InitializerApi;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; move-result-object p0 return-object p0 .end method .method private final runMigrations(Ljava/util/List;Landroidx/datastore/core/InitializerApi;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; .locals 6 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/List<", "+", "Landroidx/datastore/core/DataMigration<", "TT;>;>;", "Landroidx/datastore/core/InitializerApi<", "TT;>;", "Lkotlin/coroutines/Continuation;", ")", "Ljava/lang/Object;" } .end annotation instance-of v0, p3, Landroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$1; if-eqz v0, :cond_0 move-object v0, p3 check-cast v0, Landroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$1; iget v1, v0, Landroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$1;->label:I const/high16 v2, -0x80000000 and-int v3, v1, v2 if-eqz v3, :cond_0 sub-int/2addr v1, v2 iput v1, v0, Landroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$1;->label:I goto :goto_0 :cond_0 new-instance v0, Landroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$1; invoke-direct {v0, p0, p3}, Landroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$1;->(Landroidx/datastore/core/DataMigrationInitializer$Companion;Lkotlin/coroutines/Continuation;)V :goto_0 iget-object p3, v0, Landroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$1;->result:Ljava/lang/Object; invoke-static {}, Lkotlin/coroutines/intrinsics/IntrinsicsKt;->getCOROUTINE_SUSPENDED()Ljava/lang/Object; move-result-object v1 .line 36 iget v2, v0, Landroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$1;->label:I const/4 v3, 0x2 const/4 v4, 0x1 if-eqz v2, :cond_3 if-eq v2, v4, :cond_2 if-ne v2, v3, :cond_1 iget-object p1, v0, Landroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$1;->L$1:Ljava/lang/Object; check-cast p1, Ljava/util/Iterator; iget-object p2, v0, Landroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$1;->L$0:Ljava/lang/Object; check-cast p2, Lkotlin/jvm/internal/Ref$ObjectRef; :try_start_0 invoke-static {p3}, Lkotlin/ResultKt;->throwOnFailure(Ljava/lang/Object;)V :try_end_0 .catchall {:try_start_0 .. :try_end_0} :catchall_0 goto :goto_2 :catchall_0 move-exception p3 goto :goto_3 .line 69 :cond_1 new-instance p1, Ljava/lang/IllegalStateException; const-string p2, "call to \'resume\' before \'invoke\' with coroutine" invoke-direct {p1, p2}, Ljava/lang/IllegalStateException;->(Ljava/lang/String;)V throw p1 .line 36 :cond_2 iget-object p1, v0, Landroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$1;->L$0:Ljava/lang/Object; check-cast p1, Ljava/util/List; invoke-static {p3}, Lkotlin/ResultKt;->throwOnFailure(Ljava/lang/Object;)V goto :goto_1 :cond_3 invoke-static {p3}, Lkotlin/ResultKt;->throwOnFailure(Ljava/lang/Object;)V .line 40 new-instance p3, Ljava/util/ArrayList; invoke-direct {p3}, Ljava/util/ArrayList;->()V .line 42 new-instance v2, Landroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$2; const/4 v5, 0x0 invoke-direct {v2, p1, p3, v5}, Landroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$2;->(Ljava/util/List;Ljava/util/List;Lkotlin/coroutines/Continuation;)V iput-object p3, v0, Landroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$1;->L$0:Ljava/lang/Object; iput v4, v0, Landroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$1;->label:I invoke-interface {p2, v2, v0}, Landroidx/datastore/core/InitializerApi;->updateData(Lkotlin/jvm/functions/Function2;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; move-result-object p1 if-ne p1, v1, :cond_4 return-object v1 :cond_4 move-object p1, p3 .line 53 :goto_1 new-instance p2, Lkotlin/jvm/internal/Ref$ObjectRef; invoke-direct {p2}, Lkotlin/jvm/internal/Ref$ObjectRef;->()V .line 55 check-cast p1, Ljava/lang/Iterable; .line 72 invoke-interface {p1}, Ljava/lang/Iterable;->iterator()Ljava/util/Iterator; move-result-object p1 :cond_5 :goto_2 invoke-interface {p1}, Ljava/util/Iterator;->hasNext()Z move-result p3 if-eqz p3, :cond_7 invoke-interface {p1}, Ljava/util/Iterator;->next()Ljava/lang/Object; move-result-object p3 check-cast p3, Lkotlin/jvm/functions/Function1; .line 57 :try_start_1 iput-object p2, v0, Landroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$1;->L$0:Ljava/lang/Object; iput-object p1, v0, Landroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$1;->L$1:Ljava/lang/Object; iput v3, v0, Landroidx/datastore/core/DataMigrationInitializer$Companion$runMigrations$1;->label:I invoke-interface {p3, v0}, Lkotlin/jvm/functions/Function1;->invoke(Ljava/lang/Object;)Ljava/lang/Object; move-result-object p3 :try_end_1 .catchall {:try_start_1 .. :try_end_1} :catchall_0 if-ne p3, v1, :cond_5 return-object v1 .line 59 :goto_3 iget-object v2, p2, Lkotlin/jvm/internal/Ref$ObjectRef;->element:Ljava/lang/Object; if-nez v2, :cond_6 .line 60 iput-object p3, p2, Lkotlin/jvm/internal/Ref$ObjectRef;->element:Ljava/lang/Object; goto :goto_2 .line 62 :cond_6 invoke-static {v2}, Lkotlin/jvm/internal/Intrinsics;->checkNotNull(Ljava/lang/Object;)V iget-object v2, p2, Lkotlin/jvm/internal/Ref$ObjectRef;->element:Ljava/lang/Object; check-cast v2, Ljava/lang/Throwable; invoke-static {v2, p3}, Lkotlin/ExceptionsKt;->addSuppressed(Ljava/lang/Throwable;Ljava/lang/Throwable;)V goto :goto_2 .line 68 :cond_7 iget-object p1, p2, Lkotlin/jvm/internal/Ref$ObjectRef;->element:Ljava/lang/Object; check-cast p1, Ljava/lang/Throwable; if-nez p1, :cond_8 .line 69 sget-object p1, Lkotlin/Unit;->INSTANCE:Lkotlin/Unit; return-object p1 .line 68 :cond_8 throw p1 .end method # virtual methods .method public final getInitializer(Ljava/util/List;)Lkotlin/jvm/functions/Function2; .locals 2 .annotation system Ldalvik/annotation/Signature; value = { "(", "Ljava/util/List<", "+", "Landroidx/datastore/core/DataMigration<", "TT;>;>;)", "Lkotlin/jvm/functions/Function2;" } .end annotation const-string v0, "migrations" invoke-static {p1, v0}, Lkotlin/jvm/internal/Intrinsics;->checkNotNullParameter(Ljava/lang/Object;Ljava/lang/String;)V .line 32 new-instance v0, Landroidx/datastore/core/DataMigrationInitializer$Companion$getInitializer$1; const/4 v1, 0x0 invoke-direct {v0, p1, v1}, Landroidx/datastore/core/DataMigrationInitializer$Companion$getInitializer$1;->(Ljava/util/List;Lkotlin/coroutines/Continuation;)V return-object v0 .end method