EventReceiver.java

 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}