From f323c38be044744afe6c8ba0be8692b5961d6c79 Mon Sep 17 00:00:00 2001 From: Jeff Boek Date: Thu, 13 Jun 2019 15:40:12 -0700 Subject: [PATCH] For #981 - Adds missing Leanplum events --- .../metrics/LeanplumMetricsService.kt | 29 ++----------------- .../org/mozilla/fenix/home/HomeFragment.kt | 4 +++ .../fenix/onboarding/FenixOnboarding.kt | 3 ++ .../mozilla/fenix/search/SearchFragment.kt | 2 ++ 4 files changed, 12 insertions(+), 26 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/components/metrics/LeanplumMetricsService.kt b/app/src/main/java/org/mozilla/fenix/components/metrics/LeanplumMetricsService.kt index f989c96d5027..a03f699ae382 100644 --- a/app/src/main/java/org/mozilla/fenix/components/metrics/LeanplumMetricsService.kt +++ b/app/src/main/java/org/mozilla/fenix/components/metrics/LeanplumMetricsService.kt @@ -20,31 +20,6 @@ private val Event.name: String? is Event.OpenedApp -> "E_Opened_App" is Event.OpenedAppFirstRun -> "E_Opened_App_FirstRun" is Event.InteractWithSearchURLArea -> "E_Interact_With_Search_URL_Area" - is Event.SavedLoginandPassword -> "E_Saved_Login_and_Password" - is Event.FXANewSignup -> "E_FXA_New_Signup" - is Event.UserSignedInToFxA -> "E_User_Signed_In_To_FxA" - is Event.UserDownloadedFocus -> "E_User_Downloaded_Focus" - is Event.UserDownloadedLockbox -> "E_User_Downloaded_Lockbox" - is Event.UserDownloadedFennec -> "E_User_Downloaded_Fennec" - is Event.TrackingProtectionSettingsChanged -> "E_Tracking_Protection_Settings_Changed" - is Event.FXASyncedNewDevice -> "E_FXA_Synced_New_Device" - is Event.DismissedOnboarding -> "E_Dismissed_Onboarding" - is Event.Uninstall -> "E_Uninstall" - is Event.OpenNewNormalTab -> "E_Open_New_Normal_Tab" - is Event.OpenNewPrivateTab -> "E_Open_New_Private_Tab" - is Event.ShareStarted -> "E_Share_Started" - is Event.ShareCanceled -> "E_Share_Canceled" - is Event.ShareCompleted -> "E_Share_Completed" - is Event.ClosePrivateTabs -> "E_Close_Private_Tabs" - is Event.ClearedPrivateData -> "E_Cleared_Private_Data" - is Event.OpenedLoginManager -> "E_Opened_Login_Manager" - is Event.OpenedMailtoLink -> "E_Opened_Mailto_Link" - is Event.DownloadMediaSavedImage -> "E_Download_Media_Saved_Image" - is Event.UserUsedReaderView -> "E_User_Used_Reader_View" - is Event.UserDownloadedPocket -> "E_User_Downloaded_Pocket" - is Event.UserDownloadedSend -> "E_User_Downloaded_Send" - is Event.OpenedPocketStory -> "E_Opened_Pocket_Story" - is Event.DarkModeEnabled -> "E_Dark_Mode_Enabled" // Do not track other events in Leanplum else -> "" @@ -85,7 +60,9 @@ class LeanplumMetricsService(private val application: Application) : MetricsServ Parser.parseVariables(application) LeanplumActivityHelper.enableLifecycleCallbacks(application) - Leanplum.start(application) + Leanplum.start(application, hashMapOf( + "default_browser" to (MozillaProductDetector.getMozillaBrowserDefault(application) ?: "") + )) } override fun stop() { diff --git a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt index 926b2146936f..9c541c945ba8 100644 --- a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt @@ -125,6 +125,10 @@ class HomeFragment : Fragment(), CoroutineScope, AccountObserver { sessionObserver = BrowserSessionsObserver(sessionManager, singleSessionObserver) { emitSessionChanges() } + + if (!onboarding.userHasBeenOnboarded()) { + requireComponents.analytics.metrics.track(Event.OpenedAppFirstRun) + } } override fun onCreateView( diff --git a/app/src/main/java/org/mozilla/fenix/onboarding/FenixOnboarding.kt b/app/src/main/java/org/mozilla/fenix/onboarding/FenixOnboarding.kt index 945f216a8014..94d9c3baa5ed 100644 --- a/app/src/main/java/org/mozilla/fenix/onboarding/FenixOnboarding.kt +++ b/app/src/main/java/org/mozilla/fenix/onboarding/FenixOnboarding.kt @@ -6,6 +6,8 @@ package org.mozilla.fenix.onboarding import android.content.Context import android.content.SharedPreferences +import org.mozilla.fenix.components.metrics.Event +import org.mozilla.fenix.ext.components class FenixOnboarding(private val context: Context) { private val onboardingPrefs = context.applicationContext.getSharedPreferences( @@ -19,6 +21,7 @@ class FenixOnboarding(private val context: Context) { fun finish() { onboardingPrefs.onboardedVersion = CURRENT_ONBOARDING_VERSION + context.components.analytics.metrics.track(Event.DismissedOnboarding) } fun userHasBeenOnboarded(): Boolean { diff --git a/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt b/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt index b0a15a15541f..0bf121f483d1 100644 --- a/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/search/SearchFragment.kt @@ -69,6 +69,8 @@ class SearchFragment : Fragment(), BackHandler { // TransitionInflater.from(context).inflateTransition(android.R.transition.move).setDuration( // SHARED_TRANSITION_MS // ) + + requireComponents.analytics.metrics.track(Event.InteractWithSearchURLArea) } override fun onCreateView(