From 8ff28477ddadb2a0a803e84f92689231e04d544c Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Thu, 24 Jan 2019 20:56:07 +0100 Subject: remove deprecated instanceIdService --- .../messenger/services/InstanceIdService.java | 29 ----------------- .../messenger/services/PushMessageReceiver.java | 38 +++++++++++++++++----- 2 files changed, 29 insertions(+), 38 deletions(-) delete mode 100644 src/standardPush/java/de/pixart/messenger/services/InstanceIdService.java (limited to 'src/standardPush/java/de/pixart/messenger') diff --git a/src/standardPush/java/de/pixart/messenger/services/InstanceIdService.java b/src/standardPush/java/de/pixart/messenger/services/InstanceIdService.java deleted file mode 100644 index 9a3309be4..000000000 --- a/src/standardPush/java/de/pixart/messenger/services/InstanceIdService.java +++ /dev/null @@ -1,29 +0,0 @@ -package de.pixart.messenger.services; - -import android.content.Intent; -import android.support.v4.content.ContextCompat; -import android.util.Log; - -import com.google.firebase.iid.FirebaseInstanceIdService; - -import de.pixart.messenger.Config; -import de.pixart.messenger.utils.Compatibility; - -public class InstanceIdService extends FirebaseInstanceIdService { - - @Override - public void onTokenRefresh() { - final Intent intent = new Intent(this, XmppConnectionService.class); - intent.setAction(XmppConnectionService.ACTION_FCM_TOKEN_REFRESH); - try { - if (Compatibility.runsAndTargetsTwentySix(this)) { - intent.putExtra(EventReceiver.EXTRA_NEEDS_FOREGROUND_SERVICE, true); - ContextCompat.startForegroundService(this, intent); - } else { - startService(intent); - } - } catch (IllegalStateException e) { - Log.e(Config.LOGTAG, "InstanceIdService is not allowed to start service"); - } - } -} \ No newline at end of file diff --git a/src/standardPush/java/de/pixart/messenger/services/PushMessageReceiver.java b/src/standardPush/java/de/pixart/messenger/services/PushMessageReceiver.java index f07167f8d..594225f3b 100644 --- a/src/standardPush/java/de/pixart/messenger/services/PushMessageReceiver.java +++ b/src/standardPush/java/de/pixart/messenger/services/PushMessageReceiver.java @@ -1,16 +1,16 @@ package de.pixart.messenger.services; -import android.content.Intent; -import android.support.v4.content.ContextCompat; -import android.util.Log; + import android.content.Intent; + import android.support.v4.content.ContextCompat; + import android.util.Log; -import com.google.firebase.messaging.FirebaseMessagingService; -import com.google.firebase.messaging.RemoteMessage; + import com.google.firebase.messaging.FirebaseMessagingService; + import com.google.firebase.messaging.RemoteMessage; -import java.util.Map; + import java.util.Map; -import de.pixart.messenger.Config; -import de.pixart.messenger.utils.Compatibility; + import de.pixart.messenger.Config; + import de.pixart.messenger.utils.Compatibility; public class PushMessageReceiver extends FirebaseMessagingService { @@ -32,7 +32,27 @@ public class PushMessageReceiver extends FirebaseMessagingService { startService(intent); } } catch (IllegalStateException e) { - Log.e(Config.LOGTAG, "PushMessageReceiver is not allowed to start service"); + Log.e(Config.LOGTAG, "PushMessageReceiver is not allowed to start service after receiving message"); + } + } + + @Override + public void onNewToken(String token) { + if (!EventReceiver.hasEnabledAccounts(this)) { + Log.d(Config.LOGTAG, "PushMessageReceiver ignored new token because no accounts are enabled"); + return; + } + final Intent intent = new Intent(this, XmppConnectionService.class); + intent.setAction(XmppConnectionService.ACTION_FCM_TOKEN_REFRESH); + try { + if (Compatibility.runsAndTargetsTwentySix(this)) { + intent.putExtra(EventReceiver.EXTRA_NEEDS_FOREGROUND_SERVICE, true); + ContextCompat.startForegroundService(this, intent); + } else { + startService(intent); + } + } catch (IllegalStateException e) { + Log.e(Config.LOGTAG, "PushMessageReceiver is not allowed to start service after receiving new token"); } } } \ No newline at end of file -- cgit v1.2.3