package androidx.fragment.app; import android.util.Log; import androidx.lifecycle.ViewModel; import androidx.lifecycle.ViewModelProvider; import androidx.lifecycle.ViewModelStore; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.Iterator; import java.util.Map; /* JADX INFO: Access modifiers changed from: package-private */ /* loaded from: classes2.dex */ public final class FragmentManagerViewModel extends ViewModel { private static final ViewModelProvider.Factory FACTORY = new ViewModelProvider.Factory() { // from class: androidx.fragment.app.FragmentManagerViewModel.1 @Override // androidx.lifecycle.ViewModelProvider.Factory public T create(Class cls) { return new FragmentManagerViewModel(true); } }; private static final String TAG = "FragmentManager"; private final boolean mStateAutomaticallySaved; private final HashMap mRetainedFragments = new HashMap<>(); private final HashMap mChildNonConfigs = new HashMap<>(); private final HashMap mViewModelStores = new HashMap<>(); private boolean mHasBeenCleared = false; private boolean mHasSavedSnapshot = false; private boolean mIsStateSaved = false; /* JADX INFO: Access modifiers changed from: package-private */ public boolean isCleared() { return this.mHasBeenCleared; } /* JADX INFO: Access modifiers changed from: package-private */ public void setIsStateSaved(boolean z) { this.mIsStateSaved = z; } /* JADX INFO: Access modifiers changed from: package-private */ public static FragmentManagerViewModel getInstance(ViewModelStore viewModelStore) { return (FragmentManagerViewModel) new ViewModelProvider(viewModelStore, FACTORY).get(FragmentManagerViewModel.class); } /* JADX INFO: Access modifiers changed from: package-private */ public FragmentManagerViewModel(boolean z) { this.mStateAutomaticallySaved = z; } /* JADX INFO: Access modifiers changed from: protected */ @Override // androidx.lifecycle.ViewModel public void onCleared() { if (FragmentManager.isLoggingEnabled(3)) { Log.d("FragmentManager", "onCleared called for " + this); } this.mHasBeenCleared = true; } /* JADX INFO: Access modifiers changed from: package-private */ public void addRetainedFragment(Fragment fragment) { if (this.mIsStateSaved) { if (FragmentManager.isLoggingEnabled(2)) { Log.v("FragmentManager", "Ignoring addRetainedFragment as the state is already saved"); } } else { if (this.mRetainedFragments.containsKey(fragment.mWho)) { return; } this.mRetainedFragments.put(fragment.mWho, fragment); if (FragmentManager.isLoggingEnabled(2)) { Log.v("FragmentManager", "Updating retained Fragments: Added " + fragment); } } } /* JADX INFO: Access modifiers changed from: package-private */ public Fragment findRetainedFragmentByWho(String str) { return this.mRetainedFragments.get(str); } /* JADX INFO: Access modifiers changed from: package-private */ public Collection getRetainedFragments() { return new ArrayList(this.mRetainedFragments.values()); } /* JADX INFO: Access modifiers changed from: package-private */ public boolean shouldDestroy(Fragment fragment) { if (this.mRetainedFragments.containsKey(fragment.mWho)) { return this.mStateAutomaticallySaved ? this.mHasBeenCleared : !this.mHasSavedSnapshot; } return true; } /* JADX INFO: Access modifiers changed from: package-private */ public void removeRetainedFragment(Fragment fragment) { if (this.mIsStateSaved) { if (FragmentManager.isLoggingEnabled(2)) { Log.v("FragmentManager", "Ignoring removeRetainedFragment as the state is already saved"); } } else { if (this.mRetainedFragments.remove(fragment.mWho) == null || !FragmentManager.isLoggingEnabled(2)) { return; } Log.v("FragmentManager", "Updating retained Fragments: Removed " + fragment); } } /* JADX INFO: Access modifiers changed from: package-private */ public FragmentManagerViewModel getChildNonConfig(Fragment fragment) { FragmentManagerViewModel fragmentManagerViewModel = this.mChildNonConfigs.get(fragment.mWho); if (fragmentManagerViewModel != null) { return fragmentManagerViewModel; } FragmentManagerViewModel fragmentManagerViewModel2 = new FragmentManagerViewModel(this.mStateAutomaticallySaved); this.mChildNonConfigs.put(fragment.mWho, fragmentManagerViewModel2); return fragmentManagerViewModel2; } /* JADX INFO: Access modifiers changed from: package-private */ public ViewModelStore getViewModelStore(Fragment fragment) { ViewModelStore viewModelStore = this.mViewModelStores.get(fragment.mWho); if (viewModelStore != null) { return viewModelStore; } ViewModelStore viewModelStore2 = new ViewModelStore(); this.mViewModelStores.put(fragment.mWho, viewModelStore2); return viewModelStore2; } /* JADX INFO: Access modifiers changed from: package-private */ public void clearNonConfigState(Fragment fragment) { if (FragmentManager.isLoggingEnabled(3)) { Log.d("FragmentManager", "Clearing non-config state for " + fragment); } clearNonConfigStateInternal(fragment.mWho); } /* JADX INFO: Access modifiers changed from: package-private */ public void clearNonConfigState(String str) { if (FragmentManager.isLoggingEnabled(3)) { Log.d("FragmentManager", "Clearing non-config state for saved state of Fragment " + str); } clearNonConfigStateInternal(str); } private void clearNonConfigStateInternal(String str) { FragmentManagerViewModel fragmentManagerViewModel = this.mChildNonConfigs.get(str); if (fragmentManagerViewModel != null) { fragmentManagerViewModel.onCleared(); this.mChildNonConfigs.remove(str); } ViewModelStore viewModelStore = this.mViewModelStores.get(str); if (viewModelStore != null) { viewModelStore.clear(); this.mViewModelStores.remove(str); } } /* JADX INFO: Access modifiers changed from: package-private */ @Deprecated public void restoreFromSnapshot(FragmentManagerNonConfig fragmentManagerNonConfig) { this.mRetainedFragments.clear(); this.mChildNonConfigs.clear(); this.mViewModelStores.clear(); if (fragmentManagerNonConfig != null) { Collection fragments = fragmentManagerNonConfig.getFragments(); if (fragments != null) { for (Fragment fragment : fragments) { if (fragment != null) { this.mRetainedFragments.put(fragment.mWho, fragment); } } } Map childNonConfigs = fragmentManagerNonConfig.getChildNonConfigs(); if (childNonConfigs != null) { for (Map.Entry entry : childNonConfigs.entrySet()) { FragmentManagerViewModel fragmentManagerViewModel = new FragmentManagerViewModel(this.mStateAutomaticallySaved); fragmentManagerViewModel.restoreFromSnapshot(entry.getValue()); this.mChildNonConfigs.put(entry.getKey(), fragmentManagerViewModel); } } Map viewModelStores = fragmentManagerNonConfig.getViewModelStores(); if (viewModelStores != null) { this.mViewModelStores.putAll(viewModelStores); } } this.mHasSavedSnapshot = false; } /* JADX INFO: Access modifiers changed from: package-private */ @Deprecated public FragmentManagerNonConfig getSnapshot() { if (this.mRetainedFragments.isEmpty() && this.mChildNonConfigs.isEmpty() && this.mViewModelStores.isEmpty()) { return null; } HashMap hashMap = new HashMap(); for (Map.Entry entry : this.mChildNonConfigs.entrySet()) { FragmentManagerNonConfig snapshot = entry.getValue().getSnapshot(); if (snapshot != null) { hashMap.put(entry.getKey(), snapshot); } } this.mHasSavedSnapshot = true; if (this.mRetainedFragments.isEmpty() && hashMap.isEmpty() && this.mViewModelStores.isEmpty()) { return null; } return new FragmentManagerNonConfig(new ArrayList(this.mRetainedFragments.values()), hashMap, new HashMap(this.mViewModelStores)); } public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null || getClass() != obj.getClass()) { return false; } FragmentManagerViewModel fragmentManagerViewModel = (FragmentManagerViewModel) obj; return this.mRetainedFragments.equals(fragmentManagerViewModel.mRetainedFragments) && this.mChildNonConfigs.equals(fragmentManagerViewModel.mChildNonConfigs) && this.mViewModelStores.equals(fragmentManagerViewModel.mViewModelStores); } public int hashCode() { return (((this.mRetainedFragments.hashCode() * 31) + this.mChildNonConfigs.hashCode()) * 31) + this.mViewModelStores.hashCode(); } public String toString() { StringBuilder sb = new StringBuilder("FragmentManagerViewModel{"); sb.append(Integer.toHexString(System.identityHashCode(this))); sb.append("} Fragments ("); Iterator it = this.mRetainedFragments.values().iterator(); while (it.hasNext()) { sb.append(it.next()); if (it.hasNext()) { sb.append(", "); } } sb.append(") Child Non Config ("); Iterator it2 = this.mChildNonConfigs.keySet().iterator(); while (it2.hasNext()) { sb.append(it2.next()); if (it2.hasNext()) { sb.append(", "); } } sb.append(") ViewModelStores ("); Iterator it3 = this.mViewModelStores.keySet().iterator(); while (it3.hasNext()) { sb.append(it3.next()); if (it3.hasNext()) { sb.append(", "); } } sb.append(')'); return sb.toString(); } }