- 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
144 lines
5.7 KiB
Java
144 lines
5.7 KiB
Java
package androidx.fragment.app;
|
|
|
|
import android.app.Application;
|
|
import android.content.Context;
|
|
import android.content.ContextWrapper;
|
|
import android.os.Bundle;
|
|
import androidx.annotation.CallSuper;
|
|
import androidx.annotation.NonNull;
|
|
import androidx.annotation.Nullable;
|
|
import androidx.lifecycle.HasDefaultViewModelProviderFactory;
|
|
import androidx.lifecycle.Lifecycle;
|
|
import androidx.lifecycle.LifecycleRegistry;
|
|
import androidx.lifecycle.SavedStateHandleSupport;
|
|
import androidx.lifecycle.SavedStateViewModelFactory;
|
|
import androidx.lifecycle.ViewModelProvider;
|
|
import androidx.lifecycle.ViewModelStore;
|
|
import androidx.lifecycle.ViewModelStoreOwner;
|
|
import androidx.lifecycle.viewmodel.CreationExtras;
|
|
import androidx.lifecycle.viewmodel.MutableCreationExtras;
|
|
import androidx.savedstate.SavedStateRegistry;
|
|
import androidx.savedstate.SavedStateRegistryController;
|
|
import androidx.savedstate.SavedStateRegistryOwner;
|
|
|
|
/* loaded from: classes.dex */
|
|
class FragmentViewLifecycleOwner implements HasDefaultViewModelProviderFactory, SavedStateRegistryOwner, ViewModelStoreOwner {
|
|
private ViewModelProvider.Factory mDefaultFactory;
|
|
private final Fragment mFragment;
|
|
private LifecycleRegistry mLifecycleRegistry = null;
|
|
private SavedStateRegistryController mSavedStateRegistryController = null;
|
|
private final ViewModelStore mViewModelStore;
|
|
|
|
public boolean isInitialized() {
|
|
return this.mLifecycleRegistry != null;
|
|
}
|
|
|
|
public FragmentViewLifecycleOwner(@NonNull Fragment fragment, @NonNull ViewModelStore viewModelStore) {
|
|
this.mFragment = fragment;
|
|
this.mViewModelStore = viewModelStore;
|
|
}
|
|
|
|
@Override // androidx.lifecycle.ViewModelStoreOwner
|
|
@NonNull
|
|
public ViewModelStore getViewModelStore() {
|
|
initialize();
|
|
return this.mViewModelStore;
|
|
}
|
|
|
|
public void initialize() {
|
|
if (this.mLifecycleRegistry == null) {
|
|
this.mLifecycleRegistry = new LifecycleRegistry(this);
|
|
SavedStateRegistryController create = SavedStateRegistryController.create(this);
|
|
this.mSavedStateRegistryController = create;
|
|
create.performAttach();
|
|
}
|
|
}
|
|
|
|
@Override // androidx.lifecycle.LifecycleOwner
|
|
@NonNull
|
|
public Lifecycle getLifecycle() {
|
|
initialize();
|
|
return this.mLifecycleRegistry;
|
|
}
|
|
|
|
public void setCurrentState(@NonNull Lifecycle.State state) {
|
|
this.mLifecycleRegistry.setCurrentState(state);
|
|
}
|
|
|
|
public void handleLifecycleEvent(@NonNull Lifecycle.Event event) {
|
|
this.mLifecycleRegistry.handleLifecycleEvent(event);
|
|
}
|
|
|
|
@Override // androidx.lifecycle.HasDefaultViewModelProviderFactory
|
|
@NonNull
|
|
public ViewModelProvider.Factory getDefaultViewModelProviderFactory() {
|
|
Application application;
|
|
ViewModelProvider.Factory defaultViewModelProviderFactory = this.mFragment.getDefaultViewModelProviderFactory();
|
|
if (!defaultViewModelProviderFactory.equals(this.mFragment.mDefaultFactory)) {
|
|
this.mDefaultFactory = defaultViewModelProviderFactory;
|
|
return defaultViewModelProviderFactory;
|
|
}
|
|
if (this.mDefaultFactory == null) {
|
|
Context applicationContext = this.mFragment.requireContext().getApplicationContext();
|
|
while (true) {
|
|
if (!(applicationContext instanceof ContextWrapper)) {
|
|
application = null;
|
|
break;
|
|
}
|
|
if (applicationContext instanceof Application) {
|
|
application = (Application) applicationContext;
|
|
break;
|
|
}
|
|
applicationContext = ((ContextWrapper) applicationContext).getBaseContext();
|
|
}
|
|
Fragment fragment = this.mFragment;
|
|
this.mDefaultFactory = new SavedStateViewModelFactory(application, fragment, fragment.getArguments());
|
|
}
|
|
return this.mDefaultFactory;
|
|
}
|
|
|
|
@Override // androidx.lifecycle.HasDefaultViewModelProviderFactory
|
|
@NonNull
|
|
@CallSuper
|
|
public CreationExtras getDefaultViewModelCreationExtras() {
|
|
Application application;
|
|
Context applicationContext = this.mFragment.requireContext().getApplicationContext();
|
|
while (true) {
|
|
if (!(applicationContext instanceof ContextWrapper)) {
|
|
application = null;
|
|
break;
|
|
}
|
|
if (applicationContext instanceof Application) {
|
|
application = (Application) applicationContext;
|
|
break;
|
|
}
|
|
applicationContext = ((ContextWrapper) applicationContext).getBaseContext();
|
|
}
|
|
MutableCreationExtras mutableCreationExtras = new MutableCreationExtras();
|
|
if (application != null) {
|
|
mutableCreationExtras.set(ViewModelProvider.AndroidViewModelFactory.APPLICATION_KEY, application);
|
|
}
|
|
mutableCreationExtras.set(SavedStateHandleSupport.SAVED_STATE_REGISTRY_OWNER_KEY, this.mFragment);
|
|
mutableCreationExtras.set(SavedStateHandleSupport.VIEW_MODEL_STORE_OWNER_KEY, this);
|
|
if (this.mFragment.getArguments() != null) {
|
|
mutableCreationExtras.set(SavedStateHandleSupport.DEFAULT_ARGS_KEY, this.mFragment.getArguments());
|
|
}
|
|
return mutableCreationExtras;
|
|
}
|
|
|
|
@Override // androidx.savedstate.SavedStateRegistryOwner
|
|
@NonNull
|
|
public SavedStateRegistry getSavedStateRegistry() {
|
|
initialize();
|
|
return this.mSavedStateRegistryController.getSavedStateRegistry();
|
|
}
|
|
|
|
public void performRestore(@Nullable Bundle bundle) {
|
|
this.mSavedStateRegistryController.performRestore(bundle);
|
|
}
|
|
|
|
public void performSave(@NonNull Bundle bundle) {
|
|
this.mSavedStateRegistryController.performSave(bundle);
|
|
}
|
|
}
|