Merge "Merge "Adds getLayoutInflater() to return a cached value." into oc-dev am: f3ff7b8207" into oc-dev-plus-aosp
This commit is contained in:
committed by
Android (Google) Code Review
commit
5c08716a58
@@ -4578,6 +4578,7 @@ package android.app {
|
||||
method public final android.app.FragmentManager getFragmentManager();
|
||||
method public final java.lang.Object getHost();
|
||||
method public final int getId();
|
||||
method public final android.view.LayoutInflater getLayoutInflater();
|
||||
method public android.app.LoaderManager getLoaderManager();
|
||||
method public final android.app.Fragment getParentFragment();
|
||||
method public android.transition.Transition getReenterTransition();
|
||||
|
||||
@@ -4745,6 +4745,7 @@ package android.app {
|
||||
method public final android.app.FragmentManager getFragmentManager();
|
||||
method public final java.lang.Object getHost();
|
||||
method public final int getId();
|
||||
method public final android.view.LayoutInflater getLayoutInflater();
|
||||
method public android.app.LoaderManager getLoaderManager();
|
||||
method public final android.app.Fragment getParentFragment();
|
||||
method public android.transition.Transition getReenterTransition();
|
||||
|
||||
@@ -4591,6 +4591,7 @@ package android.app {
|
||||
method public final android.app.FragmentManager getFragmentManager();
|
||||
method public final java.lang.Object getHost();
|
||||
method public final int getId();
|
||||
method public final android.view.LayoutInflater getLayoutInflater();
|
||||
method public android.app.LoaderManager getLoaderManager();
|
||||
method public final android.app.Fragment getParentFragment();
|
||||
method public android.transition.Transition getReenterTransition();
|
||||
|
||||
@@ -509,6 +509,10 @@ public class Fragment implements ComponentCallbacks2, OnCreateContextMenuListene
|
||||
// True if mHidden has been changed and the animation should be scheduled.
|
||||
boolean mHiddenChanged;
|
||||
|
||||
// The cached value from onGetLayoutInflater(Bundle) that will be returned from
|
||||
// getLayoutInflater()
|
||||
LayoutInflater mLayoutInflater;
|
||||
|
||||
/**
|
||||
* State information that has been retrieved from a fragment instance
|
||||
* through {@link FragmentManager#saveFragmentInstanceState(Fragment)
|
||||
@@ -1388,6 +1392,38 @@ public class Fragment implements ComponentCallbacks2, OnCreateContextMenuListene
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the cached LayoutInflater used to inflate Views of this Fragment. If
|
||||
* {@link #onGetLayoutInflater(Bundle)} has not been called {@link #onGetLayoutInflater(Bundle)}
|
||||
* will be called with a {@code null} argument and that value will be cached.
|
||||
* <p>
|
||||
* The cached LayoutInflater will be replaced immediately prior to
|
||||
* {@link #onCreateView(LayoutInflater, ViewGroup, Bundle)} and cleared immediately after
|
||||
* {@link #onDetach()}.
|
||||
*
|
||||
* @return The LayoutInflater used to inflate Views of this Fragment.
|
||||
*/
|
||||
public final LayoutInflater getLayoutInflater() {
|
||||
if (mLayoutInflater == null) {
|
||||
return performGetLayoutInflater(null);
|
||||
}
|
||||
return mLayoutInflater;
|
||||
}
|
||||
|
||||
/**
|
||||
* Calls {@link #onGetLayoutInflater(Bundle)} and caches the result for use by
|
||||
* {@link #getLayoutInflater()}.
|
||||
*
|
||||
* @param savedInstanceState If the fragment is being re-created from
|
||||
* a previous saved state, this is the state.
|
||||
* @return The LayoutInflater used to inflate Views of this Fragment.
|
||||
*/
|
||||
LayoutInflater performGetLayoutInflater(Bundle savedInstanceState) {
|
||||
LayoutInflater layoutInflater = onGetLayoutInflater(savedInstanceState);
|
||||
mLayoutInflater = layoutInflater;
|
||||
return mLayoutInflater;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated Use {@link #onInflate(Context, AttributeSet, Bundle)} instead.
|
||||
*/
|
||||
@@ -2835,6 +2871,7 @@ public class Fragment implements ComponentCallbacks2, OnCreateContextMenuListene
|
||||
void performDetach() {
|
||||
mCalled = false;
|
||||
onDetach();
|
||||
mLayoutInflater = null;
|
||||
if (!mCalled) {
|
||||
throw new SuperNotCalledException("Fragment " + this
|
||||
+ " did not call through to super.onDetach()");
|
||||
|
||||
@@ -1259,7 +1259,7 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate
|
||||
}
|
||||
}
|
||||
f.mContainer = container;
|
||||
f.mView = f.performCreateView(f.onGetLayoutInflater(
|
||||
f.mView = f.performCreateView(f.performGetLayoutInflater(
|
||||
f.mSavedFragmentState), container, f.mSavedFragmentState);
|
||||
if (f.mView != null) {
|
||||
f.mView.setSaveFromParentEnabled(false);
|
||||
@@ -1431,7 +1431,7 @@ final class FragmentManagerImpl extends FragmentManager implements LayoutInflate
|
||||
|
||||
void ensureInflatedFragmentView(Fragment f) {
|
||||
if (f.mFromLayout && !f.mPerformedCreateView) {
|
||||
f.mView = f.performCreateView(f.onGetLayoutInflater(
|
||||
f.mView = f.performCreateView(f.performGetLayoutInflater(
|
||||
f.mSavedFragmentState), null, f.mSavedFragmentState);
|
||||
if (f.mView != null) {
|
||||
f.mView.setSaveFromParentEnabled(false);
|
||||
|
||||
Reference in New Issue
Block a user