142 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			142 lines
		
	
	
		
			10 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| 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);
 | |
|         }
 | |
|     }
 | |
| }
 |