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(); } }