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:
@@ -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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user