package com.xabber.android.ui.preferences;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.CheckBoxPreference;
import android.preference.PreferenceFragment;
import android.preference.PreferenceManager;
import com.xabber.android.R;
import com.xabber.android.data.SettingsManager;
import com.xabber.android.ui.activity.PreferenceSummaryHelperActivity;
public class ContactListSettingsFragment extends PreferenceFragment
implements SharedPreferences.OnSharedPreferenceChangeListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences_contact_list);
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.contacts_show_accounts_key))
|| key.equals(getString(R.string.contacts_show_groups_key))) {
changeGrouping();
}
}
private void changeGrouping() {
boolean grouped = SettingsManager.contactsShowAccounts()
|| SettingsManager.contactsShowGroups();
((CheckBoxPreference) getPreferenceScreen().findPreference(
getString(R.string.contacts_stay_active_chats_key)))
.setChecked(grouped);
getPreferenceScreen().findPreference(getString(R.string.contacts_show_empty_groups_key))
.setEnabled(grouped);
}
}