Log event when sync account added

pull/1100/head
Alex Baker 4 years ago
parent 201afbf8e8
commit 56c75bd059

@ -11,5 +11,5 @@ class Firebase @Inject constructor() {
fun noChurn() = true
fun logEvent(event: Int, vararg params: Pair<Int, Boolean>) {}
fun logEvent(event: Int, vararg params: Pair<Int, Any>) {}
}

@ -18,6 +18,8 @@ import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import org.tasks.PermissionUtil.verifyPermissions
import org.tasks.R
import org.tasks.analytics.Constants
import org.tasks.analytics.Firebase
import org.tasks.data.GoogleTaskAccount
import org.tasks.data.GoogleTaskListDao
import org.tasks.dialogs.DialogBuilder
@ -40,6 +42,7 @@ class GtasksLoginActivity : InjectingAppCompatActivity() {
@Inject lateinit var googleAccountManager: GoogleAccountManager
@Inject lateinit var googleTaskListDao: GoogleTaskListDao
@Inject lateinit var permissionRequestor: ActivityPermissionRequestor
@Inject lateinit var firebase: Firebase
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@ -73,6 +76,10 @@ class GtasksLoginActivity : InjectingAppCompatActivity() {
account = GoogleTaskAccount()
account.account = accountName
googleTaskListDao.insert(account)
firebase.logEvent(
R.string.event_sync_add_account,
R.string.param_type to Constants.SYNC_TYPE_GOOGLE_TASKS
)
} else {
account.error = ""
googleTaskListDao.update(account)

@ -0,0 +1,9 @@
package org.tasks.analytics
object Constants {
const val SYNC_TYPE_CALDAV = "caldav"
const val SYNC_TYPE_ETESYNC = "etesync"
const val SYNC_TYPE_DAVX5 = "davx5"
const val SYNC_TYPE_GOOGLE_TASKS = "google_tasks"
const val SYNC_TYPE_ETESYNC_OT = "etesync_ot"
}

@ -24,6 +24,7 @@ import com.todoroo.astrid.service.TaskDeleter
import kotlinx.coroutines.launch
import org.tasks.R
import org.tasks.Strings.isNullOrEmpty
import org.tasks.analytics.Firebase
import org.tasks.billing.Inventory
import org.tasks.billing.PurchaseActivity
import org.tasks.data.CaldavAccount
@ -46,6 +47,7 @@ abstract class BaseCaldavAccountSettingsActivity : ThemedInjectingAppCompatActiv
@Inject lateinit var dialogBuilder: DialogBuilder
@Inject lateinit var taskDeleter: TaskDeleter
@Inject lateinit var inventory: Inventory
@Inject lateinit var firebase: Firebase
protected var caldavAccount: CaldavAccount? = null
protected lateinit var binding: ActivityCaldavAccountSettingsBinding

@ -7,6 +7,7 @@ import androidx.appcompat.widget.Toolbar
import com.todoroo.astrid.helper.UUIDHelper
import dagger.hilt.android.AndroidEntryPoint
import org.tasks.R
import org.tasks.analytics.Constants
import org.tasks.data.CaldavAccount
import timber.log.Timber
@ -34,6 +35,10 @@ class CaldavAccountSettingsActivity : BaseCaldavAccountSettingsActivity(), Toolb
newAccount.password = encryption.encrypt(newPassword!!)
newAccount.uuid = UUIDHelper.newUUID()
newAccount.id = caldavDao.insert(newAccount)
firebase.logEvent(
R.string.event_sync_add_account,
R.string.param_type to Constants.SYNC_TYPE_CALDAV
)
setResult(Activity.RESULT_OK)
finish()
}

@ -19,6 +19,7 @@ import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.launch
import org.tasks.R
import org.tasks.Strings.isNullOrEmpty
import org.tasks.analytics.Constants
import org.tasks.caldav.BaseCaldavAccountSettingsActivity
import org.tasks.data.CaldavAccount
import timber.log.Timber
@ -160,6 +161,10 @@ class EteSyncAccountSettingsActivity : BaseCaldavAccountSettingsActivity(), Tool
private suspend fun saveAccountAndFinish() {
if (caldavAccount!!.id == Task.NO_ID) {
caldavDao.insert(caldavAccount!!)
firebase.logEvent(
R.string.event_sync_add_account,
R.string.param_type to Constants.SYNC_TYPE_ETESYNC
)
} else {
caldavDao.update(caldavAccount!!)
}

@ -19,6 +19,7 @@ import net.fortuna.ical4j.model.property.RRule
import org.dmfs.tasks.contract.TaskContract.Tasks
import org.tasks.LocalBroadcastManager
import org.tasks.R
import org.tasks.analytics.Constants
import org.tasks.analytics.Firebase
import org.tasks.billing.Inventory
import org.tasks.caldav.CaldavConverter
@ -60,12 +61,23 @@ class OpenTasksSynchronizer @Inject constructor(
val lists = openTaskDao.getListsByAccount()
lists.newAccounts(caldavDao)
.filter { caldavDao.getAccountByUuid(it) == null }
.forEach {
caldavDao.insert(CaldavAccount().apply {
.map {
CaldavAccount().apply {
name = it.split(":")[1]
uuid = it
accountType = CaldavAccount.TYPE_OPENTASKS
})
}
}
.onEach { caldavDao.insert(it) }
.forEach {
firebase.logEvent(
R.string.event_sync_add_account,
R.string.param_type to if (it.isOpenTaskEteSync) {
Constants.SYNC_TYPE_ETESYNC_OT
} else {
Constants.SYNC_TYPE_DAVX5
}
)
}
caldavDao.getAccounts(CaldavAccount.TYPE_OPENTASKS).forEach { account ->
if (!lists.containsKey(account.uuid)) {

@ -383,4 +383,6 @@
<string name="event_xml_import">xml_import</string>
<string name="event_todoagenda">cp_todoagenda</string>
<string name="event_astrid2taskprovider">cp_astrid2taskprovider</string>
<string name="event_sync_add_account">sync_add_account</string>
<string name="param_type">type</string>
</resources>

Loading…
Cancel
Save