make fcm receiver ignore messages when all accounts are disabled

This commit is contained in:
Daniel Gultsch 2018-05-20 12:01:07 +02:00
parent ec54a483f8
commit 383b32c80d
2 changed files with 8 additions and 1 deletions

View file

@ -34,7 +34,7 @@ public class EventReceiver extends BroadcastReceiver {
} }
} }
public boolean hasEnabledAccounts(Context context) { public static boolean hasEnabledAccounts(Context context) {
return PreferenceManager.getDefaultSharedPreferences(context).getBoolean(SETTING_ENABLED_ACCOUNTS,true); return PreferenceManager.getDefaultSharedPreferences(context).getBoolean(SETTING_ENABLED_ACCOUNTS,true);
} }

View file

@ -1,16 +1,23 @@
package eu.siacs.conversations.services; package eu.siacs.conversations.services;
import android.content.Intent; import android.content.Intent;
import android.util.Log;
import com.google.firebase.messaging.FirebaseMessagingService; import com.google.firebase.messaging.FirebaseMessagingService;
import com.google.firebase.messaging.RemoteMessage; import com.google.firebase.messaging.RemoteMessage;
import java.util.Map; import java.util.Map;
import eu.siacs.conversations.Config;
public class PushMessageReceiver extends FirebaseMessagingService { public class PushMessageReceiver extends FirebaseMessagingService {
@Override @Override
public void onMessageReceived(RemoteMessage message) { public void onMessageReceived(RemoteMessage message) {
if (!EventReceiver.hasEnabledAccounts(this)) {
Log.d(Config.LOGTAG,"PushMessageReceiver ignored message because no accounts are enabled");
return;
}
Map<String, String> data = message.getData(); Map<String, String> data = message.getData();
Intent intent = new Intent(this, XmppConnectionService.class); Intent intent = new Intent(this, XmppConnectionService.class);
intent.setAction(XmppConnectionService.ACTION_FCM_MESSAGE_RECEIVED); intent.setAction(XmppConnectionService.ACTION_FCM_MESSAGE_RECEIVED);