|
|
|
@ -46,7 +46,6 @@ import org.mozilla.fenix.ext.settings
|
|
|
|
|
import org.mozilla.fenix.perf.StrictModeManager
|
|
|
|
|
import org.mozilla.fenix.perf.lazyMonitored
|
|
|
|
|
import org.mozilla.fenix.sync.SyncedTabsIntegration
|
|
|
|
|
import org.mozilla.fenix.utils.Settings
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Component group for background services. These are the components that need to be accessed from within a
|
|
|
|
@ -127,7 +126,7 @@ class BackgroundServices(
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private val telemetryAccountObserver = TelemetryAccountObserver(
|
|
|
|
|
context.settings(),
|
|
|
|
|
context
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
val accountAbnormalities = AccountAbnormalities(context, crashReporter, strictMode)
|
|
|
|
@ -219,13 +218,16 @@ private class AccountManagerReadyObserver(
|
|
|
|
|
|
|
|
|
|
@VisibleForTesting(otherwise = PRIVATE)
|
|
|
|
|
internal class TelemetryAccountObserver(
|
|
|
|
|
private val settings: Settings,
|
|
|
|
|
private val context: Context
|
|
|
|
|
) : AccountObserver {
|
|
|
|
|
override fun onAuthenticated(account: OAuthAccount, authType: AuthType) {
|
|
|
|
|
settings.signedInFxaAccount = true
|
|
|
|
|
context.settings().signedInFxaAccount = true
|
|
|
|
|
when (authType) {
|
|
|
|
|
// User signed-in into an existing FxA account.
|
|
|
|
|
AuthType.Signin -> SyncAuth.signIn.record(NoExtras())
|
|
|
|
|
AuthType.Signin -> {
|
|
|
|
|
SyncAuth.signIn.record(NoExtras())
|
|
|
|
|
context.components.analytics.experiments.recordEvent("sync_auth_sign_in")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// User created a new FxA account.
|
|
|
|
|
AuthType.Signup -> SyncAuth.signUp.record(NoExtras())
|
|
|
|
@ -254,6 +256,6 @@ internal class TelemetryAccountObserver(
|
|
|
|
|
|
|
|
|
|
override fun onLoggedOut() {
|
|
|
|
|
SyncAuth.signOut.record(NoExtras())
|
|
|
|
|
settings.signedInFxaAccount = false
|
|
|
|
|
context.settings().signedInFxaAccount = false
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|