1package eu.siacs.conversations.ui;
2
3import java.util.Locale;
4
5import eu.siacs.conversations.entities.Account;
6import android.content.SharedPreferences;
7import android.content.SharedPreferences.OnSharedPreferenceChangeListener;
8import android.os.Bundle;
9import android.preference.PreferenceManager;
10
11public class SettingsActivity extends XmppActivity implements
12 OnSharedPreferenceChangeListener {
13 @Override
14 protected void onCreate(Bundle savedInstanceState) {
15 super.onCreate(savedInstanceState);
16 getFragmentManager().beginTransaction()
17 .replace(android.R.id.content, new SettingsFragment()).commit();
18 }
19
20 @Override
21 void onBackendConnected() {
22
23 }
24
25 @Override
26 public void onStart() {
27 super.onStart();
28 PreferenceManager.getDefaultSharedPreferences(this)
29 .registerOnSharedPreferenceChangeListener(this);
30 }
31
32 @Override
33 public void onStop() {
34 super.onPause();
35 PreferenceManager.getDefaultSharedPreferences(this)
36 .unregisterOnSharedPreferenceChangeListener(this);
37 }
38
39 @Override
40 public void onSharedPreferenceChanged(SharedPreferences preferences,
41 String name) {
42 if (name.equals("resource")) {
43 String resource = preferences.getString("resource", "mobile")
44 .toLowerCase(Locale.US);
45 if (xmppConnectionServiceBound) {
46 for (Account account : xmppConnectionService.getAccounts()) {
47 account.setResource(resource);
48 if (!account.isOptionSet(Account.OPTION_DISABLED)) {
49 xmppConnectionService.reconnectAccount(account, false);
50 }
51 }
52 }
53 }
54 }
55
56}