From befe4a6ea448fd6be78863d851923b153103e051 Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Sun, 24 Sep 2017 21:49:48 +0200 Subject: add maintanence intent to renewe instance id --- .../messenger/services/MaintenanceReceiver.java | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/standardPush/java/de/pixart/messenger/services/MaintenanceReceiver.java (limited to 'src/standardPush/java/de/pixart/messenger') diff --git a/src/standardPush/java/de/pixart/messenger/services/MaintenanceReceiver.java b/src/standardPush/java/de/pixart/messenger/services/MaintenanceReceiver.java new file mode 100644 index 000000000..5cfcbe920 --- /dev/null +++ b/src/standardPush/java/de/pixart/messenger/services/MaintenanceReceiver.java @@ -0,0 +1,41 @@ +package de.pixart.messenger.services; + +import android.content.BroadcastReceiver; +import android.content.Context; +import android.content.Intent; +import android.util.Log; + +import com.google.android.gms.iid.InstanceID; + +import java.io.IOException; + +import eu.siacs.conversations.Config; + +public class MaintenanceReceiver extends BroadcastReceiver { + @Override + public void onReceive(Context context, Intent intent) { + Log.d(Config.LOGTAG, "received intent in maintenance receiver"); + if ("eu.siacs.conversations.RENEW_INSTANCE_ID".equals(intent.getAction())) { + renewInstanceToken(context); + + } + } + + private void renewInstanceToken(final Context context) { + new Thread(new Runnable() { + @Override + public void run() { + InstanceID instanceID = InstanceID.getInstance(context); + try { + instanceID.deleteInstanceID(); + Intent intent = new Intent(context, XmppConnectionService.class); + intent.setAction(XmppConnectionService.ACTION_GCM_TOKEN_REFRESH); + context.startService(intent); + } catch (IOException e) { + Log.d(Config.LOGTAG, "unable to renew instance token", e); + } + } + }).start(); + + } +} \ No newline at end of file -- cgit v1.2.3