use header for plugins pref

This commit is contained in:
Philipp Schaefer
2013-09-10 14:29:09 +02:00
parent 3f9af18ba5
commit eb8784ddd3
9 changed files with 190 additions and 81 deletions

View File

@ -0,0 +1,63 @@
package com.cradle.iitc_mobile.fragments;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.os.Bundle;
import android.preference.EditTextPreference;
import android.preference.ListPreference;
import android.preference.Preference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.PreferenceFragment;
import com.cradle.iitc_mobile.R;
public class MainSettings extends PreferenceFragment {
private String mIitcVersion;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mIitcVersion = getArguments().getString("iitc_version");
addPreferencesFromResource(R.xml.preferences);
// set build version
ListPreference pref_build_version = (ListPreference) findPreference("pref_build_version");
PackageManager pm = getActivity().getPackageManager();
String version = "unknown";
try {
PackageInfo info = pm.getPackageInfo(
getActivity().getPackageName(), 0);
version = info.versionName;
} catch (NameNotFoundException e) {
e.printStackTrace();
}
pref_build_version.setSummary(version);
// set iitc version
ListPreference pref_iitc_version = (ListPreference) findPreference("pref_iitc_version");
pref_iitc_version.setSummary(mIitcVersion);
// set iitc source
EditTextPreference pref_iitc_source = (EditTextPreference) findPreference("pref_iitc_source");
pref_iitc_source
.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference,
Object newValue) {
preference.setSummary(getString(R.string.pref_select_iitc_sum) +
" " + newValue);
// TODO: update mIitcVersion when iitc source has
// changed
return true;
}
});
// first init of summary
String pref_iitc_source_sum = getString(R.string.pref_select_iitc_sum)
+ " " + pref_iitc_source.getText();
pref_iitc_source.setSummary(pref_iitc_source_sum);
}
}

View File

@ -0,0 +1,44 @@
package com.cradle.iitc_mobile.fragments;
import android.app.ActionBar;
import android.os.Bundle;
import android.preference.PreferenceFragment;
import com.cradle.iitc_mobile.IITC_PluginPreference;
import com.cradle.iitc_mobile.R;
import java.util.ArrayList;
public class PluginsFragment extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.pluginspreference);
// alphabetical order
getPreferenceScreen().setOrderingAsAdded(false);
// add plugin checkboxes
ArrayList<String> ids = getArguments().getStringArrayList("ids");
for (String id : ids) {
String title = getArguments().getStringArrayList(id).get(0);
String desc = getArguments().getStringArrayList(id).get(1);
IITC_PluginPreference plugin_pref = new IITC_PluginPreference(getActivity());
plugin_pref.setKey(id);
plugin_pref.setTitle(title);
plugin_pref.setSummary(desc);
plugin_pref.setDefaultValue(false);
plugin_pref.setPersistent(true);
getPreferenceScreen().addPreference(plugin_pref);
}
ActionBar bar = getActivity().getActionBar();
String actionBarTitle = getArguments().getString("title");
bar.setTitle("IITC Plugins: " + actionBarTitle);
bar.setDisplayHomeAsUpEnabled(true);
getActivity().getActionBar().setDisplayHomeAsUpEnabled(true);
}
}