Merge "Fix SettingsPreferenceFragment.startFragment()"

This commit is contained in:
Fabrice Di Meglio
2014-07-01 22:39:09 +00:00
committed by Android (Google) Code Review
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();
if (KEY_UNLOCK_SET_OR_CHANGE.equals(key)) {
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)) {
ChooseLockSettingsHelper helper =
new ChooseLockSettingsHelper(this.getActivity(), this);

View File

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

View File

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

View File

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

View File

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