Path: blob/master/Compiled_apk/smali/androidx/lifecycle/ViewModelProvider.smali
2458 views
.class public Landroidx/lifecycle/ViewModelProvider; .super Ljava/lang/Object; .source "ViewModelProvider.java" # annotations .annotation system Ldalvik/annotation/MemberClasses; value = { Landroidx/lifecycle/ViewModelProvider$AndroidViewModelFactory;, Landroidx/lifecycle/ViewModelProvider$NewInstanceFactory;, Landroidx/lifecycle/ViewModelProvider$Factory; } .end annotation # static fields .field private static final DEFAULT_KEY:Ljava/lang/String; = "androidx.lifecycle.ViewModelProvider.DefaultKey" # instance fields .field private final mFactory:Landroidx/lifecycle/ViewModelProvider$Factory; .field private final mViewModelStore:Landroidx/lifecycle/ViewModelStore; # direct methods .method public constructor <init>(Landroidx/lifecycle/ViewModelStore;Landroidx/lifecycle/ViewModelProvider$Factory;)V .locals 0 .param p1, "store" # Landroidx/lifecycle/ViewModelStore; .param p2, "factory" # Landroidx/lifecycle/ViewModelProvider$Factory; .line 78 invoke-direct {p0}, Ljava/lang/Object;-><init>()V .line 79 iput-object p2, p0, Landroidx/lifecycle/ViewModelProvider;->mFactory:Landroidx/lifecycle/ViewModelProvider$Factory; .line 80 iput-object p1, p0, Landroidx/lifecycle/ViewModelProvider;->mViewModelStore:Landroidx/lifecycle/ViewModelStore; .line 81 return-void .end method .method public constructor <init>(Landroidx/lifecycle/ViewModelStoreOwner;Landroidx/lifecycle/ViewModelProvider$Factory;)V .locals 1 .param p1, "owner" # Landroidx/lifecycle/ViewModelStoreOwner; .param p2, "factory" # Landroidx/lifecycle/ViewModelProvider$Factory; .line 67 invoke-interface {p1}, Landroidx/lifecycle/ViewModelStoreOwner;->getViewModelStore()Landroidx/lifecycle/ViewModelStore; move-result-object v0 invoke-direct {p0, v0, p2}, Landroidx/lifecycle/ViewModelProvider;-><init>(Landroidx/lifecycle/ViewModelStore;Landroidx/lifecycle/ViewModelProvider$Factory;)V .line 68 return-void .end method # virtual methods .method public get(Ljava/lang/Class;)Landroidx/lifecycle/ViewModel; .locals 3 .annotation system Ldalvik/annotation/Signature; value = { "<T:", "Landroidx/lifecycle/ViewModel;", ">(", "Ljava/lang/Class<", "TT;>;)TT;" } .end annotation .line 99 .local p1, "modelClass":Ljava/lang/Class;, "Ljava/lang/Class<TT;>;" invoke-virtual {p1}, Ljava/lang/Class;->getCanonicalName()Ljava/lang/String; move-result-object v0 .line 100 .local v0, "canonicalName":Ljava/lang/String; if-eqz v0, :cond_0 .line 103 new-instance v1, Ljava/lang/StringBuilder; invoke-direct {v1}, Ljava/lang/StringBuilder;-><init>()V const-string v2, "androidx.lifecycle.ViewModelProvider.DefaultKey:" invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder; invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String; move-result-object v1 invoke-virtual {p0, v1, p1}, Landroidx/lifecycle/ViewModelProvider;->get(Ljava/lang/String;Ljava/lang/Class;)Landroidx/lifecycle/ViewModel; move-result-object v1 return-object v1 .line 101 :cond_0 new-instance v1, Ljava/lang/IllegalArgumentException; const-string v2, "Local and anonymous classes can not be ViewModels" invoke-direct {v1, v2}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V throw v1 .end method .method public get(Ljava/lang/String;Ljava/lang/Class;)Landroidx/lifecycle/ViewModel; .locals 2 .param p1, "key" # Ljava/lang/String; .annotation system Ldalvik/annotation/Signature; value = { "<T:", "Landroidx/lifecycle/ViewModel;", ">(", "Ljava/lang/String;", "Ljava/lang/Class<", "TT;>;)TT;" } .end annotation .line 123 .local p2, "modelClass":Ljava/lang/Class;, "Ljava/lang/Class<TT;>;" iget-object v0, p0, Landroidx/lifecycle/ViewModelProvider;->mViewModelStore:Landroidx/lifecycle/ViewModelStore; invoke-virtual {v0, p1}, Landroidx/lifecycle/ViewModelStore;->get(Ljava/lang/String;)Landroidx/lifecycle/ViewModel; move-result-object v0 .line 125 .local v0, "viewModel":Landroidx/lifecycle/ViewModel; invoke-virtual {p2, v0}, Ljava/lang/Class;->isInstance(Ljava/lang/Object;)Z move-result v1 if-eqz v1, :cond_0 .line 127 return-object v0 .line 130 :cond_0 nop .line 135 iget-object v1, p0, Landroidx/lifecycle/ViewModelProvider;->mFactory:Landroidx/lifecycle/ViewModelProvider$Factory; invoke-interface {v1, p2}, Landroidx/lifecycle/ViewModelProvider$Factory;->create(Ljava/lang/Class;)Landroidx/lifecycle/ViewModel; move-result-object v0 .line 136 iget-object v1, p0, Landroidx/lifecycle/ViewModelProvider;->mViewModelStore:Landroidx/lifecycle/ViewModelStore; invoke-virtual {v1, p1, v0}, Landroidx/lifecycle/ViewModelStore;->put(Ljava/lang/String;Landroidx/lifecycle/ViewModel;)V .line 138 return-object v0 .end method