110 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package androidx.fragment.app;
 | |
| 
 | |
| import android.app.Application;
 | |
| import android.content.Context;
 | |
| import android.content.ContextWrapper;
 | |
| import android.os.Bundle;
 | |
| import androidx.lifecycle.HasDefaultViewModelProviderFactory;
 | |
| import androidx.lifecycle.Lifecycle;
 | |
| import androidx.lifecycle.LifecycleRegistry;
 | |
| import androidx.lifecycle.SavedStateViewModelFactory;
 | |
| import androidx.lifecycle.ViewModelProvider;
 | |
| import androidx.lifecycle.ViewModelStore;
 | |
| import androidx.lifecycle.ViewModelStoreOwner;
 | |
| import androidx.lifecycle.viewmodel.CreationExtras;
 | |
| 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;
 | |
| 
 | |
|     @Override // androidx.lifecycle.HasDefaultViewModelProviderFactory
 | |
|     public /* synthetic */ CreationExtras getDefaultViewModelCreationExtras() {
 | |
|         CreationExtras creationExtras;
 | |
|         creationExtras = CreationExtras.Empty.INSTANCE;
 | |
|         return creationExtras;
 | |
|     }
 | |
| 
 | |
|     boolean isInitialized() {
 | |
|         return this.mLifecycleRegistry != null;
 | |
|     }
 | |
| 
 | |
|     FragmentViewLifecycleOwner(Fragment fragment, ViewModelStore viewModelStore) {
 | |
|         this.mFragment = fragment;
 | |
|         this.mViewModelStore = viewModelStore;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.lifecycle.ViewModelStoreOwner
 | |
|     public ViewModelStore getViewModelStore() {
 | |
|         initialize();
 | |
|         return this.mViewModelStore;
 | |
|     }
 | |
| 
 | |
|     void initialize() {
 | |
|         if (this.mLifecycleRegistry == null) {
 | |
|             this.mLifecycleRegistry = new LifecycleRegistry(this);
 | |
|             this.mSavedStateRegistryController = SavedStateRegistryController.create(this);
 | |
|         }
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.lifecycle.LifecycleOwner
 | |
|     public Lifecycle getLifecycle() {
 | |
|         initialize();
 | |
|         return this.mLifecycleRegistry;
 | |
|     }
 | |
| 
 | |
|     void setCurrentState(Lifecycle.State state) {
 | |
|         this.mLifecycleRegistry.setCurrentState(state);
 | |
|     }
 | |
| 
 | |
|     void handleLifecycleEvent(Lifecycle.Event event) {
 | |
|         this.mLifecycleRegistry.handleLifecycleEvent(event);
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.lifecycle.HasDefaultViewModelProviderFactory
 | |
|     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();
 | |
|             }
 | |
|             this.mDefaultFactory = new SavedStateViewModelFactory(application, this, this.mFragment.getArguments());
 | |
|         }
 | |
|         return this.mDefaultFactory;
 | |
|     }
 | |
| 
 | |
|     @Override // androidx.savedstate.SavedStateRegistryOwner
 | |
|     public SavedStateRegistry getSavedStateRegistry() {
 | |
|         initialize();
 | |
|         return this.mSavedStateRegistryController.getSavedStateRegistry();
 | |
|     }
 | |
| 
 | |
|     void performRestore(Bundle bundle) {
 | |
|         this.mSavedStateRegistryController.performRestore(bundle);
 | |
|     }
 | |
| 
 | |
|     void performSave(Bundle bundle) {
 | |
|         this.mSavedStateRegistryController.performSave(bundle);
 | |
|     }
 | |
| }
 |