diff --git a/mailbox-android/src/main/java/org/briarproject/mailbox/android/StartReceiver.kt b/mailbox-android/src/main/java/org/briarproject/mailbox/android/StartReceiver.kt index 9865d44008e9c131cd57ec6d083f8440b87ffabb..0719c1be073aea16f69d4a0766e2fe4992c68153 100644 --- a/mailbox-android/src/main/java/org/briarproject/mailbox/android/StartReceiver.kt +++ b/mailbox-android/src/main/java/org/briarproject/mailbox/android/StartReceiver.kt @@ -27,6 +27,7 @@ import android.content.Intent.ACTION_MY_PACKAGE_REPLACED import dagger.hilt.android.AndroidEntryPoint import org.briarproject.mailbox.core.lifecycle.LifecycleManager import org.briarproject.mailbox.core.lifecycle.LifecycleManager.LifecycleState.NOT_STARTED +import org.briarproject.mailbox.core.setup.SetupManager import org.briarproject.mailbox.core.util.LogUtils.debug import org.slf4j.LoggerFactory.getLogger import javax.inject.Inject @@ -39,10 +40,16 @@ class StartReceiver : BroadcastReceiver() { @Inject internal lateinit var lifecycleManager: LifecycleManager + @Inject + internal lateinit var setupManager: SetupManager + override fun onReceive(context: Context, intent: Intent) { val action = intent.action if (action != ACTION_BOOT_COMPLETED && action != ACTION_MY_PACKAGE_REPLACED) return + // don't start, if we don't even have a database + if (!setupManager.hasDb) return + val lifecycleState = lifecycleManager.lifecycleStateFlow.value LOG.debug { "Received $action in state ${lifecycleState.name}" } if (lifecycleState == NOT_STARTED) {