package androidx.fragment.app; import android.os.Bundle; import android.util.Log; import android.view.ViewGroup; import java.io.FileDescriptor; import java.io.PrintWriter; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.List; /* JADX INFO: Access modifiers changed from: package-private */ /* loaded from: classes2.dex */ public class FragmentStore { private static final String TAG = "FragmentManager"; private FragmentManagerViewModel mNonConfig; private final ArrayList mAdded = new ArrayList<>(); private final HashMap mActive = new HashMap<>(); private final HashMap mSavedState = new HashMap<>(); /* JADX INFO: Access modifiers changed from: package-private */ public HashMap getAllSavedState() { return this.mSavedState; } /* JADX INFO: Access modifiers changed from: package-private */ public FragmentManagerViewModel getNonConfig() { return this.mNonConfig; } /* JADX INFO: Access modifiers changed from: package-private */ public void setNonConfig(FragmentManagerViewModel fragmentManagerViewModel) { this.mNonConfig = fragmentManagerViewModel; } /* JADX INFO: Access modifiers changed from: package-private */ public void resetActiveFragments() { this.mActive.clear(); } /* JADX INFO: Access modifiers changed from: package-private */ public void restoreAddedFragments(List list) { this.mAdded.clear(); if (list != null) { for (String str : list) { Fragment findActiveFragment = findActiveFragment(str); if (findActiveFragment == null) { throw new IllegalStateException("No instantiated fragment for (" + str + ")"); } if (FragmentManager.isLoggingEnabled(2)) { Log.v("FragmentManager", "restoreSaveState: added (" + str + "): " + findActiveFragment); } addFragment(findActiveFragment); } } } /* JADX INFO: Access modifiers changed from: package-private */ public void makeActive(FragmentStateManager fragmentStateManager) { Fragment fragment = fragmentStateManager.getFragment(); if (containsActiveFragment(fragment.mWho)) { return; } this.mActive.put(fragment.mWho, fragmentStateManager); if (fragment.mRetainInstanceChangedWhileDetached) { if (fragment.mRetainInstance) { this.mNonConfig.addRetainedFragment(fragment); } else { this.mNonConfig.removeRetainedFragment(fragment); } fragment.mRetainInstanceChangedWhileDetached = false; } if (FragmentManager.isLoggingEnabled(2)) { Log.v("FragmentManager", "Added fragment to active set " + fragment); } } /* JADX INFO: Access modifiers changed from: package-private */ public void addFragment(Fragment fragment) { if (this.mAdded.contains(fragment)) { throw new IllegalStateException("Fragment already added: " + fragment); } synchronized (this.mAdded) { this.mAdded.add(fragment); } fragment.mAdded = true; } /* JADX INFO: Access modifiers changed from: package-private */ public void dispatchStateChange(int i) { for (FragmentStateManager fragmentStateManager : this.mActive.values()) { if (fragmentStateManager != null) { fragmentStateManager.setFragmentManagerState(i); } } } /* JADX INFO: Access modifiers changed from: package-private */ public void moveToExpectedState() { Iterator it = this.mAdded.iterator(); while (it.hasNext()) { FragmentStateManager fragmentStateManager = this.mActive.get(it.next().mWho); if (fragmentStateManager != null) { fragmentStateManager.moveToExpectedState(); } } for (FragmentStateManager fragmentStateManager2 : this.mActive.values()) { if (fragmentStateManager2 != null) { fragmentStateManager2.moveToExpectedState(); Fragment fragment = fragmentStateManager2.getFragment(); if (fragment.mRemoving && !fragment.isInBackStack()) { if (fragment.mBeingSaved && !this.mSavedState.containsKey(fragment.mWho)) { setSavedState(fragment.mWho, fragmentStateManager2.saveState()); } makeInactive(fragmentStateManager2); } } } } /* JADX INFO: Access modifiers changed from: package-private */ public void removeFragment(Fragment fragment) { synchronized (this.mAdded) { this.mAdded.remove(fragment); } fragment.mAdded = false; } /* JADX INFO: Access modifiers changed from: package-private */ public void makeInactive(FragmentStateManager fragmentStateManager) { Fragment fragment = fragmentStateManager.getFragment(); if (fragment.mRetainInstance) { this.mNonConfig.removeRetainedFragment(fragment); } if (this.mActive.get(fragment.mWho) == fragmentStateManager && this.mActive.put(fragment.mWho, null) != null && FragmentManager.isLoggingEnabled(2)) { Log.v("FragmentManager", "Removed fragment from active set " + fragment); } } /* JADX INFO: Access modifiers changed from: package-private */ public void burpActive() { this.mActive.values().removeAll(Collections.singleton(null)); } /* JADX INFO: Access modifiers changed from: package-private */ public Bundle getSavedState(String str) { return this.mSavedState.get(str); } /* JADX INFO: Access modifiers changed from: package-private */ public Bundle setSavedState(String str, Bundle bundle) { if (bundle != null) { return this.mSavedState.put(str, bundle); } return this.mSavedState.remove(str); } /* JADX INFO: Access modifiers changed from: package-private */ public void restoreSaveState(HashMap hashMap) { this.mSavedState.clear(); this.mSavedState.putAll(hashMap); } /* JADX INFO: Access modifiers changed from: package-private */ public ArrayList saveActiveFragments() { ArrayList arrayList = new ArrayList<>(this.mActive.size()); for (FragmentStateManager fragmentStateManager : this.mActive.values()) { if (fragmentStateManager != null) { Fragment fragment = fragmentStateManager.getFragment(); setSavedState(fragment.mWho, fragmentStateManager.saveState()); arrayList.add(fragment.mWho); if (FragmentManager.isLoggingEnabled(2)) { Log.v("FragmentManager", "Saved state of " + fragment + ": " + fragment.mSavedFragmentState); } } } return arrayList; } /* JADX INFO: Access modifiers changed from: package-private */ public ArrayList saveAddedFragments() { synchronized (this.mAdded) { if (this.mAdded.isEmpty()) { return null; } ArrayList arrayList = new ArrayList<>(this.mAdded.size()); Iterator it = this.mAdded.iterator(); while (it.hasNext()) { Fragment next = it.next(); arrayList.add(next.mWho); if (FragmentManager.isLoggingEnabled(2)) { Log.v("FragmentManager", "saveAllState: adding fragment (" + next.mWho + "): " + next); } } return arrayList; } } /* JADX INFO: Access modifiers changed from: package-private */ public List getActiveFragmentStateManagers() { ArrayList arrayList = new ArrayList(); for (FragmentStateManager fragmentStateManager : this.mActive.values()) { if (fragmentStateManager != null) { arrayList.add(fragmentStateManager); } } return arrayList; } /* JADX INFO: Access modifiers changed from: package-private */ public List getFragments() { ArrayList arrayList; if (this.mAdded.isEmpty()) { return Collections.emptyList(); } synchronized (this.mAdded) { arrayList = new ArrayList(this.mAdded); } return arrayList; } /* JADX INFO: Access modifiers changed from: package-private */ public List getActiveFragments() { ArrayList arrayList = new ArrayList(); for (FragmentStateManager fragmentStateManager : this.mActive.values()) { if (fragmentStateManager != null) { arrayList.add(fragmentStateManager.getFragment()); } else { arrayList.add(null); } } return arrayList; } /* JADX INFO: Access modifiers changed from: package-private */ public int getActiveFragmentCount() { return this.mActive.size(); } /* JADX INFO: Access modifiers changed from: package-private */ public Fragment findFragmentById(int i) { for (int size = this.mAdded.size() - 1; size >= 0; size--) { Fragment fragment = this.mAdded.get(size); if (fragment != null && fragment.mFragmentId == i) { return fragment; } } for (FragmentStateManager fragmentStateManager : this.mActive.values()) { if (fragmentStateManager != null) { Fragment fragment2 = fragmentStateManager.getFragment(); if (fragment2.mFragmentId == i) { return fragment2; } } } return null; } /* JADX INFO: Access modifiers changed from: package-private */ public Fragment findFragmentByTag(String str) { if (str != null) { for (int size = this.mAdded.size() - 1; size >= 0; size--) { Fragment fragment = this.mAdded.get(size); if (fragment != null && str.equals(fragment.mTag)) { return fragment; } } } if (str == null) { return null; } for (FragmentStateManager fragmentStateManager : this.mActive.values()) { if (fragmentStateManager != null) { Fragment fragment2 = fragmentStateManager.getFragment(); if (str.equals(fragment2.mTag)) { return fragment2; } } } return null; } /* JADX INFO: Access modifiers changed from: package-private */ public boolean containsActiveFragment(String str) { return this.mActive.get(str) != null; } /* JADX INFO: Access modifiers changed from: package-private */ public FragmentStateManager getFragmentStateManager(String str) { return this.mActive.get(str); } /* JADX INFO: Access modifiers changed from: package-private */ public Fragment findFragmentByWho(String str) { Fragment findFragmentByWho; for (FragmentStateManager fragmentStateManager : this.mActive.values()) { if (fragmentStateManager != null && (findFragmentByWho = fragmentStateManager.getFragment().findFragmentByWho(str)) != null) { return findFragmentByWho; } } return null; } /* JADX INFO: Access modifiers changed from: package-private */ public Fragment findActiveFragment(String str) { FragmentStateManager fragmentStateManager = this.mActive.get(str); if (fragmentStateManager != null) { return fragmentStateManager.getFragment(); } return null; } /* JADX INFO: Access modifiers changed from: package-private */ public int findFragmentIndexInContainer(Fragment fragment) { ViewGroup viewGroup = fragment.mContainer; if (viewGroup == null) { return -1; } int indexOf = this.mAdded.indexOf(fragment); for (int i = indexOf - 1; i >= 0; i--) { Fragment fragment2 = this.mAdded.get(i); if (fragment2.mContainer == viewGroup && fragment2.mView != null) { return viewGroup.indexOfChild(fragment2.mView) + 1; } } while (true) { indexOf++; if (indexOf >= this.mAdded.size()) { return -1; } Fragment fragment3 = this.mAdded.get(indexOf); if (fragment3.mContainer == viewGroup && fragment3.mView != null) { return viewGroup.indexOfChild(fragment3.mView); } } } /* JADX INFO: Access modifiers changed from: package-private */ public void dump(String str, FileDescriptor fileDescriptor, PrintWriter printWriter, String[] strArr) { String str2 = str + " "; if (!this.mActive.isEmpty()) { printWriter.print(str); printWriter.println("Active Fragments:"); for (FragmentStateManager fragmentStateManager : this.mActive.values()) { printWriter.print(str); if (fragmentStateManager != null) { Fragment fragment = fragmentStateManager.getFragment(); printWriter.println(fragment); fragment.dump(str2, fileDescriptor, printWriter, strArr); } else { printWriter.println("null"); } } } int size = this.mAdded.size(); if (size > 0) { printWriter.print(str); printWriter.println("Added Fragments:"); for (int i = 0; i < size; i++) { Fragment fragment2 = this.mAdded.get(i); printWriter.print(str); printWriter.print(" #"); printWriter.print(i); printWriter.print(": "); printWriter.println(fragment2.toString()); } } } }