From 5effa31db3e77e046f2e63b6d179d60a8f4c70b0 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Tue, 20 May 2025 11:21:26 +0200 Subject: [PATCH] Improve logging for activity nav events --- .../android/habitica/ui/activities/BaseActivity.kt | 13 +++++++++++++ .../habitica/ui/activities/TaskFormActivity.kt | 5 +++++ 2 files changed, 18 insertions(+) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/BaseActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/BaseActivity.kt index 99f084992..7703f2884 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/BaseActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/BaseActivity.kt @@ -31,6 +31,7 @@ import androidx.lifecycle.lifecycleScope import androidx.preference.PreferenceManager import com.google.android.material.appbar.AppBarLayout import com.google.android.material.tabs.TabLayout +import com.google.firebase.analytics.FirebaseAnalytics import com.habitrpg.android.habitica.HabiticaApplication import com.habitrpg.android.habitica.R import com.habitrpg.android.habitica.data.UserRepository @@ -38,6 +39,7 @@ import com.habitrpg.android.habitica.extensions.consumeWindowInsetsAbove30 import com.habitrpg.android.habitica.extensions.forceLocale import com.habitrpg.android.habitica.extensions.updateStatusBarColor import com.habitrpg.android.habitica.helpers.Analytics +import com.habitrpg.android.habitica.helpers.AnalyticsTarget import com.habitrpg.android.habitica.helpers.EventCategory import com.habitrpg.android.habitica.helpers.HitType import com.habitrpg.android.habitica.helpers.NotificationsManager @@ -169,10 +171,21 @@ abstract class BaseActivity : AppCompatActivity() { resources.forceLocale(this, languageHelper.locale) } + val additionalScreenViewParams = mutableMapOf() + override fun onResume() { super.onResume() isActivityVisible = true loadTheme(PreferenceManager.getDefaultSharedPreferences(this)) + + Analytics.sendEvent( + "screen_view", + EventCategory.NAVIGATION, + HitType.PAGEVIEW, + mapOf( + FirebaseAnalytics.Param.SCREEN_CLASS to (this::class.java.canonicalName ?: "")) + additionalScreenViewParams, + AnalyticsTarget.FIREBASE + ) } override fun onPause() { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt index 98d09fc4b..491c04793 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/TaskFormActivity.kt @@ -428,6 +428,11 @@ class TaskFormActivity : BaseActivity() { } configureForm() + + additionalScreenViewParams["task_type"] = taskType.value + additionalScreenViewParams["is_editing"] = if (isCreating) "false" else "true" + additionalScreenViewParams["is_challenge_task"] = if (isChallengeTask) "true" else "false" + additionalScreenViewParams["is_group_task"] = if (groupID != null) "true" else "false" } override fun onResume() {