diff --git a/play-services-core/src/main/java/org/microg/gms/gcm/TriggerReceiver.java b/play-services-core/src/main/java/org/microg/gms/gcm/TriggerReceiver.java index 10cc6d68..b3f84d96 100644 --- a/play-services-core/src/main/java/org/microg/gms/gcm/TriggerReceiver.java +++ b/play-services-core/src/main/java/org/microg/gms/gcm/TriggerReceiver.java @@ -25,6 +25,7 @@ import android.util.Log; import androidx.legacy.content.WakefulBroadcastReceiver; +import org.microg.gms.checkin.CheckinPrefs; import org.microg.gms.checkin.LastCheckinInfo; import org.microg.gms.common.ForegroundServiceContext; @@ -67,6 +68,14 @@ public class TriggerReceiver extends WakefulBroadcastReceiver { if (LastCheckinInfo.read(context).getAndroidId() == 0) { Log.d(TAG, "Ignoring " + intent + ": need to checkin first."); + if (CheckinPrefs.isEnabled(context)) { + // Do a check-in if we are not actually checked in, + // but should be, e.g. cleared app data + Log.d(TAG, "Requesting check-in..."); + String action = "android.server.checkin.CHECKIN"; + Class clazz = org.microg.gms.checkin.TriggerReceiver.class; + context.sendBroadcast(new Intent(action, null, context, clazz)); + } return; }