89 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package androidx.lifecycle;
 | |
| 
 | |
| import android.os.Bundle;
 | |
| import androidx.lifecycle.LegacySavedStateHandleController;
 | |
| import androidx.lifecycle.Lifecycle;
 | |
| import androidx.savedstate.SavedStateRegistry;
 | |
| import androidx.savedstate.SavedStateRegistryOwner;
 | |
| import java.util.Iterator;
 | |
| import kotlin.Metadata;
 | |
| import kotlin.jvm.JvmStatic;
 | |
| import kotlin.jvm.internal.Intrinsics;
 | |
| 
 | |
| /* compiled from: LegacySavedStateHandleController.kt */
 | |
| @Metadata(d1 = {"\u0000:\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\bÀ\u0002\u0018\u00002\u00020\u0001:\u0001\u0013B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J \u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\b2\u0006\u0010\t\u001a\u00020\n2\u0006\u0010\u000b\u001a\u00020\fH\u0007J,\u0010\r\u001a\u00020\u000e2\u0006\u0010\t\u001a\u00020\n2\u0006\u0010\u000b\u001a\u00020\f2\b\u0010\u000f\u001a\u0004\u0018\u00010\u00042\b\u0010\u0010\u001a\u0004\u0018\u00010\u0011H\u0007J\u0018\u0010\u0012\u001a\u00020\u00062\u0006\u0010\t\u001a\u00020\n2\u0006\u0010\u000b\u001a\u00020\fH\u0002R\u000e\u0010\u0003\u001a\u00020\u0004X\u0086T¢\u0006\u0002\n\u0000¨\u0006\u0014"}, d2 = {"Landroidx/lifecycle/LegacySavedStateHandleController;", "", "()V", "TAG_SAVED_STATE_HANDLE_CONTROLLER", "", "attachHandleIfNeeded", "", "viewModel", "Landroidx/lifecycle/ViewModel;", "registry", "Landroidx/savedstate/SavedStateRegistry;", "lifecycle", "Landroidx/lifecycle/Lifecycle;", "create", "Landroidx/lifecycle/SavedStateHandleController;", "key", "defaultArgs", "Landroid/os/Bundle;", "tryToAddRecreator", "OnRecreation", "lifecycle-viewmodel-savedstate_release"}, k = 1, mv = {1, 8, 0}, xi = 48)
 | |
| /* loaded from: classes.dex */
 | |
