1package com.peachpasswords23import android.app.Application4import androidx.lifecycle.DefaultLifecycleObserver5import androidx.lifecycle.LifecycleOwner6import androidx.lifecycle.ProcessLifecycleOwner7import com.peachpasswords.sync.ForegroundSyncCoordinator8import com.peachpasswords.vault.VaultLockTimer9import com.peachpasswords.vault.VaultRepository10import dagger.hilt.android.HiltAndroidApp11import javax.inject.Inject1213@HiltAndroidApp14class PeachApplication : Application() {15 @Inject lateinit var vault: VaultRepository16 @Inject lateinit var lockTimer: VaultLockTimer17 @Inject lateinit var foregroundSync: ForegroundSyncCoordinator1819 override fun onCreate() {20 super.onCreate()21 22 23 24 ProcessLifecycleOwner.get().lifecycle.addObserver(object : DefaultLifecycleObserver {25 override fun onStart(owner: LifecycleOwner) {26 foregroundSync.triggerForegroundSync()27 }2829 override fun onStop(owner: LifecycleOwner) {30 31 32 33 34 35 if (vault.consumeTransientBackgroundSuppression()) return36 vault.lock()37 lockTimer.cancel()38 }39 })40 }41}