diff options
author | Dianne Hackborn <hackbod@google.com> | 2011-03-15 16:52:40 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-03-15 16:52:40 -0700 |
commit | 437c2c1620d0a485a4f81fdb0aaf706d89b865e7 (patch) | |
tree | 7309164b4afe11acfb4a813c89b8853fc4e17018 | |
parent | fd865d0fb5f5b38a41a9196ee54357715bd32254 (diff) | |
parent | b1a6e439f63e4fa2b07a4905f00b6badf58e6420 (diff) | |
download | frameworks_base-437c2c1620d0a485a4f81fdb0aaf706d89b865e7.zip frameworks_base-437c2c1620d0a485a4f81fdb0aaf706d89b865e7.tar.gz frameworks_base-437c2c1620d0a485a4f81fdb0aaf706d89b865e7.tar.bz2 |
Merge "Add new PreferenceActivity API for settings."
-rw-r--r-- | api/current.xml | 17 | ||||
-rw-r--r-- | core/java/android/preference/PreferenceActivity.java | 31 |
2 files changed, 42 insertions, 6 deletions
diff --git a/api/current.xml b/api/current.xml index 41daf5c..1b3c731 100644 --- a/api/current.xml +++ b/api/current.xml @@ -154794,6 +154794,21 @@ <parameter name="target" type="java.util.List<android.preference.PreferenceActivity.Header>"> </parameter> </method> +<method name="onBuildStartFragmentIntent" + return="android.content.Intent" + abstract="false" + native="false" + synchronized="false" + static="false" + final="false" + deprecated="not deprecated" + visibility="public" +> +<parameter name="fragmentName" type="java.lang.String"> +</parameter> +<parameter name="args" type="android.os.Bundle"> +</parameter> +</method> <method name="onGetInitialHeader" return="android.preference.PreferenceActivity.Header" abstract="false" @@ -267130,7 +267145,7 @@ deprecated="not deprecated" visibility="public" > -<parameter name="t" type="T"> +<parameter name="arg0" type="T"> </parameter> </method> </interface> diff --git a/core/java/android/preference/PreferenceActivity.java b/core/java/android/preference/PreferenceActivity.java index ad0bc84..db50bfc 100644 --- a/core/java/android/preference/PreferenceActivity.java +++ b/core/java/android/preference/PreferenceActivity.java @@ -961,6 +961,27 @@ public abstract class PreferenceActivity extends ListActivity implements } /** + * Called by {@link #startWithFragment(String, Bundle, Fragment, int)} when + * in single-pane mode, to build an Intent to launch a new activity showing + * the selected fragment. The default implementation constructs an Intent + * that re-launches the current activity with the appropriate arguments to + * display the fragment. + * + * @param fragmentName The name of the fragment to display. + * @param args Optional arguments to supply to the fragment. + * @return Returns an Intent that can be launched to display the given + * fragment. + */ + public Intent onBuildStartFragmentIntent(String fragmentName, Bundle args) { + Intent intent = new Intent(Intent.ACTION_MAIN); + intent.setClass(this, getClass()); + intent.putExtra(EXTRA_SHOW_FRAGMENT, fragmentName); + intent.putExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS, args); + intent.putExtra(EXTRA_NO_HEADERS, true); + return intent; + } + + /** * Start a new instance of this activity, showing only the given * preference fragment. When launched in this mode, the header list * will be hidden and the given preference fragment will be instantiated @@ -968,14 +989,14 @@ public abstract class PreferenceActivity extends ListActivity implements * * @param fragmentName The name of the fragment to display. * @param args Optional arguments to supply to the fragment. + * @param resultTo Option fragment that should receive the result of + * the activity launch. + * @param resultRequestCode If resultTo is non-null, this is the request + * code in which to report the result. */ public void startWithFragment(String fragmentName, Bundle args, Fragment resultTo, int resultRequestCode) { - Intent intent = new Intent(Intent.ACTION_MAIN); - intent.setClass(this, getClass()); - intent.putExtra(EXTRA_SHOW_FRAGMENT, fragmentName); - intent.putExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS, args); - intent.putExtra(EXTRA_NO_HEADERS, true); + Intent intent = onBuildStartFragmentIntent(fragmentName, args); if (resultTo == null) { startActivity(intent); } else { |