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