diff --git a/api/src/main/java/com/getcode/analytics/AnalyticsManager.kt b/api/src/main/java/com/getcode/analytics/AnalyticsManager.kt index 4942466bd..e4f1fbd12 100644 --- a/api/src/main/java/com/getcode/analytics/AnalyticsManager.kt +++ b/api/src/main/java/com/getcode/analytics/AnalyticsManager.kt @@ -238,6 +238,10 @@ class AnalyticsManager @Inject constructor( ) } + override fun backgroundSwapInitiated() { + track(Name.BackgroundSwap) + } + private fun track(event: Name, vararg properties: Pair) { if (BuildConfig.DEBUG) { Timber.d("debug track $event, ${properties.map { "${it.first.name}, ${it.second}" }}") @@ -276,6 +280,7 @@ class AnalyticsManager @Inject constructor( UpgradePrivacy("Upgrade Privacy"), ClaimGetFreeKin("Claim Get Free Kin"), PrivacyMigration("Privacy Migration"), + BackgroundSwap("Background Swap Initiated"), // Errors ErrorRequest("Error Request"), diff --git a/api/src/main/java/com/getcode/analytics/AnalyticsService.kt b/api/src/main/java/com/getcode/analytics/AnalyticsService.kt index 4750a98ce..70c0bd988 100644 --- a/api/src/main/java/com/getcode/analytics/AnalyticsService.kt +++ b/api/src/main/java/com/getcode/analytics/AnalyticsService.kt @@ -44,6 +44,8 @@ interface AnalyticsService { fun onBillReceived() fun tipCardShown(username: String) + + fun backgroundSwapInitiated() } class AnalyticsServiceNull : AnalyticsService { @@ -85,4 +87,5 @@ class AnalyticsServiceNull : AnalyticsService { override fun upgradePrivacy(successful: Boolean, intentId: PublicKey, actionCount: Int) = Unit override fun onBillReceived() = Unit override fun tipCardShown(username: String) = Unit + override fun backgroundSwapInitiated() = Unit } \ No newline at end of file diff --git a/app/src/main/java/com/getcode/notifications/CodePushMessagingService.kt b/app/src/main/java/com/getcode/notifications/CodePushMessagingService.kt index 87ccc37af..cd2ac051c 100644 --- a/app/src/main/java/com/getcode/notifications/CodePushMessagingService.kt +++ b/app/src/main/java/com/getcode/notifications/CodePushMessagingService.kt @@ -9,6 +9,7 @@ import android.os.Build import androidx.core.app.NotificationCompat import androidx.core.app.Person import com.getcode.R +import com.getcode.analytics.AnalyticsService import com.getcode.manager.AuthManager import com.getcode.manager.SessionManager import com.getcode.model.notifications.NotificationType @@ -42,6 +43,9 @@ import javax.inject.Inject class CodePushMessagingService : FirebaseMessagingService(), CoroutineScope by CoroutineScope(Dispatchers.IO) { + @Inject + lateinit var analyticsService: AnalyticsService + @Inject lateinit var pushRepository: PushRepository @@ -102,12 +106,16 @@ class CodePushMessagingService : FirebaseMessagingService(), launch { historyController.fetchChats() } launch { balanceController.fetchBalanceSuspend() } } + NotificationType.ExecuteSwap -> { - updateOrganizerAndSwap() + analyticsService.backgroundSwapInitiated() + updateOrganizerAndSwap() } + NotificationType.Twitter -> { launch { tipController.checkForConnection() } } + NotificationType.Unknown -> Unit } } else { @@ -164,7 +172,7 @@ class CodePushMessagingService : FirebaseMessagingService(), person ) - val style = notificationManager.getActiveNotification(title.hashCode())?.let { + val style = notificationManager.getActiveNotification(title.hashCode())?.let { NotificationCompat.MessagingStyle.extractMessagingStyleFromNotification(it) } ?: NotificationCompat.MessagingStyle(person) @@ -199,7 +207,6 @@ class CodePushMessagingService : FirebaseMessagingService(), } - private fun NotificationManager.getActiveNotification(notificationId: Int): Notification? { val barNotifications = getActiveNotifications() for (notification in barNotifications) {