1package eu.siacs.conversations.services;
2
3import android.content.Intent;
4import androidx.core.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 Compatibility.startService(this, intent);
28 }
29
30 @Override
31 public void onNewToken(String token) {
32 if (!EventReceiver.hasEnabledAccounts(this)) {
33 Log.d(Config.LOGTAG,"PushMessageReceiver ignored new token because no accounts are enabled");
34 return;
35 }
36 final Intent intent = new Intent(this, XmppConnectionService.class);
37 intent.setAction(XmppConnectionService.ACTION_FCM_TOKEN_REFRESH);
38 Compatibility.startService(this, intent);
39 }
40
41}