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