1package eu.siacs.conversations.services;
2
3import android.content.BroadcastReceiver;
4import android.content.Context;
5import android.content.Intent;
6import android.content.SharedPreferences;
7import android.preference.PreferenceManager;
8import android.util.Log;
9
10import eu.siacs.conversations.Config;
11import eu.siacs.conversations.persistance.DatabaseBackend;
12
13public class EventReceiver extends BroadcastReceiver {
14
15 public static final String SETTING_ENABLED_ACCOUNTS = "enabled_accounts";
16
17 @Override
18 public void onReceive(Context context, Intent intent) {
19 Intent mIntentForService = new Intent(context, XmppConnectionService.class);
20 if (intent.getAction() != null) {
21 mIntentForService.setAction(intent.getAction());
22 } else {
23 mIntentForService.setAction("other");
24 }
25 final String action = intent.getAction();
26 if (action.equals("ui") || hasEnabledAccounts(context)) {
27 try {
28 context.startService(mIntentForService);
29 } catch (RuntimeException e) {
30 Log.d(Config.LOGTAG,"EventReceiver was unable to start service");
31 }
32 } else {
33 Log.d(Config.LOGTAG,"EventReceiver ignored action "+mIntentForService.getAction());
34 }
35 }
36
37 public static boolean hasEnabledAccounts(Context context) {
38 return PreferenceManager.getDefaultSharedPreferences(context).getBoolean(SETTING_ENABLED_ACCOUNTS,true);
39 }
40
41}