Loading api/current.xml +47 −0 Original line number Diff line number Diff line Loading @@ -30379,6 +30379,21 @@ <parameter name="hidden" type="boolean"> </parameter> </method> <method name="onInflate" return="void" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="deprecated" visibility="public" > <parameter name="attrs" type="android.util.AttributeSet"> </parameter> <parameter name="savedInstanceState" type="android.os.Bundle"> </parameter> </method> <method name="onInflate" return="void" abstract="false" Loading @@ -30389,6 +30404,8 @@ deprecated="not deprecated" visibility="public" > <parameter name="activity" type="android.app.Activity"> </parameter> <parameter name="attrs" type="android.util.AttributeSet"> </parameter> <parameter name="savedInstanceState" type="android.os.Bundle"> Loading Loading @@ -143820,6 +143837,21 @@ <parameter name="key" type="java.lang.String"> </parameter> </method> <method name="getCharSequence" return="java.lang.CharSequence" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="key" type="java.lang.String"> </parameter> <parameter name="defaultValue" type="java.lang.CharSequence"> </parameter> </method> <method name="getCharSequenceArray" return="java.lang.CharSequence[]" abstract="false" Loading Loading @@ -144153,6 +144185,21 @@ <parameter name="key" type="java.lang.String"> </parameter> </method> <method name="getString" return="java.lang.String" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="key" type="java.lang.String"> </parameter> <parameter name="defaultValue" type="java.lang.String"> </parameter> </method> <method name="getStringArray" return="java.lang.String[]" abstract="false" core/java/android/app/Activity.java +2 −2 Original line number Diff line number Diff line Loading @@ -4137,7 +4137,7 @@ public class Activity extends ContextThemeWrapper fragment.mInLayout = true; fragment.mImmediateActivity = this; fragment.mFragmentManager = mFragments; fragment.onInflate(attrs, fragment.mSavedFragmentState); fragment.onInflate(this, attrs, fragment.mSavedFragmentState); mFragments.addFragment(fragment, true); } else if (fragment.mInLayout) { Loading @@ -4156,7 +4156,7 @@ public class Activity extends ContextThemeWrapper // from last saved state), then give it the attributes to // initialize itself. if (!fragment.mRetaining) { fragment.onInflate(attrs, fragment.mSavedFragmentState); fragment.onInflate(this, attrs, fragment.mSavedFragmentState); } mFragments.moveToState(fragment); } Loading core/java/android/app/Fragment.java +39 −14 Original line number Diff line number Diff line Loading @@ -858,33 +858,58 @@ public class Fragment implements ComponentCallbacks, OnCreateContextMenuListener return mActivity.getLayoutInflater(); } /** * @deprecated Use {@link #onInflate(Activity, AttributeSet, Bundle)} instead. */ @Deprecated public void onInflate(AttributeSet attrs, Bundle savedInstanceState) { mCalled = true; } /** * Called when a fragment is being created as part of a view layout * inflation, typically from setting the content view of an activity. This * will be called immediately after the fragment is created from a <fragment> * may be called immediately after the fragment is created from a <fragment> * tag in a layout file. Note this is <em>before</em> the fragment's * {@link #onAttach(Activity)} has been called; all you should do here is * parse the attributes and save them away. A convenient thing to do is * simply copy them into a Bundle that is given to {@link #setArguments(Bundle)}. * parse the attributes and save them away. * * <p>This is called every time the fragment is inflated, even if it is * being inflated into a new instance with saved state. Because a fragment's * arguments are retained across instances, it may make no sense to re-parse * the attributes into new arguments. You may want to first check * {@link #getArguments()} and only parse the attributes if it returns null, * the assumption being that if it is non-null those are the same arguments * from the first time the fragment was inflated. (That said, you may want * to have layouts change for different configurations such as landscape * and portrait, which can have different attributes. If so, you will need * to re-parse the attributes each time this is called to generate new * arguments.)</p> * being inflated into a new instance with saved state. It typically makes * sense to re-parse the parameters each time, to allow them to change with * different configurations.</p> * * <p>Here is a typical implementation of a fragment that can take parameters * both through attributes supplied here as well from {@link #getArguments()}:</p> * * {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentArguments.java * fragment} * * <p>Note that parsing the XML attributes uses a "styleable" resource. The * declaration for the styleable used here is:</p> * * {@sample development/samples/ApiDemos/res/values/attrs.xml fragment_arguments} * * <p>The fragment can then be declared within its activity's content layout * through a tag like this:</p> * * {@sample development/samples/ApiDemos/res/layout/fragment_arguments.xml from_attributes} * * <p>This fragment can also be created dynamically from arguments given * at runtime in the arguments Bundle; here is an example of doing so at * creation of the containing activity:</p> * * {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentArguments.java * create} * * @param activity The Activity that is inflating this fragment. * @param attrs The attributes at the tag where the fragment is * being created. * @param savedInstanceState If the fragment is being re-created from * a previous saved state, this is the state. */ public void onInflate(AttributeSet attrs, Bundle savedInstanceState) { public void onInflate(Activity activity, AttributeSet attrs, Bundle savedInstanceState) { onInflate(attrs, savedInstanceState); mCalled = true; } Loading core/java/android/app/FragmentManager.java +6 −0 Original line number Diff line number Diff line Loading @@ -660,6 +660,12 @@ final class FragmentManagerImpl extends FragmentManager { } if (f.mState < newState) { // For fragments that are created from a layout, when restoring from // state we don't want to allow them to be created until they are // being reloaded from the layout. if (f.mFromLayout && !f.mInLayout) { return; } if (f.mAnimatingAway != null) { // The fragment is currently being animated... but! Now we // want to move our state back up. Give up on waiting for the Loading core/java/android/os/Bundle.java +44 −1 Original line number Diff line number Diff line Loading @@ -1028,7 +1028,6 @@ public final class Bundle implements Parcelable, Cloneable { } } /** * Returns the value associated with the given key, or null if * no mapping of the desired type exists for the given key or a null Loading @@ -1051,6 +1050,28 @@ public final class Bundle implements Parcelable, Cloneable { } } /** * Returns the value associated with the given key, or defaultValue if * no mapping of the desired type exists for the given key. * * @param key a String, or null * @param defaultValue Value to return if key does not exist * @return a String value, or null */ public String getString(String key, String defaultValue) { unparcel(); Object o = mMap.get(key); if (o == null) { return defaultValue; } try { return (String) o; } catch (ClassCastException e) { typeWarning(key, o, "String", e); return defaultValue; } } /** * Returns the value associated with the given key, or null if * no mapping of the desired type exists for the given key or a null Loading @@ -1073,6 +1094,28 @@ public final class Bundle implements Parcelable, Cloneable { } } /** * Returns the value associated with the given key, or defaultValue if * no mapping of the desired type exists for the given key. * * @param key a String, or null * @param defaultValue Value to return if key does not exist * @return a CharSequence value, or null */ public CharSequence getCharSequence(String key, CharSequence defaultValue) { unparcel(); Object o = mMap.get(key); if (o == null) { return defaultValue; } try { return (CharSequence) o; } catch (ClassCastException e) { typeWarning(key, o, "CharSequence", e); return defaultValue; } } /** * Returns the value associated with the given key, or null if * no mapping of the desired type exists for the given key or a null Loading Loading
api/current.xml +47 −0 Original line number Diff line number Diff line Loading @@ -30379,6 +30379,21 @@ <parameter name="hidden" type="boolean"> </parameter> </method> <method name="onInflate" return="void" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="deprecated" visibility="public" > <parameter name="attrs" type="android.util.AttributeSet"> </parameter> <parameter name="savedInstanceState" type="android.os.Bundle"> </parameter> </method> <method name="onInflate" return="void" abstract="false" Loading @@ -30389,6 +30404,8 @@ deprecated="not deprecated" visibility="public" > <parameter name="activity" type="android.app.Activity"> </parameter> <parameter name="attrs" type="android.util.AttributeSet"> </parameter> <parameter name="savedInstanceState" type="android.os.Bundle"> Loading Loading @@ -143820,6 +143837,21 @@ <parameter name="key" type="java.lang.String"> </parameter> </method> <method name="getCharSequence" return="java.lang.CharSequence" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="key" type="java.lang.String"> </parameter> <parameter name="defaultValue" type="java.lang.CharSequence"> </parameter> </method> <method name="getCharSequenceArray" return="java.lang.CharSequence[]" abstract="false" Loading Loading @@ -144153,6 +144185,21 @@ <parameter name="key" type="java.lang.String"> </parameter> </method> <method name="getString" return="java.lang.String" abstract="false" native="false" synchronized="false" static="false" final="false" deprecated="not deprecated" visibility="public" > <parameter name="key" type="java.lang.String"> </parameter> <parameter name="defaultValue" type="java.lang.String"> </parameter> </method> <method name="getStringArray" return="java.lang.String[]" abstract="false"
core/java/android/app/Activity.java +2 −2 Original line number Diff line number Diff line Loading @@ -4137,7 +4137,7 @@ public class Activity extends ContextThemeWrapper fragment.mInLayout = true; fragment.mImmediateActivity = this; fragment.mFragmentManager = mFragments; fragment.onInflate(attrs, fragment.mSavedFragmentState); fragment.onInflate(this, attrs, fragment.mSavedFragmentState); mFragments.addFragment(fragment, true); } else if (fragment.mInLayout) { Loading @@ -4156,7 +4156,7 @@ public class Activity extends ContextThemeWrapper // from last saved state), then give it the attributes to // initialize itself. if (!fragment.mRetaining) { fragment.onInflate(attrs, fragment.mSavedFragmentState); fragment.onInflate(this, attrs, fragment.mSavedFragmentState); } mFragments.moveToState(fragment); } Loading
core/java/android/app/Fragment.java +39 −14 Original line number Diff line number Diff line Loading @@ -858,33 +858,58 @@ public class Fragment implements ComponentCallbacks, OnCreateContextMenuListener return mActivity.getLayoutInflater(); } /** * @deprecated Use {@link #onInflate(Activity, AttributeSet, Bundle)} instead. */ @Deprecated public void onInflate(AttributeSet attrs, Bundle savedInstanceState) { mCalled = true; } /** * Called when a fragment is being created as part of a view layout * inflation, typically from setting the content view of an activity. This * will be called immediately after the fragment is created from a <fragment> * may be called immediately after the fragment is created from a <fragment> * tag in a layout file. Note this is <em>before</em> the fragment's * {@link #onAttach(Activity)} has been called; all you should do here is * parse the attributes and save them away. A convenient thing to do is * simply copy them into a Bundle that is given to {@link #setArguments(Bundle)}. * parse the attributes and save them away. * * <p>This is called every time the fragment is inflated, even if it is * being inflated into a new instance with saved state. Because a fragment's * arguments are retained across instances, it may make no sense to re-parse * the attributes into new arguments. You may want to first check * {@link #getArguments()} and only parse the attributes if it returns null, * the assumption being that if it is non-null those are the same arguments * from the first time the fragment was inflated. (That said, you may want * to have layouts change for different configurations such as landscape * and portrait, which can have different attributes. If so, you will need * to re-parse the attributes each time this is called to generate new * arguments.)</p> * being inflated into a new instance with saved state. It typically makes * sense to re-parse the parameters each time, to allow them to change with * different configurations.</p> * * <p>Here is a typical implementation of a fragment that can take parameters * both through attributes supplied here as well from {@link #getArguments()}:</p> * * {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentArguments.java * fragment} * * <p>Note that parsing the XML attributes uses a "styleable" resource. The * declaration for the styleable used here is:</p> * * {@sample development/samples/ApiDemos/res/values/attrs.xml fragment_arguments} * * <p>The fragment can then be declared within its activity's content layout * through a tag like this:</p> * * {@sample development/samples/ApiDemos/res/layout/fragment_arguments.xml from_attributes} * * <p>This fragment can also be created dynamically from arguments given * at runtime in the arguments Bundle; here is an example of doing so at * creation of the containing activity:</p> * * {@sample development/samples/ApiDemos/src/com/example/android/apis/app/FragmentArguments.java * create} * * @param activity The Activity that is inflating this fragment. * @param attrs The attributes at the tag where the fragment is * being created. * @param savedInstanceState If the fragment is being re-created from * a previous saved state, this is the state. */ public void onInflate(AttributeSet attrs, Bundle savedInstanceState) { public void onInflate(Activity activity, AttributeSet attrs, Bundle savedInstanceState) { onInflate(attrs, savedInstanceState); mCalled = true; } Loading
core/java/android/app/FragmentManager.java +6 −0 Original line number Diff line number Diff line Loading @@ -660,6 +660,12 @@ final class FragmentManagerImpl extends FragmentManager { } if (f.mState < newState) { // For fragments that are created from a layout, when restoring from // state we don't want to allow them to be created until they are // being reloaded from the layout. if (f.mFromLayout && !f.mInLayout) { return; } if (f.mAnimatingAway != null) { // The fragment is currently being animated... but! Now we // want to move our state back up. Give up on waiting for the Loading
core/java/android/os/Bundle.java +44 −1 Original line number Diff line number Diff line Loading @@ -1028,7 +1028,6 @@ public final class Bundle implements Parcelable, Cloneable { } } /** * Returns the value associated with the given key, or null if * no mapping of the desired type exists for the given key or a null Loading @@ -1051,6 +1050,28 @@ public final class Bundle implements Parcelable, Cloneable { } } /** * Returns the value associated with the given key, or defaultValue if * no mapping of the desired type exists for the given key. * * @param key a String, or null * @param defaultValue Value to return if key does not exist * @return a String value, or null */ public String getString(String key, String defaultValue) { unparcel(); Object o = mMap.get(key); if (o == null) { return defaultValue; } try { return (String) o; } catch (ClassCastException e) { typeWarning(key, o, "String", e); return defaultValue; } } /** * Returns the value associated with the given key, or null if * no mapping of the desired type exists for the given key or a null Loading @@ -1073,6 +1094,28 @@ public final class Bundle implements Parcelable, Cloneable { } } /** * Returns the value associated with the given key, or defaultValue if * no mapping of the desired type exists for the given key. * * @param key a String, or null * @param defaultValue Value to return if key does not exist * @return a CharSequence value, or null */ public CharSequence getCharSequence(String key, CharSequence defaultValue) { unparcel(); Object o = mMap.get(key); if (o == null) { return defaultValue; } try { return (CharSequence) o; } catch (ClassCastException e) { typeWarning(key, o, "CharSequence", e); return defaultValue; } } /** * Returns the value associated with the given key, or null if * no mapping of the desired type exists for the given key or a null Loading