package org.wikipedia.settings;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import org.wikipedia.R;
public class SettingsFragment extends PreferenceLoaderFragment {
public static SettingsFragment newInstance() {
return new SettingsFragment();
}
@Override public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setHasOptionsMenu(true);
}
@Override
public void loadPreferences() {
SettingsPreferenceLoader preferenceLoader = new SettingsPreferenceLoader(this);
preferenceLoader.loadPreferences();
}
@Override
public void onResume() {
super.onResume();
invalidateOptionsMenu();
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.menu_settings, menu);
}
@Override
public void onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
prepareDeveloperSettingsMenuItem(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.developer_settings:
launchDeveloperSettingsActivity();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
private void launchDeveloperSettingsActivity() {
startActivity(DeveloperSettingsActivity.newIntent(getActivity()));
}
private void prepareDeveloperSettingsMenuItem(Menu menu) {
menu.findItem(R.id.developer_settings).setVisible(Prefs.isShowDeveloperSettingsEnabled());
}
private void invalidateOptionsMenu() {
getActivity().supportInvalidateOptionsMenu();
}
}