ADD week 5
This commit is contained in:
		| @@ -0,0 +1,141 @@ | ||||
| package androidx.lifecycle; | ||||
|  | ||||
| import android.app.Application; | ||||
| import android.os.Bundle; | ||||
| import androidx.lifecycle.ViewModelProvider; | ||||
| import androidx.lifecycle.viewmodel.CreationExtras; | ||||
| import androidx.savedstate.SavedStateRegistry; | ||||
| import androidx.savedstate.SavedStateRegistryOwner; | ||||
| import java.lang.reflect.Constructor; | ||||
| import java.util.List; | ||||
| import kotlin.Metadata; | ||||
| import kotlin.jvm.internal.Intrinsics; | ||||
|  | ||||
| /* compiled from: SavedStateViewModelFactory.kt */ | ||||
| @Metadata(d1 = {"\u0000Z\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0002\b\u0002\u0018\u00002\u00020\u00012\u00020\u0002B\u0007\b\u0016¢\u0006\u0002\u0010\u0003B\u0019\b\u0016\u0012\b\u0010\u0004\u001a\u0004\u0018\u00010\u0005\u0012\u0006\u0010\u0006\u001a\u00020\u0007¢\u0006\u0002\u0010\bB#\b\u0017\u0012\b\u0010\u0004\u001a\u0004\u0018\u00010\u0005\u0012\u0006\u0010\u0006\u001a\u00020\u0007\u0012\b\u0010\t\u001a\u0004\u0018\u00010\n¢\u0006\u0002\u0010\u000bJ%\u0010\u0011\u001a\u0002H\u0012\"\b\b\u0000\u0010\u0012*\u00020\u00132\f\u0010\u0014\u001a\b\u0012\u0004\u0012\u0002H\u00120\u0015H\u0016¢\u0006\u0002\u0010\u0016J-\u0010\u0011\u001a\u0002H\u0012\"\b\b\u0000\u0010\u0012*\u00020\u00132\f\u0010\u0014\u001a\b\u0012\u0004\u0012\u0002H\u00120\u00152\u0006\u0010\u0017\u001a\u00020\u0018H\u0016¢\u0006\u0002\u0010\u0019J+\u0010\u0011\u001a\u0002H\u0012\"\b\b\u0000\u0010\u0012*\u00020\u00132\u0006\u0010\u001a\u001a\u00020\u001b2\f\u0010\u0014\u001a\b\u0012\u0004\u0012\u0002H\u00120\u0015¢\u0006\u0002\u0010\u001cJ\u0010\u0010\u001d\u001a\u00020\u001e2\u0006\u0010\u001f\u001a\u00020\u0013H\u0017R\u0010\u0010\u0004\u001a\u0004\u0018\u00010\u0005X\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u0010\t\u001a\u0004\u0018\u00010\nX\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\f\u001a\u00020\u0002X\u0082\u0004¢\u0006\u0002\n\u0000R\u0010\u0010\r\u001a\u0004\u0018\u00010\u000eX\u0082\u000e¢\u0006\u0002\n\u0000R\u0010\u0010\u000f\u001a\u0004\u0018\u00010\u0010X\u0082\u000e¢\u0006\u0002\n\u0000¨\u0006 "}, d2 = {"Landroidx/lifecycle/SavedStateViewModelFactory;", "Landroidx/lifecycle/ViewModelProvider$OnRequeryFactory;", "Landroidx/lifecycle/ViewModelProvider$Factory;", "()V", "application", "Landroid/app/Application;", "owner", "Landroidx/savedstate/SavedStateRegistryOwner;", "(Landroid/app/Application;Landroidx/savedstate/SavedStateRegistryOwner;)V", "defaultArgs", "Landroid/os/Bundle;", "(Landroid/app/Application;Landroidx/savedstate/SavedStateRegistryOwner;Landroid/os/Bundle;)V", "factory", "lifecycle", "Landroidx/lifecycle/Lifecycle;", "savedStateRegistry", "Landroidx/savedstate/SavedStateRegistry;", "create", "T", "Landroidx/lifecycle/ViewModel;", "modelClass", "Ljava/lang/Class;", "(Ljava/lang/Class;)Landroidx/lifecycle/ViewModel;", "extras", "Landroidx/lifecycle/viewmodel/CreationExtras;", "(Ljava/lang/Class;Landroidx/lifecycle/viewmodel/CreationExtras;)Landroidx/lifecycle/ViewModel;", "key", "", "(Ljava/lang/String;Ljava/lang/Class;)Landroidx/lifecycle/ViewModel;", "onRequery", "", "viewModel", "lifecycle-viewmodel-savedstate_release"}, k = 1, mv = {1, 8, 0}, xi = 48) | ||||
| /* loaded from: classes.dex */ | ||||
| public final class SavedStateViewModelFactory extends ViewModelProvider.OnRequeryFactory implements ViewModelProvider.Factory { | ||||
|     private Application application; | ||||
|     private Bundle defaultArgs; | ||||
|     private final ViewModelProvider.Factory factory; | ||||
|     private Lifecycle lifecycle; | ||||
|     private SavedStateRegistry savedStateRegistry; | ||||
|  | ||||
|     public SavedStateViewModelFactory() { | ||||
|         this.factory = new ViewModelProvider.AndroidViewModelFactory(); | ||||
|     } | ||||
|  | ||||
|     /* JADX WARN: 'this' call moved to the top of the method (can break code semantics) */ | ||||
|     public SavedStateViewModelFactory(Application application, SavedStateRegistryOwner owner) { | ||||
|         this(application, owner, null); | ||||
|         Intrinsics.checkNotNullParameter(owner, "owner"); | ||||
|     } | ||||
|  | ||||
|     public SavedStateViewModelFactory(Application application, SavedStateRegistryOwner owner, Bundle bundle) { | ||||
|         ViewModelProvider.AndroidViewModelFactory androidViewModelFactory; | ||||
|         Intrinsics.checkNotNullParameter(owner, "owner"); | ||||
|         this.savedStateRegistry = owner.getSavedStateRegistry(); | ||||
|         this.lifecycle = owner.getLifecycle(); | ||||
|         this.defaultArgs = bundle; | ||||
|         this.application = application; | ||||
|         if (application != null) { | ||||
|             androidViewModelFactory = ViewModelProvider.AndroidViewModelFactory.INSTANCE.getInstance(application); | ||||
|         } else { | ||||
|             androidViewModelFactory = new ViewModelProvider.AndroidViewModelFactory(); | ||||
|         } | ||||
|         this.factory = androidViewModelFactory; | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.lifecycle.ViewModelProvider.Factory | ||||
|     public <T extends ViewModel> T create(Class<T> modelClass, CreationExtras extras) { | ||||
|         List list; | ||||
|         Constructor findMatchingConstructor; | ||||
|         List list2; | ||||
|         Intrinsics.checkNotNullParameter(modelClass, "modelClass"); | ||||
|         Intrinsics.checkNotNullParameter(extras, "extras"); | ||||
|         String str = (String) extras.get(ViewModelProvider.NewInstanceFactory.VIEW_MODEL_KEY); | ||||
|         if (str == null) { | ||||
|             throw new IllegalStateException("VIEW_MODEL_KEY must always be provided by ViewModelProvider"); | ||||
|         } | ||||
|         if (extras.get(SavedStateHandleSupport.SAVED_STATE_REGISTRY_OWNER_KEY) == null || extras.get(SavedStateHandleSupport.VIEW_MODEL_STORE_OWNER_KEY) == null) { | ||||
|             if (this.lifecycle != null) { | ||||
|                 return (T) create(str, modelClass); | ||||
|             } | ||||
|             throw new IllegalStateException("SAVED_STATE_REGISTRY_OWNER_KEY andVIEW_MODEL_STORE_OWNER_KEY must be provided in the creation extras tosuccessfully create a ViewModel."); | ||||
|         } | ||||
|         Application application = (Application) extras.get(ViewModelProvider.AndroidViewModelFactory.APPLICATION_KEY); | ||||
|         boolean isAssignableFrom = AndroidViewModel.class.isAssignableFrom(modelClass); | ||||
|         if (isAssignableFrom && application != null) { | ||||
|             list2 = SavedStateViewModelFactoryKt.ANDROID_VIEWMODEL_SIGNATURE; | ||||
|             findMatchingConstructor = SavedStateViewModelFactoryKt.findMatchingConstructor(modelClass, list2); | ||||
|         } else { | ||||
|             list = SavedStateViewModelFactoryKt.VIEWMODEL_SIGNATURE; | ||||
|             findMatchingConstructor = SavedStateViewModelFactoryKt.findMatchingConstructor(modelClass, list); | ||||
|         } | ||||
|         if (findMatchingConstructor == null) { | ||||
|             return (T) this.factory.create(modelClass, extras); | ||||
|         } | ||||
|         return (!isAssignableFrom || application == null) ? (T) SavedStateViewModelFactoryKt.newInstance(modelClass, findMatchingConstructor, SavedStateHandleSupport.createSavedStateHandle(extras)) : (T) SavedStateViewModelFactoryKt.newInstance(modelClass, findMatchingConstructor, application, SavedStateHandleSupport.createSavedStateHandle(extras)); | ||||
|     } | ||||
|  | ||||
|     public final <T extends ViewModel> T create(String key, Class<T> modelClass) { | ||||
|         List list; | ||||
|         Constructor findMatchingConstructor; | ||||
|         T t; | ||||
|         Application application; | ||||
|         List list2; | ||||
|         Intrinsics.checkNotNullParameter(key, "key"); | ||||
|         Intrinsics.checkNotNullParameter(modelClass, "modelClass"); | ||||
|         Lifecycle lifecycle = this.lifecycle; | ||||
|         if (lifecycle == null) { | ||||
|             throw new UnsupportedOperationException("SavedStateViewModelFactory constructed with empty constructor supports only calls to create(modelClass: Class<T>, extras: CreationExtras)."); | ||||
|         } | ||||
|         boolean isAssignableFrom = AndroidViewModel.class.isAssignableFrom(modelClass); | ||||
|         if (isAssignableFrom && this.application != null) { | ||||
|             list2 = SavedStateViewModelFactoryKt.ANDROID_VIEWMODEL_SIGNATURE; | ||||
|             findMatchingConstructor = SavedStateViewModelFactoryKt.findMatchingConstructor(modelClass, list2); | ||||
|         } else { | ||||
|             list = SavedStateViewModelFactoryKt.VIEWMODEL_SIGNATURE; | ||||
|             findMatchingConstructor = SavedStateViewModelFactoryKt.findMatchingConstructor(modelClass, list); | ||||
|         } | ||||
|         if (findMatchingConstructor == null) { | ||||
|             if (this.application != null) { | ||||
|                 return (T) this.factory.create(modelClass); | ||||
|             } | ||||
|             return (T) ViewModelProvider.NewInstanceFactory.INSTANCE.getInstance().create(modelClass); | ||||
|         } | ||||
|         SavedStateRegistry savedStateRegistry = this.savedStateRegistry; | ||||
|         Intrinsics.checkNotNull(savedStateRegistry); | ||||
|         SavedStateHandleController create = LegacySavedStateHandleController.create(savedStateRegistry, lifecycle, key, this.defaultArgs); | ||||
|         if (!isAssignableFrom || (application = this.application) == null) { | ||||
|             t = (T) SavedStateViewModelFactoryKt.newInstance(modelClass, findMatchingConstructor, create.getHandle()); | ||||
|         } else { | ||||
|             Intrinsics.checkNotNull(application); | ||||
|             t = (T) SavedStateViewModelFactoryKt.newInstance(modelClass, findMatchingConstructor, application, create.getHandle()); | ||||
|         } | ||||
|         t.setTagIfAbsent("androidx.lifecycle.savedstate.vm.tag", create); | ||||
|         return t; | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.lifecycle.ViewModelProvider.Factory | ||||
|     public <T extends ViewModel> T create(Class<T> modelClass) { | ||||
|         Intrinsics.checkNotNullParameter(modelClass, "modelClass"); | ||||
|         String canonicalName = modelClass.getCanonicalName(); | ||||
|         if (canonicalName == null) { | ||||
|             throw new IllegalArgumentException("Local and anonymous classes can not be ViewModels"); | ||||
|         } | ||||
|         return (T) create(canonicalName, modelClass); | ||||
|     } | ||||
|  | ||||
|     @Override // androidx.lifecycle.ViewModelProvider.OnRequeryFactory | ||||
|     public void onRequery(ViewModel viewModel) { | ||||
|         Intrinsics.checkNotNullParameter(viewModel, "viewModel"); | ||||
|         if (this.lifecycle != null) { | ||||
|             SavedStateRegistry savedStateRegistry = this.savedStateRegistry; | ||||
|             Intrinsics.checkNotNull(savedStateRegistry); | ||||
|             Lifecycle lifecycle = this.lifecycle; | ||||
|             Intrinsics.checkNotNull(lifecycle); | ||||
|             LegacySavedStateHandleController.attachHandleIfNeeded(viewModel, savedStateRegistry, lifecycle); | ||||
|         } | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user