package de.robv.android.xposed.installer; import android.app.Activity; import android.content.Context; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.Preference; import android.preference.Preference.OnPreferenceChangeListener; import android.preference.PreferenceFragment; import android.preference.PreferenceManager; import java.util.Map; import de.robv.android.xposed.installer.repo.Module; import de.robv.android.xposed.installer.util.PrefixedSharedPreferences; import de.robv.android.xposed.installer.util.RepoLoader; public class DownloadDetailsSettingsFragment extends PreferenceFragment { private DownloadDetailsActivity mActivity; @Override public void onAttach(Activity activity) { super.onAttach(activity); mActivity = (DownloadDetailsActivity) activity; } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final Module module = mActivity.getModule(); if (module == null) return; final String packageName = module.packageName; PreferenceManager prefManager = getPreferenceManager(); prefManager.setSharedPreferencesName("module_settings"); PrefixedSharedPreferences.injectToPreferenceManager(prefManager, module.packageName); addPreferencesFromResource(R.xml.module_prefs); SharedPreferences prefs = getActivity().getSharedPreferences("module_settings", Context.MODE_PRIVATE); SharedPreferences.Editor editor = prefs.edit(); if (prefs.getBoolean("no_global", true)) { for (Map.Entry<String, ?> k : prefs.getAll().entrySet()) { if (prefs.getString(k.getKey(), "").equals("global")) { editor.putString(k.getKey(), "").apply(); } } editor.putBoolean("no_global", false).apply(); } findPreference("release_type").setOnPreferenceChangeListener( new OnPreferenceChangeListener() { @Override public boolean onPreferenceChange(Preference preference, Object newValue) { RepoLoader.getInstance().setReleaseTypeLocal(packageName, (String) newValue); return true; } }); } }