Remove OnStateListener and FragmentStarter.

Those interfaces aren't available any more, as we make Settings
inherit PreferenceActivity.

Bug: 3034757
Change-Id: I2f778a12168e3033291d6935bcc73637e7c78c0b
This commit is contained in:
Daisuke Miyakawa
2010-09-24 11:29:31 -07:00
parent 379d9b05cf
commit 25af150c98
2 changed files with 10 additions and 63 deletions

View File

@@ -26,8 +26,7 @@ import java.util.List;
/** /**
* Top-level settings activity to handle single pane and double pane UI layout. * Top-level settings activity to handle single pane and double pane UI layout.
*/ */
public class Settings extends PreferenceActivity implements public class Settings extends PreferenceActivity {
SettingsPreferenceFragment.FragmentStarter {
// TODO: Update Call Settings based on airplane mode state. // TODO: Update Call Settings based on airplane mode state.
@@ -89,15 +88,4 @@ public class Settings extends PreferenceActivity implements
private boolean needsDockSettings() { private boolean needsDockSettings() {
return getResources().getBoolean(R.bool.has_dock_settings); 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;
}
} }

View File

@@ -58,44 +58,11 @@ public class SettingsPreferenceFragment extends PreferenceFragment
private SettingsDialogFragment mDialogFragment; private SettingsDialogFragment mDialogFragment;
private OnStateListener mOnStateListener;
private FragmentStarter mFragmentStarter;
private int mResultCode = Activity.RESULT_CANCELED; private int mResultCode = Activity.RESULT_CANCELED;
private Intent mResultData; private Intent mResultData;
private Button mNextButton; 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 @Override
public void onResume() { public void onResume() {
super.onResume(); super.onResume();
@@ -119,12 +86,6 @@ public class SettingsPreferenceFragment extends PreferenceFragment
@Override @Override
public void onActivityCreated(Bundle savedInstanceState) { public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(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(); setupButtonBar();
} }
@@ -154,14 +115,6 @@ public class SettingsPreferenceFragment extends PreferenceFragment
getActivity().onBackPressed(); 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 // Some helpers for functions used by the settings fragments when they were activities
/** /**
@@ -249,10 +202,16 @@ public class SettingsPreferenceFragment extends PreferenceFragment
public boolean startFragment( public boolean startFragment(
Fragment caller, String fragmentClass, int requestCode, Bundle extras) { Fragment caller, String fragmentClass, int requestCode, Bundle extras) {
if (mFragmentStarter != null) { if (getActivity() instanceof PreferenceActivity) {
return mFragmentStarter.startFragment(caller, fragmentClass, requestCode, extras); PreferenceActivity preferenceActivity = (PreferenceActivity)getActivity();
Fragment f = Fragment.instantiate(getActivity(), fragmentClass, extras);
caller.setTargetFragment(f, requestCode);
preferenceActivity.switchToHeader(fragmentClass, extras);
return true;
} else { } 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; return false;
} }
} }