|
|
|
@ -21,6 +21,7 @@ import androidx.work.Configuration.Provider
|
|
|
|
|
import kotlinx.coroutines.Deferred
|
|
|
|
|
import kotlinx.coroutines.DelicateCoroutinesApi
|
|
|
|
|
import kotlinx.coroutines.Dispatchers
|
|
|
|
|
import kotlinx.coroutines.Dispatchers.IO
|
|
|
|
|
import kotlinx.coroutines.GlobalScope
|
|
|
|
|
import kotlinx.coroutines.async
|
|
|
|
|
import kotlinx.coroutines.launch
|
|
|
|
@ -65,10 +66,13 @@ import mozilla.components.support.utils.BrowsersCache
|
|
|
|
|
import mozilla.components.support.utils.logElapsedTime
|
|
|
|
|
import mozilla.components.support.webextensions.WebExtensionSupport
|
|
|
|
|
import org.mozilla.fenix.GleanMetrics.Addons
|
|
|
|
|
import org.mozilla.fenix.GleanMetrics.Addresses
|
|
|
|
|
import org.mozilla.fenix.GleanMetrics.AndroidAutofill
|
|
|
|
|
import org.mozilla.fenix.GleanMetrics.CreditCards
|
|
|
|
|
import org.mozilla.fenix.GleanMetrics.CustomizeHome
|
|
|
|
|
import org.mozilla.fenix.GleanMetrics.Events.marketingNotificationAllowed
|
|
|
|
|
import org.mozilla.fenix.GleanMetrics.GleanBuildInfo
|
|
|
|
|
import org.mozilla.fenix.GleanMetrics.Logins
|
|
|
|
|
import org.mozilla.fenix.GleanMetrics.Metrics
|
|
|
|
|
import org.mozilla.fenix.GleanMetrics.PerfStartup
|
|
|
|
|
import org.mozilla.fenix.GleanMetrics.Preferences
|
|
|
|
@ -80,6 +84,7 @@ import org.mozilla.fenix.components.appstate.AppAction
|
|
|
|
|
import org.mozilla.fenix.components.metrics.MetricServiceType
|
|
|
|
|
import org.mozilla.fenix.components.metrics.MozillaProductDetector
|
|
|
|
|
import org.mozilla.fenix.experiments.maybeFetchExperiments
|
|
|
|
|
import org.mozilla.fenix.ext.components
|
|
|
|
|
import org.mozilla.fenix.ext.containsQueryParameters
|
|
|
|
|
import org.mozilla.fenix.ext.getCustomGleanServerUrlIfAvailable
|
|
|
|
|
import org.mozilla.fenix.ext.isCustomEngine
|
|
|
|
@ -809,6 +814,16 @@ open class FenixApplication : LocaleAwareApplication(), Provider {
|
|
|
|
|
migrateTopicSpecificSearchEngines()
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@OptIn(DelicateCoroutinesApi::class)
|
|
|
|
|
GlobalScope.launch(IO) {
|
|
|
|
|
val autoFillStorage = applicationContext.components.core.autofillStorage
|
|
|
|
|
Addresses.savedAll.set(autoFillStorage.getAllAddresses().size.toLong())
|
|
|
|
|
CreditCards.savedAll.set(autoFillStorage.getAllCreditCards().size.toLong())
|
|
|
|
|
|
|
|
|
|
val lazyPasswordStorage = applicationContext.components.core.lazyPasswordsStorage
|
|
|
|
|
Logins.savedAll.set(lazyPasswordStorage.value.list().size.toLong())
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Suppress("ComplexMethod")
|
|
|
|
|