From 1793d95d4db3b8ba908cff9730f71a9be996a8ae Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Mon, 12 Sep 2022 23:10:24 -0500 Subject: [PATCH] Add analytic event for new microsoft account --- .../java/org/tasks/analytics/Constants.kt | 1 + .../auth/MicrosoftAuthenticationActivity.kt | 27 +++++++++++++------ 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/org/tasks/analytics/Constants.kt b/app/src/main/java/org/tasks/analytics/Constants.kt index cc3979f57..50e9e17ed 100644 --- a/app/src/main/java/org/tasks/analytics/Constants.kt +++ b/app/src/main/java/org/tasks/analytics/Constants.kt @@ -7,4 +7,5 @@ object Constants { const val SYNC_TYPE_ETESYNC_OT = "etesync_ot" const val SYNC_TYPE_ETEBASE = "etebase" const val SYNC_TYPE_DECSYNC = "decsync" + const val SYNC_TYPE_MICROSOFT = "microsoft" } \ No newline at end of file diff --git a/app/src/main/java/org/tasks/auth/MicrosoftAuthenticationActivity.kt b/app/src/main/java/org/tasks/auth/MicrosoftAuthenticationActivity.kt index 4de274b7d..e294ffe76 100644 --- a/app/src/main/java/org/tasks/auth/MicrosoftAuthenticationActivity.kt +++ b/app/src/main/java/org/tasks/auth/MicrosoftAuthenticationActivity.kt @@ -32,6 +32,9 @@ import net.openid.appauth.AuthorizationResponse import net.openid.appauth.AuthorizationServiceDiscovery import okhttp3.Request import org.json.JSONObject +import org.tasks.R +import org.tasks.analytics.Constants +import org.tasks.analytics.Firebase import org.tasks.data.CaldavAccount import org.tasks.data.CaldavAccount.Companion.TYPE_MICROSOFT import org.tasks.data.CaldavDao @@ -46,6 +49,7 @@ class MicrosoftAuthenticationActivity : ComponentActivity() { @Inject lateinit var caldavDao: CaldavDao @Inject lateinit var encryption: KeyStoreEncryption @Inject lateinit var httpClientFactory: HttpClientFactory + @Inject lateinit var firebase: Firebase override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -71,15 +75,22 @@ class MicrosoftAuthenticationActivity : ComponentActivity() { it.password = encryption.encrypt(authState.jsonSerializeString()) caldavDao.update(it) } - ?: caldavDao.insert( - CaldavAccount().apply { - uuid = UUIDHelper.newUUID() - name = email - username = email - password = encryption.encrypt(authState.jsonSerializeString()) - accountType = TYPE_MICROSOFT + ?: caldavDao + .insert( + CaldavAccount().apply { + uuid = UUIDHelper.newUUID() + name = email + username = email + password = encryption.encrypt(authState.jsonSerializeString()) + accountType = TYPE_MICROSOFT + } + ) + .also { + firebase.logEvent( + R.string.event_sync_add_account, + R.string.param_type to Constants.SYNC_TYPE_MICROSOFT + ) } - ) finish() } else { error(ex?.message ?: "Token exchange failed")