Merge "Null check for restoring LoaderManagers" into nyc-mr1-dev

This commit is contained in:
TreeHugger Robot
2016-09-22 19:29:21 +00:00
committed by Android (Google) Code Review
2 changed files with 7 additions and 2 deletions

View File

@@ -340,8 +340,10 @@ public abstract class FragmentHostCallback<E> extends FragmentContainer {
} }
void restoreLoaderNonConfig(ArrayMap<String, LoaderManager> loaderManagers) { void restoreLoaderNonConfig(ArrayMap<String, LoaderManager> loaderManagers) {
for (int i = 0, N = loaderManagers.size(); i < N; i++) { if (loaderManagers != null) {
((LoaderManagerImpl) loaderManagers.valueAt(i)).updateHostController(this); for (int i = 0, N = loaderManagers.size(); i < N; i++) {
((LoaderManagerImpl) loaderManagers.valueAt(i)).updateHostController(this);
}
} }
mAllLoaderManagers = loaderManagers; mAllLoaderManagers = loaderManagers;
} }

View File

@@ -99,6 +99,9 @@ public class LoaderLifecycleTest {
final FragmentManager fm2 = fc2.getFragmentManager(); final FragmentManager fm2 = fc2.getFragmentManager();
fc2.attachHost(null); fc2.attachHost(null);
// Make sure nothing blows up on a null here
fc2.restoreLoaderNonConfig(null);
// for real this time
fc2.restoreLoaderNonConfig(loaderNonConfig); fc2.restoreLoaderNonConfig(loaderNonConfig);
fc2.restoreAllState(savedState, nonconf); fc2.restoreAllState(savedState, nonconf);
fc2.dispatchCreate(); fc2.dispatchCreate();