diff --git a/vector/src/main/java/im/vector/app/core/platform/VectorBaseActivity.kt b/vector/src/main/java/im/vector/app/core/platform/VectorBaseActivity.kt index 6c49a1ff01..2c161feb37 100644 --- a/vector/src/main/java/im/vector/app/core/platform/VectorBaseActivity.kt +++ b/vector/src/main/java/im/vector/app/core/platform/VectorBaseActivity.kt @@ -68,7 +68,6 @@ import im.vector.app.features.MainActivity import im.vector.app.features.MainActivityArgs import im.vector.app.features.analytics.AnalyticsTracker import im.vector.app.features.analytics.plan.MobileScreen -import im.vector.app.features.analytics.screen.ScreenEvent import im.vector.app.features.configuration.VectorConfiguration import im.vector.app.features.consent.ConsentNotGivenHelper import im.vector.app.features.navigation.Navigator @@ -337,7 +336,7 @@ abstract class VectorBaseActivity : AppCompatActivity(), Maver super.onResume() Timber.i("onResume Activity ${javaClass.simpleName}") analyticsScreenName?.let { - ScreenEvent(it).send(analyticsTracker) + analyticsTracker.screen(MobileScreen(screenName = it)) } configurationViewModel.onActivityResumed() diff --git a/vector/src/main/java/im/vector/app/core/platform/VectorBaseBottomSheetDialogFragment.kt b/vector/src/main/java/im/vector/app/core/platform/VectorBaseBottomSheetDialogFragment.kt index 11bfcdd9ef..ddc281fdd1 100644 --- a/vector/src/main/java/im/vector/app/core/platform/VectorBaseBottomSheetDialogFragment.kt +++ b/vector/src/main/java/im/vector/app/core/platform/VectorBaseBottomSheetDialogFragment.kt @@ -39,7 +39,6 @@ import im.vector.app.core.extensions.toMvRxBundle import im.vector.app.core.utils.DimensionConverter import im.vector.app.features.analytics.AnalyticsTracker import im.vector.app.features.analytics.plan.MobileScreen -import im.vector.app.features.analytics.screen.ScreenEvent import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import reactivecircus.flowbinding.android.view.clicks @@ -139,7 +138,7 @@ abstract class VectorBaseBottomSheetDialogFragment : BottomShe super.onResume() Timber.i("onResume BottomSheet ${javaClass.simpleName}") analyticsScreenName?.let { - ScreenEvent(it).send(analyticsTracker) + analyticsTracker.screen(MobileScreen(screenName = it)) } } diff --git a/vector/src/main/java/im/vector/app/core/platform/VectorBaseFragment.kt b/vector/src/main/java/im/vector/app/core/platform/VectorBaseFragment.kt index 7b8eda76ff..70b265ff9f 100644 --- a/vector/src/main/java/im/vector/app/core/platform/VectorBaseFragment.kt +++ b/vector/src/main/java/im/vector/app/core/platform/VectorBaseFragment.kt @@ -45,7 +45,6 @@ import im.vector.app.core.extensions.toMvRxBundle import im.vector.app.core.utils.ToolbarConfig import im.vector.app.features.analytics.AnalyticsTracker import im.vector.app.features.analytics.plan.MobileScreen -import im.vector.app.features.analytics.screen.ScreenEvent import im.vector.app.features.navigation.Navigator import im.vector.lib.ui.styles.dialogs.MaterialProgressDialog import kotlinx.coroutines.flow.launchIn @@ -145,7 +144,7 @@ abstract class VectorBaseFragment : Fragment(), MavericksView super.onResume() Timber.i("onResume Fragment ${javaClass.simpleName}") analyticsScreenName?.let { - ScreenEvent(it).send(analyticsTracker) + analyticsTracker.screen(MobileScreen(screenName = it)) } } diff --git a/vector/src/main/java/im/vector/app/features/analytics/screen/ScreenEvent.kt b/vector/src/main/java/im/vector/app/features/analytics/screen/ScreenEvent.kt deleted file mode 100644 index 400bede415..0000000000 --- a/vector/src/main/java/im/vector/app/features/analytics/screen/ScreenEvent.kt +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright (c) 2021 New Vector Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package im.vector.app.features.analytics.screen - -import im.vector.app.features.analytics.AnalyticsTracker -import im.vector.app.features.analytics.plan.MobileScreen -import timber.log.Timber - -/** - * Track a screen display. Unique usage. - */ -class ScreenEvent(val screenName: MobileScreen.ScreenName) { - // Protection to avoid multiple sending - private var isSent = false - - /** - * @param screenNameOverride can be used to override the screen name passed in constructor parameter - */ - fun send(analyticsTracker: AnalyticsTracker, - screenNameOverride: MobileScreen.ScreenName? = null) { - if (isSent) { - Timber.w("Event $screenName Already sent!") - return - } - isSent = true - analyticsTracker.screen( - MobileScreen( - screenName = screenNameOverride ?: screenName - ) - ) - } -} diff --git a/vector/src/main/java/im/vector/app/features/call/dialpad/DialPadFragment.kt b/vector/src/main/java/im/vector/app/features/call/dialpad/DialPadFragment.kt index 9d77680ff5..606ba1d1e9 100644 --- a/vector/src/main/java/im/vector/app/features/call/dialpad/DialPadFragment.kt +++ b/vector/src/main/java/im/vector/app/features/call/dialpad/DialPadFragment.kt @@ -41,7 +41,6 @@ import im.vector.app.R import im.vector.app.core.extensions.singletonEntryPoint import im.vector.app.features.analytics.AnalyticsTracker import im.vector.app.features.analytics.plan.MobileScreen -import im.vector.app.features.analytics.screen.ScreenEvent import im.vector.app.features.themes.ThemeUtils class DialPadFragment : Fragment(), TextWatcher { @@ -66,10 +65,9 @@ class DialPadFragment : Fragment(), TextWatcher { analyticsTracker = singletonEntryPoint.analyticsTracker() } - private var screenEvent: ScreenEvent? = null override fun onResume() { super.onResume() - ScreenEvent(MobileScreen.ScreenName.Dialpad).send(analyticsTracker) + analyticsTracker.screen(MobileScreen(screenName = MobileScreen.ScreenName.Dialpad)) } override fun onCreateView( diff --git a/vector/src/main/java/im/vector/app/features/home/HomeActivity.kt b/vector/src/main/java/im/vector/app/features/home/HomeActivity.kt index b7bfdef21c..47f1a9208b 100644 --- a/vector/src/main/java/im/vector/app/features/home/HomeActivity.kt +++ b/vector/src/main/java/im/vector/app/features/home/HomeActivity.kt @@ -49,7 +49,6 @@ import im.vector.app.features.MainActivity import im.vector.app.features.MainActivityArgs import im.vector.app.features.analytics.accountdata.AnalyticsAccountDataViewModel import im.vector.app.features.analytics.plan.MobileScreen -import im.vector.app.features.analytics.screen.ScreenEvent import im.vector.app.features.disclaimer.showDisclaimerDialog import im.vector.app.features.matrixto.MatrixToBottomSheet import im.vector.app.features.navigation.Navigator @@ -164,7 +163,7 @@ class HomeActivity : private val drawerListener = object : DrawerLayout.SimpleDrawerListener() { override fun onDrawerOpened(drawerView: View) { - ScreenEvent(MobileScreen.ScreenName.Sidebar).send(analyticsTracker) + analyticsTracker.screen(MobileScreen(screenName = MobileScreen.ScreenName.Sidebar)) } override fun onDrawerStateChanged(newState: Int) { diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailActivity.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailActivity.kt index f40bee44db..aa4ee825dc 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailActivity.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/RoomDetailActivity.kt @@ -36,7 +36,6 @@ import im.vector.app.core.extensions.replaceFragment import im.vector.app.core.platform.VectorBaseActivity import im.vector.app.databinding.ActivityRoomDetailBinding import im.vector.app.features.analytics.plan.MobileScreen -import im.vector.app.features.analytics.screen.ScreenEvent import im.vector.app.features.home.room.breadcrumbs.BreadcrumbsFragment import im.vector.app.features.home.room.detail.arguments.TimelineArgs import im.vector.app.features.home.room.detail.timeline.helper.VoiceMessagePlaybackTracker @@ -159,7 +158,7 @@ class RoomDetailActivity : private val drawerListener = object : DrawerLayout.SimpleDrawerListener() { override fun onDrawerOpened(drawerView: View) { - ScreenEvent(MobileScreen.ScreenName.Breadcrumbs).send(analyticsTracker) + analyticsTracker.screen(MobileScreen(screenName = MobileScreen.ScreenName.Breadcrumbs)) } override fun onDrawerStateChanged(newState: Int) { diff --git a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsBaseFragment.kt b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsBaseFragment.kt index c907168954..dae234eecc 100644 --- a/vector/src/main/java/im/vector/app/features/settings/VectorSettingsBaseFragment.kt +++ b/vector/src/main/java/im/vector/app/features/settings/VectorSettingsBaseFragment.kt @@ -31,7 +31,6 @@ import im.vector.app.core.platform.VectorBaseActivity import im.vector.app.core.utils.toast import im.vector.app.features.analytics.AnalyticsTracker import im.vector.app.features.analytics.plan.MobileScreen -import im.vector.app.features.analytics.screen.ScreenEvent import kotlinx.coroutines.flow.launchIn import kotlinx.coroutines.flow.onEach import org.matrix.android.sdk.api.session.Session @@ -91,7 +90,7 @@ abstract class VectorSettingsBaseFragment : PreferenceFragmentCompat(), Maverick super.onResume() Timber.i("onResume Fragment ${javaClass.simpleName}") analyticsScreenName?.let { - ScreenEvent(it).send(analyticsTracker) + analyticsTracker.screen(MobileScreen(screenName = it)) } vectorActivity.supportActionBar?.setTitle(titleRes) // find the view from parent activity