mirror of
https://github.com/Pinball3D/Rabbit-R1.git
synced 2024-12-28 01:52:26 -06:00
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: classes2.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)
|
|
/* loaded from: classes2.dex */
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
}
|