Fix SettingsPreferenceFragment.startFragment()

- was always passing R.string.lock_settings_picker_title as a title res

Change-Id: Iab47ef3da00e91d5ce3b6dc50c50c943bd78b08f
This commit is contained in:
Fabrice Di Meglio
2014-07-01 15:15:18 -07:00
parent d729029b90
commit 5bdf0423f9
5 changed files with 25 additions and 21 deletions

View File

@@ -508,7 +508,7 @@ public class SecuritySettings extends SettingsPreferenceFragment
final LockPatternUtils lockPatternUtils = mChooseLockSettingsHelper.utils(); final LockPatternUtils lockPatternUtils = mChooseLockSettingsHelper.utils();
if (KEY_UNLOCK_SET_OR_CHANGE.equals(key)) { if (KEY_UNLOCK_SET_OR_CHANGE.equals(key)) {
startFragment(this, "com.android.settings.ChooseLockGeneric$ChooseLockGenericFragment", startFragment(this, "com.android.settings.ChooseLockGeneric$ChooseLockGenericFragment",
SET_OR_CHANGE_LOCK_METHOD_REQUEST, null); R.string.lock_settings_picker_title, SET_OR_CHANGE_LOCK_METHOD_REQUEST, null);
} else if (KEY_BIOMETRIC_WEAK_IMPROVE_MATCHING.equals(key)) { } else if (KEY_BIOMETRIC_WEAK_IMPROVE_MATCHING.equals(key)) {
ChooseLockSettingsHelper helper = ChooseLockSettingsHelper helper =
new ChooseLockSettingsHelper(this.getActivity(), this); new ChooseLockSettingsHelper(this.getActivity(), this);

View File

@@ -16,6 +16,7 @@
package com.android.settings; package com.android.settings;
import android.app.Activity;
import android.app.Dialog; import android.app.Dialog;
import android.app.DialogFragment; import android.app.DialogFragment;
import android.app.Fragment; import android.app.Fragment;
@@ -27,6 +28,7 @@ import android.database.DataSetObserver;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.Bundle; import android.os.Bundle;
import android.preference.Preference; import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceFragment; import android.preference.PreferenceFragment;
import android.preference.PreferenceGroupAdapter; import android.preference.PreferenceGroupAdapter;
import android.text.TextUtils; import android.text.TextUtils;
@@ -35,7 +37,6 @@ import android.view.Menu;
import android.view.MenuInflater; import android.view.MenuInflater;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View; import android.view.View;
import android.view.ViewGroup;
import android.widget.Button; import android.widget.Button;
import android.widget.ListAdapter; import android.widget.ListAdapter;
import android.widget.ListView; import android.widget.ListView;
@@ -452,19 +453,23 @@ public class SettingsPreferenceFragment extends PreferenceFragment implements Di
getActivity().onBackPressed(); getActivity().onBackPressed();
} }
public boolean startFragment( public boolean startFragment(Fragment caller, String fragmentClass, int titleRes,
Fragment caller, String fragmentClass, int requestCode, Bundle extras) { int requestCode, Bundle extras) {
if (getActivity() instanceof SettingsActivity) { final Activity activity = getActivity();
SettingsActivity sa = (SettingsActivity) getActivity(); if (activity instanceof SettingsActivity) {
sa.startPreferencePanel(fragmentClass, extras, SettingsActivity sa = (SettingsActivity) activity;
R.string.lock_settings_picker_title, null, caller, requestCode); sa.startPreferencePanel(fragmentClass, extras, titleRes, null, caller, requestCode);
return true;
} else if (activity instanceof PreferenceActivity) {
PreferenceActivity sa = (PreferenceActivity) activity;
sa.startPreferencePanel(fragmentClass, extras, titleRes, null, caller, requestCode);
return true; return true;
} else { } else {
Log.w(TAG, "Parent isn't Settings activity, thus there's no way to launch the " Log.w(TAG,
+ "given Fragment (name: " + fragmentClass + ", requestCode: " + requestCode "Parent isn't SettingsActivity nor PreferenceActivity, thus there's no way to "
+ ")"); + "launch the given Fragment (name: " + fragmentClass
+ ", requestCode: " + requestCode + ")");
return false; return false;
} }
} }
} }

View File

@@ -41,7 +41,6 @@ import android.os.storage.StorageManager;
import android.os.storage.StorageVolume; import android.os.storage.StorageVolume;
import android.preference.Preference; import android.preference.Preference;
import android.preference.PreferenceScreen; import android.preference.PreferenceScreen;
import android.provider.SearchIndexableResource;
import android.util.Log; import android.util.Log;
import android.view.Menu; import android.view.Menu;
import android.view.MenuInflater; import android.view.MenuInflater;
@@ -193,11 +192,10 @@ public class Memory extends SettingsPreferenceFragment implements Indexable{
if (getActivity() instanceof SettingsActivity) { if (getActivity() instanceof SettingsActivity) {
((SettingsActivity) getActivity()).startPreferencePanel( ((SettingsActivity) getActivity()).startPreferencePanel(
UsbSettings.class.getCanonicalName(), UsbSettings.class.getCanonicalName(),
null, null, R.string.storage_title_usb, null, this, 0);
R.string.storage_title_usb, null,
this, 0);
} else { } else {
startFragment(this, UsbSettings.class.getCanonicalName(), -1, null); startFragment(this, UsbSettings.class.getCanonicalName(),
R.string.storage_title_usb, -1, null);
} }
return true; return true;
} }

View File

@@ -235,7 +235,7 @@ public class InputMethodAndLanguageSettings extends SettingsPreferenceFragment
targetFragment = UserDictionaryList.class; targetFragment = UserDictionaryList.class;
} }
startFragment(InputMethodAndLanguageSettings.this, startFragment(InputMethodAndLanguageSettings.this,
targetFragment.getCanonicalName(), -1, extras); targetFragment.getCanonicalName(), -1, -1, extras);
return true; return true;
} }
}); });

View File

@@ -25,7 +25,6 @@ import com.android.settings.SettingsActivity;
import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable; import com.android.settings.search.Indexable;
import com.android.settings.search.SearchIndexableRaw; import com.android.settings.search.SearchIndexableRaw;
import com.android.settings.widget.SwitchBar;
import com.android.settings.wifi.p2p.WifiP2pSettings; import com.android.settings.wifi.p2p.WifiP2pSettings;
import android.app.Activity; import android.app.Activity;
@@ -366,7 +365,8 @@ public class WifiSettings extends RestrictedSettingsFragment
R.string.wifi_p2p_settings_title, null, R.string.wifi_p2p_settings_title, null,
this, 0); this, 0);
} else { } else {
startFragment(this, WifiP2pSettings.class.getCanonicalName(), -1, null); startFragment(this, WifiP2pSettings.class.getCanonicalName(),
R.string.wifi_p2p_settings_title, -1, null);
} }
return true; return true;
case MENU_ID_WPS_PIN: case MENU_ID_WPS_PIN:
@@ -390,7 +390,8 @@ public class WifiSettings extends RestrictedSettingsFragment
R.string.wifi_advanced_titlebar, null, R.string.wifi_advanced_titlebar, null,
this, 0); this, 0);
} else { } else {
startFragment(this, AdvancedWifiSettings.class.getCanonicalName(), -1, null); startFragment(this, AdvancedWifiSettings.class.getCanonicalName(),
R.string.wifi_advanced_titlebar, -1, null);
} }
return true; return true;
} }