FragmentController.java revision d608cf6e08769bf320c1b595cbbd9a7664160449
1d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy/* 2d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * Copyright (C) 2015 The Android Open Source Project 3d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * 4d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * Licensed under the Apache License, Version 2.0 (the "License"); 5d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * you may not use this file except in compliance with the License. 6d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * You may obtain a copy of the License at 7d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * 8d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * http://www.apache.org/licenses/LICENSE-2.0 9d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * 10d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * Unless required by applicable law or agreed to in writing, software 11d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * distributed under the License is distributed on an "AS IS" BASIS, 12d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * See the License for the specific language governing permissions and 14d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * limitations under the License. 15d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy */ 16d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 17d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedypackage android.support.v4.app; 18d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 19d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedyimport android.content.Context; 20d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedyimport android.content.res.Configuration; 21d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedyimport android.os.Parcelable; 22d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedyimport android.support.v4.util.SimpleArrayMap; 23d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedyimport android.util.AttributeSet; 24d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedyimport android.view.Menu; 25d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedyimport android.view.MenuInflater; 26d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedyimport android.view.MenuItem; 27d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedyimport android.view.View; 28d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 29d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedyimport java.io.FileDescriptor; 30d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedyimport java.io.PrintWriter; 31d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedyimport java.util.ArrayList; 32d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedyimport java.util.List; 33d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 34d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy/** 35d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * Provides integration points with a {@link FragmentManager}. For example, a fragment 36d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * host, such as {@link FragmentActivity}, uses the {@link FragmentController} to control 37d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * the {@link Fragment} lifecycle. 38d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy */ 39d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedypublic class FragmentController { 40d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy private final FragmentHostCallbacks mHost; 41d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 42d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy /** 43d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * Returns a {@link FragmentController}. 44d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy */ 45d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public static final FragmentController createController(FragmentHostCallbacks callbacks) { 46d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy return new FragmentController(callbacks); 47d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 48d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 49d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy private FragmentController(FragmentHostCallbacks callbacks) { 50d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost = callbacks; 51d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 52d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 53d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public FragmentManager getSupportFragmentManager() { 54d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy return mHost.getFragmentManagerImpl(); 55d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 56d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 57d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public LoaderManager getSupportLoaderManager() { 58d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy return mHost.getLoaderManagerImpl(); 59d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 60d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 61d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy /** Returns the number of active fragments. */ 62d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public int getActiveFragmentsCount() { 63d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy final List<Fragment> actives = mHost.mFragmentManager.mActive; 64d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy return actives == null ? 0 : actives.size(); 65d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 66d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 67d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy /** Returns the list of active fragments. */ 68d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public List<Fragment> getActiveFragments(List<Fragment> actives) { 69d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy if (mHost.mFragmentManager.mActive == null) { 70d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy return null; 71d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 72d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy if (actives == null) { 73d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy actives = new ArrayList<Fragment>(getActiveFragmentsCount()); 74d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 75d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy actives.addAll(mHost.mFragmentManager.mActive); 76d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy return actives; 77d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 78d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 79d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy /** Attaches the host to the FragmentManager. */ 80d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public void attachHost(Fragment parent) { 81d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost.mFragmentManager.attachController( 82d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost, mHost /*container*/, parent); 83d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 84d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 85d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public View onCreateView(View parent, String name, Context context, AttributeSet attrs) { 86d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy return mHost.mFragmentManager.onCreateView(parent, name, context, attrs); 87d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 88d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 89d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy /** 90d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * Marks the fragment state as unsaved. This allows for "state loss" detection. 91d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy */ 92d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public void noteStateNotSaved() { 93d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost.mFragmentManager.noteStateNotSaved(); 94d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 95d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 96d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy /** 97d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * Saves the state for all Fragments. 98d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy */ 99d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public Parcelable saveAllState() { 100d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy return mHost.mFragmentManager.saveAllState(); 101d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 102d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 103d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy /** 104d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * Restores the saved state for all Fragments. The given Fragment list are Fragment 105d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * instances retained across configuration changes. 106d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * 107d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * @see #retainNonConfig() 108d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy */ 109d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public void restoreAllState(Parcelable state, ArrayList<Fragment> nonConfigList) { 110d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost.mFragmentManager.restoreAllState(state, nonConfigList); 111d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 112d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 113d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy /** 114d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * Returns a list of Fragments that have opted to retain their instance across 115d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * configuration changes. 116d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy */ 117d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public ArrayList<Fragment> retainNonConfig() { 118d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy return mHost.mFragmentManager.retainNonConfig(); 119d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 120d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 121d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public void dispatchCreate() { 122d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost.mFragmentManager.dispatchCreate(); 123d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 124d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 125d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public void dispatchActivityCreated() { 126d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost.mFragmentManager.dispatchActivityCreated(); 127d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 128d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 129d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public void dispatchStart() { 130d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost.mFragmentManager.dispatchStart(); 131d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 132d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 133d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public void dispatchResume() { 134d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost.mFragmentManager.dispatchResume(); 135d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 136d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 137d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public void dispatchPause() { 138d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost.mFragmentManager.dispatchPause(); 139d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 140d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 141d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public void dispatchStop() { 142d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost.mFragmentManager.dispatchStop(); 143d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 144d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 145d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public void dispatchReallyStop() { 146d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost.mFragmentManager.dispatchReallyStop(); 147d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 148d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 149d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public void dispatchDestroyView() { 150d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost.mFragmentManager.dispatchDestroyView(); 151d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 152d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 153d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public void dispatchDestroy() { 154d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost.mFragmentManager.dispatchDestroy(); 155d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 156d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 157d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public void dispatchConfigurationChanged(Configuration newConfig) { 158d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost.mFragmentManager.dispatchConfigurationChanged(newConfig); 159d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 160d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 161d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public void dispatchLowMemory() { 162d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost.mFragmentManager.dispatchLowMemory(); 163d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 164d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 165d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public boolean dispatchCreateOptionsMenu(Menu menu, MenuInflater inflater) { 166d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy return mHost.mFragmentManager.dispatchCreateOptionsMenu(menu, inflater); 167d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 168d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 169d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public boolean dispatchPrepareOptionsMenu(Menu menu) { 170d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy return mHost.mFragmentManager.dispatchPrepareOptionsMenu(menu); 171d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 172d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 173d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public boolean dispatchOptionsItemSelected(MenuItem item) { 174d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy return mHost.mFragmentManager.dispatchOptionsItemSelected(item); 175d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 176d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 177d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public boolean dispatchContextItemSelected(MenuItem item) { 178d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy return mHost.mFragmentManager.dispatchContextItemSelected(item); 179d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 180d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 181d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public void dispatchOptionsMenuClosed(Menu menu) { 182d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost.mFragmentManager.dispatchOptionsMenuClosed(menu); 183d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 184d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 185d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public boolean execPendingActions() { 186d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy return mHost.mFragmentManager.execPendingActions(); 187d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 188d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 189d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy void doLoaderStart() { 190d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost.doLoaderStart(); 191d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 192d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 193d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy /** 194d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * Stops the loaders, optionally retaining their state. This is useful for keeping the 195d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * loader state across configuration changes. 196d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * 197d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * @param retain When {@code true}, the loaders aren't stopped, but, their instances 198d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * are retained in a started state 199d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy */ 200d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy void doLoaderStop(boolean retain) { 201d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost.doLoaderStop(retain); 202d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 203d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 204d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy void doLoaderRetain() { 205d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost.doLoaderRetain(); 206d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 207d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 208d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy void doLoaderDestroy() { 209d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost.doLoaderDestroy(); 210d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 211d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 212d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy void reportLoaderStart() { 213d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost.reportLoaderStart(); 214d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 215d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 216d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy /** 217d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * Returns a list of LoaderManagers that have opted to retain their instance across 218d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * configuration changes. 219d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy */ 220d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public SimpleArrayMap<String, LoaderManager> retainLoaderNonConfig() { 221d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy return mHost.retainLoaderNonConfig(); 222d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 223d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 224d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy /** 225d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * Restores the saved state for all LoaderManagers. The given LoaderManager list are 226d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * LoaderManager instances retained across configuration changes. 227d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * 228d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy * @see #retainLoaderNonConfig() 229d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy */ 230d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public void restoreLoaderNonConfig(SimpleArrayMap<String, LoaderManager> loaderManagers) { 231d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost.restoreLoaderNonConfig(loaderManagers); 232d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 233d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy 234d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy public void dumpLoaders(String prefix, FileDescriptor fd, PrintWriter writer, String[] args) { 235d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy mHost.dumpLoaders(prefix, fd, writer, args); 236d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy } 237d608cf6e08769bf320c1b595cbbd9a7664160449Todd Kennedy} 238