1package eu.siacs.conversations.services;
2
3import android.content.Intent;
4import android.support.v4.content.ContextCompat;
5import android.util.Log;
6
7import com.google.firebase.messaging.FirebaseMessagingService;
8import com.google.firebase.messaging.RemoteMessage;
9
10import java.util.Map;
11
12import eu.siacs.conversations.Config;
13import eu.siacs.conversations.utils.Compatibility;
14
15public class PushMessageReceiver extends FirebaseMessagingService {
16
17 @Override
18 public void onMessageReceived(RemoteMessage message) {
19 if (!EventReceiver.hasEnabledAccounts(this)) {
20 Log.d(Config.LOGTAG,"PushMessageReceiver ignored message because no accounts are enabled");
21 return;
22 }
23 final Map<String, String> data = message.getData();
24 final Intent intent = new Intent(this, XmppConnectionService.class);
25 intent.setAction(XmppConnectionService.ACTION_FCM_MESSAGE_RECEIVED);
26 intent.putExtra("account", data.get("account"));
27 if (Compatibility.runsAndTargetsTwentySix(this)) {
28 intent.putExtra(EventReceiver.EXTRA_NEEDS_FOREGROUND_SERVICE, true);
29 ContextCompat.startForegroundService(this, intent);
30 } else {
31 startService(intent);
32 }
33 }
34
35}