Remove OnStateListener and FragmentStarter.
Those interfaces aren't available any more, as we make Settings
inherit PreferenceActivity.
Bug: 3034757
Change-Id: I2f778a12168e3033291d6935bcc73637e7c78c0b
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index de1a63c..1f57f6c 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -26,8 +26,7 @@
/**
* Top-level settings activity to handle single pane and double pane UI layout.
*/
-public class Settings extends PreferenceActivity implements
- SettingsPreferenceFragment.FragmentStarter {
+public class Settings extends PreferenceActivity {
// TODO: Update Call Settings based on airplane mode state.
@@ -89,15 +88,4 @@
private boolean needsDockSettings() {
return getResources().getBoolean(R.bool.has_dock_settings);
}
-
- public boolean startFragment(Fragment caller, String fragmentClass, int requestCode,
- Bundle extras) {
- Fragment f = Fragment.instantiate(this, fragmentClass, extras);
- caller.setTargetFragment(f, requestCode);
- if (f instanceof SettingsPreferenceFragment) {
- SettingsPreferenceFragment spf = (SettingsPreferenceFragment) f;
- spf.setFragmentStarter(this);
- }
- return true;
- }
}
diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java
index f41561e..4211814 100644
--- a/src/com/android/settings/SettingsPreferenceFragment.java
+++ b/src/com/android/settings/SettingsPreferenceFragment.java
@@ -58,44 +58,11 @@
private SettingsDialogFragment mDialogFragment;
- private OnStateListener mOnStateListener;
- private FragmentStarter mFragmentStarter;
-
private int mResultCode = Activity.RESULT_CANCELED;
private Intent mResultData;
private Button mNextButton;
- private boolean mReportedCreation;
-
- interface OnStateListener {
-
- void onCreated(SettingsPreferenceFragment fragment);
-
- void onDestroyed(SettingsPreferenceFragment fragment);
- }
-
- public void setOnStateListener(OnStateListener listener) {
- mOnStateListener = listener;
- }
-
- /**
- * Letting the class, assumed to be Fragment, start another Fragment object.
- * The target Fragment object is stored in the caller Fragment using
- * {@link Fragment#setTargetFragment(Fragment, int)}. The caller
- * is able to obtain result code and result data via
- * {@link SettingsPreferenceFragment#getResultCode()} and
- * {@link SettingsPreferenceFragment#getResultData()} accordingly.
- */
- interface FragmentStarter {
- public boolean startFragment(
- Fragment caller, String fragmentClass, int requestCode, Bundle extras);
- }
-
- public void setFragmentStarter(FragmentStarter starter) {
- mFragmentStarter = starter;
- }
-
@Override
public void onResume() {
super.onResume();
@@ -119,12 +86,6 @@
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
- if (mOnStateListener != null && !mReportedCreation) {
- mOnStateListener.onCreated(this);
- // So that we don't report it on the way back to this fragment
- mReportedCreation = true;
- }
-
setupButtonBar();
}
@@ -154,14 +115,6 @@
getActivity().onBackPressed();
}
- @Override
- public void onDestroy() {
- super.onDestroy();
- if (mOnStateListener != null) {
- mOnStateListener.onDestroyed(this);
- }
- }
-
// Some helpers for functions used by the settings fragments when they were activities
/**
@@ -249,10 +202,16 @@
public boolean startFragment(
Fragment caller, String fragmentClass, int requestCode, Bundle extras) {
- if (mFragmentStarter != null) {
- return mFragmentStarter.startFragment(caller, fragmentClass, requestCode, extras);
+ if (getActivity() instanceof PreferenceActivity) {
+ PreferenceActivity preferenceActivity = (PreferenceActivity)getActivity();
+ Fragment f = Fragment.instantiate(getActivity(), fragmentClass, extras);
+ caller.setTargetFragment(f, requestCode);
+ preferenceActivity.switchToHeader(fragmentClass, extras);
+ return true;
} else {
- Log.w(TAG, "FragmentStarter is not set.");
+ Log.w(TAG, "Parent isn't PreferenceActivity, thus there's no way to launch the "
+ + "given Fragment (name: " + fragmentClass + ", requestCode: " + requestCode
+ + ")");
return false;
}
}