ADD week 5
This commit is contained in:
		| @@ -0,0 +1,95 @@ | ||||
| package androidx.lifecycle; | ||||
|  | ||||
| import android.os.Bundle; | ||||
| import androidx.lifecycle.Lifecycle; | ||||
| import androidx.lifecycle.ViewModelProvider; | ||||
| import androidx.lifecycle.viewmodel.CreationExtras; | ||||
| import androidx.savedstate.SavedStateRegistry; | ||||
| import androidx.savedstate.SavedStateRegistryOwner; | ||||
| import kotlin.Metadata; | ||||
| import kotlin.jvm.internal.Intrinsics; | ||||
|  | ||||
| /* compiled from: SavedStateHandleSupport.kt */ | ||||
| @Metadata(d1 = {"\u0000F\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0002\n\u0002\b\u0003\u001a*\u0010\u0012\u001a\u00020\u00132\u0006\u0010\u0014\u001a\u00020\u00062\u0006\u0010\u0015\u001a\u00020\t2\u0006\u0010\u0016\u001a\u00020\u00042\b\u0010\u0017\u001a\u0004\u0018\u00010\u0002H\u0002\u001a\f\u0010\u0012\u001a\u00020\u0013*\u00020\u0018H\u0007\u001a\u001f\u0010\u0019\u001a\u00020\u001a\"\f\b\u0000\u0010\u001b*\u00020\u0006*\u00020\t*\u0002H\u001bH\u0007¢\u0006\u0002\u0010\u001c\"\u0016\u0010\u0000\u001a\b\u0012\u0004\u0012\u00020\u00020\u00018\u0006X\u0087\u0004¢\u0006\u0002\n\u0000\"\u000e\u0010\u0003\u001a\u00020\u0004X\u0082T¢\u0006\u0002\n\u0000\"\u0016\u0010\u0005\u001a\b\u0012\u0004\u0012\u00020\u00060\u00018\u0006X\u0087\u0004¢\u0006\u0002\n\u0000\"\u000e\u0010\u0007\u001a\u00020\u0004X\u0082T¢\u0006\u0002\n\u0000\"\u0016\u0010\b\u001a\b\u0012\u0004\u0012\u00020\t0\u00018\u0006X\u0087\u0004¢\u0006\u0002\n\u0000\"\u0018\u0010\n\u001a\u00020\u000b*\u00020\u00068@X\u0080\u0004¢\u0006\u0006\u001a\u0004\b\f\u0010\r\"\u0018\u0010\u000e\u001a\u00020\u000f*\u00020\t8@X\u0080\u0004¢\u0006\u0006\u001a\u0004\b\u0010\u0010\u0011¨\u0006\u001d"}, d2 = {"DEFAULT_ARGS_KEY", "Landroidx/lifecycle/viewmodel/CreationExtras$Key;", "Landroid/os/Bundle;", "SAVED_STATE_KEY", "", "SAVED_STATE_REGISTRY_OWNER_KEY", "Landroidx/savedstate/SavedStateRegistryOwner;", "VIEWMODEL_KEY", "VIEW_MODEL_STORE_OWNER_KEY", "Landroidx/lifecycle/ViewModelStoreOwner;", "savedStateHandlesProvider", "Landroidx/lifecycle/SavedStateHandlesProvider;", "getSavedStateHandlesProvider", "(Landroidx/savedstate/SavedStateRegistryOwner;)Landroidx/lifecycle/SavedStateHandlesProvider;", "savedStateHandlesVM", "Landroidx/lifecycle/SavedStateHandlesVM;", "getSavedStateHandlesVM", "(Landroidx/lifecycle/ViewModelStoreOwner;)Landroidx/lifecycle/SavedStateHandlesVM;", "createSavedStateHandle", "Landroidx/lifecycle/SavedStateHandle;", "savedStateRegistryOwner", "viewModelStoreOwner", "key", "defaultArgs", "Landroidx/lifecycle/viewmodel/CreationExtras;", "enableSavedStateHandles", "", "T", "(Landroidx/savedstate/SavedStateRegistryOwner;)V", "lifecycle-viewmodel-savedstate_release"}, k = 2, mv = {1, 8, 0}, xi = 48) | ||||
| /* loaded from: classes.dex */ | ||||
| public final class SavedStateHandleSupport { | ||||
|     private static final String SAVED_STATE_KEY = "androidx.lifecycle.internal.SavedStateHandlesProvider"; | ||||
|     private static final String VIEWMODEL_KEY = "androidx.lifecycle.internal.SavedStateHandlesVM"; | ||||
|     public static final CreationExtras.Key<SavedStateRegistryOwner> SAVED_STATE_REGISTRY_OWNER_KEY = new CreationExtras.Key<SavedStateRegistryOwner>() { // from class: androidx.lifecycle.SavedStateHandleSupport$SAVED_STATE_REGISTRY_OWNER_KEY$1 | ||||
|     }; | ||||
|     public static final CreationExtras.Key<ViewModelStoreOwner> VIEW_MODEL_STORE_OWNER_KEY = new CreationExtras.Key<ViewModelStoreOwner>() { // from class: androidx.lifecycle.SavedStateHandleSupport$VIEW_MODEL_STORE_OWNER_KEY$1 | ||||
|     }; | ||||
|     public static final CreationExtras.Key<Bundle> DEFAULT_ARGS_KEY = new CreationExtras.Key<Bundle>() { // from class: androidx.lifecycle.SavedStateHandleSupport$DEFAULT_ARGS_KEY$1 | ||||
|     }; | ||||
|  | ||||
|     /* JADX WARN: Multi-variable type inference failed */ | ||||
|     public static final <T extends SavedStateRegistryOwner & ViewModelStoreOwner> void enableSavedStateHandles(T t) { | ||||
|         Intrinsics.checkNotNullParameter(t, "<this>"); | ||||
|         Lifecycle.State state = t.getLifecycle().getState(); | ||||
|         if (state != Lifecycle.State.INITIALIZED && state != Lifecycle.State.CREATED) { | ||||
|             throw new IllegalArgumentException("Failed requirement.".toString()); | ||||
|         } | ||||
|         if (t.getSavedStateRegistry().getSavedStateProvider(SAVED_STATE_KEY) == null) { | ||||
|             SavedStateHandlesProvider savedStateHandlesProvider = new SavedStateHandlesProvider(t.getSavedStateRegistry(), t); | ||||
|             t.getSavedStateRegistry().registerSavedStateProvider(SAVED_STATE_KEY, savedStateHandlesProvider); | ||||
|             t.getLifecycle().addObserver(new SavedStateHandleAttacher(savedStateHandlesProvider)); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private static final SavedStateHandle createSavedStateHandle(SavedStateRegistryOwner savedStateRegistryOwner, ViewModelStoreOwner viewModelStoreOwner, String str, Bundle bundle) { | ||||
|         SavedStateHandlesProvider savedStateHandlesProvider = getSavedStateHandlesProvider(savedStateRegistryOwner); | ||||
|         SavedStateHandlesVM savedStateHandlesVM = getSavedStateHandlesVM(viewModelStoreOwner); | ||||
|         SavedStateHandle savedStateHandle = savedStateHandlesVM.getHandles().get(str); | ||||
|         if (savedStateHandle != null) { | ||||
|             return savedStateHandle; | ||||
|         } | ||||
|         SavedStateHandle createHandle = SavedStateHandle.INSTANCE.createHandle(savedStateHandlesProvider.consumeRestoredStateForKey(str), bundle); | ||||
|         savedStateHandlesVM.getHandles().put(str, createHandle); | ||||
|         return createHandle; | ||||
|     } | ||||
|  | ||||
|     public static final SavedStateHandle createSavedStateHandle(CreationExtras creationExtras) { | ||||
|         Intrinsics.checkNotNullParameter(creationExtras, "<this>"); | ||||
|         SavedStateRegistryOwner savedStateRegistryOwner = (SavedStateRegistryOwner) creationExtras.get(SAVED_STATE_REGISTRY_OWNER_KEY); | ||||
|         if (savedStateRegistryOwner == null) { | ||||
|             throw new IllegalArgumentException("CreationExtras must have a value by `SAVED_STATE_REGISTRY_OWNER_KEY`"); | ||||
|         } | ||||
|         ViewModelStoreOwner viewModelStoreOwner = (ViewModelStoreOwner) creationExtras.get(VIEW_MODEL_STORE_OWNER_KEY); | ||||
|         if (viewModelStoreOwner == null) { | ||||
|             throw new IllegalArgumentException("CreationExtras must have a value by `VIEW_MODEL_STORE_OWNER_KEY`"); | ||||
|         } | ||||
|         Bundle bundle = (Bundle) creationExtras.get(DEFAULT_ARGS_KEY); | ||||
|         String str = (String) creationExtras.get(ViewModelProvider.NewInstanceFactory.VIEW_MODEL_KEY); | ||||
|         if (str == null) { | ||||
|             throw new IllegalArgumentException("CreationExtras must have a value by `VIEW_MODEL_KEY`"); | ||||
|         } | ||||
|         return createSavedStateHandle(savedStateRegistryOwner, viewModelStoreOwner, str, bundle); | ||||
|     } | ||||
|  | ||||
|     public static final SavedStateHandlesVM getSavedStateHandlesVM(ViewModelStoreOwner viewModelStoreOwner) { | ||||
|         Intrinsics.checkNotNullParameter(viewModelStoreOwner, "<this>"); | ||||
|         return (SavedStateHandlesVM) new ViewModelProvider(viewModelStoreOwner, new ViewModelProvider.Factory() { // from class: androidx.lifecycle.SavedStateHandleSupport$savedStateHandlesVM$1 | ||||
|             @Override // androidx.lifecycle.ViewModelProvider.Factory | ||||
|             public /* synthetic */ ViewModel create(Class cls) { | ||||
|                 return ViewModelProvider.Factory.CC.$default$create(this, cls); | ||||
|             } | ||||
|  | ||||
|             @Override // androidx.lifecycle.ViewModelProvider.Factory | ||||
|             public <T extends ViewModel> T create(Class<T> modelClass, CreationExtras extras) { | ||||
|                 Intrinsics.checkNotNullParameter(modelClass, "modelClass"); | ||||
|                 Intrinsics.checkNotNullParameter(extras, "extras"); | ||||
|                 return new SavedStateHandlesVM(); | ||||
|             } | ||||
|         }).get(VIEWMODEL_KEY, SavedStateHandlesVM.class); | ||||
|     } | ||||
|  | ||||
|     public static final SavedStateHandlesProvider getSavedStateHandlesProvider(SavedStateRegistryOwner savedStateRegistryOwner) { | ||||
|         Intrinsics.checkNotNullParameter(savedStateRegistryOwner, "<this>"); | ||||
|         SavedStateRegistry.SavedStateProvider savedStateProvider = savedStateRegistryOwner.getSavedStateRegistry().getSavedStateProvider(SAVED_STATE_KEY); | ||||
|         SavedStateHandlesProvider savedStateHandlesProvider = savedStateProvider instanceof SavedStateHandlesProvider ? (SavedStateHandlesProvider) savedStateProvider : null; | ||||
|         if (savedStateHandlesProvider != null) { | ||||
|             return savedStateHandlesProvider; | ||||
|         } | ||||
|         throw new IllegalStateException("enableSavedStateHandles() wasn't called prior to createSavedStateHandle() call"); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user