Skip to content

Commit 0e40e26

Browse files
committed
Add analytics for search queries
Change-Id: If5290a903afb928fc1c3aaa66a52d2f182aba118
1 parent 6a8736d commit 0e40e26

File tree

2 files changed

+13
-0
lines changed
  • core/analytics/src/main/java/com/google/samples/apps/nowinandroid/core/analytics
  • feature/search/src/main/java/com/google/samples/apps/nowinandroid/feature/search

2 files changed

+13
-0
lines changed

core/analytics/src/main/java/com/google/samples/apps/nowinandroid/core/analytics/AnalyticsEvent.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ data class AnalyticsEvent(
3434
class Types {
3535
companion object {
3636
const val SCREEN_VIEW = "screen_view" // (extras: SCREEN_NAME)
37+
const val VIEW_SEARCH_RESULTS = "view_search_results" // (extras: SEARCH_TERM)
3738
}
3839
}
3940

@@ -53,6 +54,7 @@ data class AnalyticsEvent(
5354
class ParamKeys {
5455
companion object {
5556
const val SCREEN_NAME = "screen_name"
57+
const val SEARCH_TERM = "search_term"
5658
}
5759
}
5860
}

feature/search/src/main/java/com/google/samples/apps/nowinandroid/feature/search/SearchViewModel.kt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ package com.google.samples.apps.nowinandroid.feature.search
1919
import androidx.lifecycle.SavedStateHandle
2020
import androidx.lifecycle.ViewModel
2121
import androidx.lifecycle.viewModelScope
22+
import com.google.samples.apps.nowinandroid.core.analytics.AnalyticsEvent
23+
import com.google.samples.apps.nowinandroid.core.analytics.AnalyticsEvent.Param
24+
import com.google.samples.apps.nowinandroid.core.analytics.AnalyticsHelper
2225
import com.google.samples.apps.nowinandroid.core.data.repository.RecentSearchRepository
2326
import com.google.samples.apps.nowinandroid.core.domain.GetRecentSearchQueriesUseCase
2427
import com.google.samples.apps.nowinandroid.core.domain.GetSearchContentsCountUseCase
@@ -42,6 +45,7 @@ class SearchViewModel @Inject constructor(
4245
recentSearchQueriesUseCase: GetRecentSearchQueriesUseCase,
4346
private val recentSearchRepository: RecentSearchRepository,
4447
private val savedStateHandle: SavedStateHandle,
48+
private val analyticsHelper: AnalyticsHelper,
4549
) : ViewModel() {
4650

4751
val searchQuery = savedStateHandle.getStateFlow(SEARCH_QUERY, "")
@@ -105,6 +109,13 @@ class SearchViewModel @Inject constructor(
105109
viewModelScope.launch {
106110
recentSearchRepository.insertOrReplaceRecentSearch(query)
107111
}
112+
analyticsHelper.logEvent(
113+
AnalyticsEvent(
114+
type = SEARCH_QUERY,
115+
extras = listOf(Param(SEARCH_QUERY, query)
116+
)
117+
)
118+
)
108119
}
109120

110121
fun clearRecentSearches() {

0 commit comments

Comments
 (0)