| public final class LegacySavedStateHandleController {
 | |
|     public static final LegacySavedStateHandleController INSTANCE = new LegacySavedStateHandleController();
 | |
|     public static final String TAG_SAVED_STATE_HANDLE_CONTROLLER = "androidx.lifecycle.savedstate.vm.tag";
 | |
| 
 | |
|     private LegacySavedStateHandleController() {
 | |
|     }
 | |
| 
 | |
|     @JvmStatic
 | |
|     public static final SavedStateHandleController create(SavedStateRegistry registry, Lifecycle lifecycle, String key, Bundle defaultArgs) {
 | |
|         Intrinsics.checkNotNullParameter(registry, "registry");
 | |
|         Intrinsics.checkNotNullParameter(lifecycle, "lifecycle");
 | |
|         Intrinsics.checkNotNull(key);
 | |
|         SavedStateHandleController savedStateHandleController = new SavedStateHandleController(key, SavedStateHandle.INSTANCE.createHandle(registry.consumeRestoredStateForKey(key), defaultArgs));
 | |
|         savedStateHandleController.attachToLifecycle(registry, lifecycle);
 | |
|         INSTANCE.tryToAddRecreator(registry, lifecycle);
 | |
|         return savedStateHandleController;
 | |
|     }
 | |
| 
 | |
|     @JvmStatic
 | |
|     public static final void attachHandleIfNeeded(ViewModel viewModel, SavedStateRegistry registry, Lifecycle lifecycle) {
 | |
|         Intrinsics.checkNotNullParameter(viewModel, "viewModel");
 | |
|         Intrinsics.checkNotNullParameter(registry, "registry");
 | |
|         Intrinsics.checkNotNullParameter(lifecycle, "lifecycle");
 | |
|         SavedStateHandleController savedStateHandleController = (SavedStateHandleController) viewModel.getTag("androidx.lifecycle.savedstate.vm.tag");
 | |
|         if (savedStateHandleController == null || savedStateHandleController.getIsAttached()) {
 | |
|             return;
 | |
|         }
 | |
|         savedStateHandleController.attachToLifecycle(registry, lifecycle);
 | |
|         INSTANCE.tryToAddRecreator(registry, lifecycle);
 | |
|     }
 | |
| 
 | |
|     private final void tryToAddRecreator(final SavedStateRegistry registry, final Lifecycle lifecycle) {
 | |
|         Lifecycle.State state = lifecycle.getState();
 | |
|         if (state == Lifecycle.State.INITIALIZED || state.isAtLeast(Lifecycle.State.STARTED)) {
 | |
|             registry.runOnNextRecreation(OnRecreation.class);
 | |
|         } else {
 | |
|             lifecycle.addObserver(new LifecycleEventObserver() { // from class: androidx.lifecycle.LegacySavedStateHandleController$tryToAddRecreator$1
 | |
|                 @Override // androidx.lifecycle.LifecycleEventObserver
 | |
|                 public void onStateChanged(LifecycleOwner source, Lifecycle.Event event) {
 | |
|                     Intrinsics.checkNotNullParameter(source, "source");
 | |
|                     Intrinsics.checkNotNullParameter(event, "event");
 | |
|                     if (event == Lifecycle.Event.ON_START) {
 | |
|                         Lifecycle.this.removeObserver(this);
 | |
|                         registry.runOnNextRecreation(LegacySavedStateHandleController.OnRecreation.class);
 | |
|                     }
 | |
|                 }
 | |
|             });
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     /* compiled from: LegacySavedStateHandleController.kt */
 | |
|     @Metadata(d1 = {"\u0000\u0018\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\b\u0000\u0018\u00002\u00020\u0001B\u0005¢\u0006\u0002\u0010\u0002J\u0010\u0010\u0003\u001a\u00020\u00042\u0006\u0010\u0005\u001a\u00020\u0006H\u0016¨\u0006\u0007"}, d2 = {"Landroidx/lifecycle/LegacySavedStateHandleController$OnRecreation;", "Landroidx/savedstate/SavedStateRegistry$AutoRecreated;", "()V", "onRecreated", "", "owner", "Landroidx/savedstate/SavedStateRegistryOwner;", "lifecycle-viewmodel-savedstate_release"}, k = 1, mv = {1, 8, 0}, xi = 48)
 | |
|     public static final class OnRecreation implements SavedStateRegistry.AutoRecreated {
 | |
|         @Override // androidx.savedstate.SavedStateRegistry.AutoRecreated
 | |
|         public void onRecreated(SavedStateRegistryOwner owner) {
 | |
|             Intrinsics.checkNotNullParameter(owner, "owner");
 | |
|             if (!(owner instanceof ViewModelStoreOwner)) {
 | |
|                 throw new IllegalStateException("Internal error: OnRecreation should be registered only on components that implement ViewModelStoreOwner".toString());
 | |
|             }
 | |
|             ViewModelStore viewModelStore = ((ViewModelStoreOwner) owner).getViewModelStore();
 | |
|             SavedStateRegistry savedStateRegistry = owner.getSavedStateRegistry();
 | |
|             Iterator<String> it = viewModelStore.keys().iterator();
 | |
|             while (it.hasNext()) {
 | |
|                 ViewModel viewModel = viewModelStore.get(it.next());
 | |
|                 Intrinsics.checkNotNull(viewModel);
 | |
|                 LegacySavedStateHandleController.attachHandleIfNeeded(viewModel, savedStateRegistry, owner.getLifecycle());
 | |
|             }
 | |
|             if (!viewModelStore.keys().isEmpty()) {
 | |
|                 savedStateRegistry.runOnNextRecreation(OnRecreation.class);
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 |