- Added realracing3-community.apk (71.57 MB) - Removed 32-bit support (armeabi-v7a) - Only includes arm64-v8a libraries - Decompiled source code included - Added README-community.md with analysis
81 lines
4.4 KiB
Java
81 lines
4.4 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.jvm.internal.Intrinsics;
|
|
|
|
/* 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() {
|
|
}
|
|
|
|
public static final SavedStateHandleController create(SavedStateRegistry registry, Lifecycle lifecycle, String str, Bundle bundle) {
|
|
Intrinsics.checkNotNullParameter(registry, "registry");
|
|
Intrinsics.checkNotNullParameter(lifecycle, "lifecycle");
|
|
Intrinsics.checkNotNull(str);
|
|
SavedStateHandleController savedStateHandleController = new SavedStateHandleController(str, SavedStateHandle.Companion.createHandle(registry.consumeRestoredStateForKey(str), bundle));
|
|
savedStateHandleController.attachToLifecycle(registry, lifecycle);
|
|
INSTANCE.tryToAddRecreator(registry, lifecycle);
|
|
return savedStateHandleController;
|
|
}
|
|
|
|
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.isAttached()) {
|
|
return;
|
|
}
|
|
savedStateHandleController.attachToLifecycle(registry, lifecycle);
|
|
INSTANCE.tryToAddRecreator(registry, lifecycle);
|
|
}
|
|
|
|
private final void tryToAddRecreator(final SavedStateRegistry savedStateRegistry, final Lifecycle lifecycle) {
|
|
Lifecycle.State currentState = lifecycle.getCurrentState();
|
|
if (currentState == Lifecycle.State.INITIALIZED || currentState.isAtLeast(Lifecycle.State.STARTED)) {
|
|
savedStateRegistry.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);
|
|
savedStateRegistry.runOnNextRecreation(LegacySavedStateHandleController.OnRecreation.class);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
}
|