package com.xabber.android.ui.preferences; import android.app.Activity; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceManager; import com.xabber.android.R; import com.xabber.android.ui.activity.PreferenceSummaryHelperActivity; public class ThemeSettingsFragment extends android.preference.PreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener { private OnThemeSettingsFragmentInteractionListener mListener; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preference_theme); PreferenceSummaryHelperActivity.updateSummary(getPreferenceScreen()); } @Override public void onResume() { super.onResume(); PreferenceManager.getDefaultSharedPreferences(getActivity()) .registerOnSharedPreferenceChangeListener(this); } @Override public void onPause() { super.onPause(); PreferenceManager.getDefaultSharedPreferences(getActivity()) .unregisterOnSharedPreferenceChangeListener(this); } @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { if (key.equals(getString(R.string.interface_theme_key))) { mListener.onThemeChanged(); } } @Override public void onAttach(Activity activity) { super.onAttach(activity); try { mListener = (OnThemeSettingsFragmentInteractionListener) activity; } catch (ClassCastException e) { throw new ClassCastException(activity.toString() + " must implement OnThemeSettingsFragmentInteractionListener"); } } @Override public void onDetach() { super.onDetach(); mListener = null; } public interface OnThemeSettingsFragmentInteractionListener { void onThemeChanged(); } }