Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ import com.duckduckgo.app.browser.databinding.IncludeOmnibarToolbarMockupBinding
import com.duckduckgo.app.browser.rating.ui.AppEnjoymentDialogFragment
import com.duckduckgo.app.browser.rating.ui.GiveFeedbackDialogFragment
import com.duckduckgo.app.browser.rating.ui.RateAppDialogFragment
import com.duckduckgo.app.browser.serviceworker.ServiceWorkerLifecycleObserver
import com.duckduckgo.app.browser.shortcut.ShortcutBuilder
import com.duckduckgo.app.cta.ui.CtaViewModel
import com.duckduckgo.app.di.AppCoroutineScope
Expand Down Expand Up @@ -107,6 +108,9 @@ open class BrowserActivity : DuckDuckGoActivity(), CoroutineScope by MainScope()
@Inject
lateinit var userEventsStore: UserEventsStore

@Inject
lateinit var serviceWorkerLifecycleObserver: ServiceWorkerLifecycleObserver

@Inject
@AppCoroutineScope
lateinit var appCoroutineScope: CoroutineScope
Expand Down Expand Up @@ -141,6 +145,7 @@ open class BrowserActivity : DuckDuckGoActivity(), CoroutineScope by MainScope()
instanceStateBundles = CombinedInstanceState(originalInstanceState = savedInstanceState, newInstanceState = newInstanceState)

super.onCreate(savedInstanceState = newInstanceState, daggerInject = false)
lifecycle.addObserver(serviceWorkerLifecycleObserver)
toolbarMockupBinding = IncludeOmnibarToolbarMockupBinding.bind(binding.root)
setContentView(binding.root)
viewModel.viewState.observe(this) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,18 +23,15 @@ import androidx.webkit.WebViewFeature
import androidx.webkit.WebViewFeature.SERVICE_WORKER_BASIC_USAGE
import com.duckduckgo.app.browser.RequestInterceptor
import com.duckduckgo.app.global.exception.UncaughtExceptionRepository
import com.duckduckgo.di.scopes.AppScope
import timber.log.Timber
import javax.inject.Inject
import dagger.SingleInstanceIn

@SingleInstanceIn(AppScope::class)
class ServiceWorkerLifecycleObserver @Inject constructor(
private val requestInterceptor: RequestInterceptor,
private val uncaughtExceptionRepository: UncaughtExceptionRepository,
) : DefaultLifecycleObserver {
override fun onStart(owner: LifecycleOwner) {
super.onStart(owner)
override fun onCreate(owner: LifecycleOwner) {
super.onCreate(owner)

if (WebViewFeature.isFeatureSupported(SERVICE_WORKER_BASIC_USAGE)) {
try {
Expand Down