Close #22103: Add recent bookmarks telemetry
This commit is contained in:
parent
b698d6ac77
commit
9c970a5276
|
@ -5767,6 +5767,19 @@ recent_tabs:
|
|||
expires: "2022-06-23"
|
||||
|
||||
recent_bookmarks:
|
||||
shown:
|
||||
type: event
|
||||
description: |
|
||||
Recent bookmarks section was shown to the user.
|
||||
bugs:
|
||||
- https://github.com/mozilla-mobile/fenix/issues/22103
|
||||
data_reviews:
|
||||
- https://github.com/mozilla-mobile/fenix/pull/22104
|
||||
data_sensitivity:
|
||||
- interaction
|
||||
notification_emails:
|
||||
- android-probes@mozilla.com
|
||||
expires: "2022-11-01"
|
||||
bookmark_clicked:
|
||||
type: counter
|
||||
lifetime: application
|
||||
|
|
|
@ -267,6 +267,7 @@ sealed class Event {
|
|||
// Recent bookmarks
|
||||
object BookmarkClicked : Event()
|
||||
object ShowAllBookmarks : Event()
|
||||
object RecentBookmarksShown : Event()
|
||||
|
||||
// Recently visited/Recent searches
|
||||
object RecentSearchesGroupDeleted : Event()
|
||||
|
|
|
@ -806,6 +806,10 @@ private val Event.wrapper: EventWrapper<*>?
|
|||
{ RecentSearches.groupDeleted.record(it) }
|
||||
)
|
||||
|
||||
is Event.RecentBookmarksShown -> EventWrapper<NoExtraKeys>(
|
||||
{ RecentBookmarks.shown.record(it) }
|
||||
)
|
||||
|
||||
is Event.AndroidAutofillRequestWithLogins -> EventWrapper<NoExtraKeys>(
|
||||
{ AndroidAutofill.requestMatchingLogins.record(it) }
|
||||
)
|
||||
|
|
|
@ -10,6 +10,8 @@ import androidx.recyclerview.widget.LinearLayoutManager
|
|||
import androidx.recyclerview.widget.LinearLayoutManager.HORIZONTAL
|
||||
import mozilla.components.concept.storage.BookmarkNode
|
||||
import org.mozilla.fenix.R
|
||||
import org.mozilla.fenix.components.metrics.Event
|
||||
import org.mozilla.fenix.components.metrics.MetricController
|
||||
import org.mozilla.fenix.databinding.ComponentRecentBookmarksBinding
|
||||
import org.mozilla.fenix.home.recentbookmarks.RecentBookmarksItemAdapter
|
||||
import org.mozilla.fenix.home.recentbookmarks.interactor.RecentBookmarksInteractor
|
||||
|
@ -17,7 +19,8 @@ import org.mozilla.fenix.utils.view.ViewHolder
|
|||
|
||||
class RecentBookmarksViewHolder(
|
||||
view: View,
|
||||
val interactor: RecentBookmarksInteractor
|
||||
val interactor: RecentBookmarksInteractor,
|
||||
val metrics: MetricController
|
||||
) : ViewHolder(view) {
|
||||
|
||||
private val recentBookmarksAdapter = RecentBookmarksItemAdapter(interactor)
|
||||
|
@ -41,6 +44,10 @@ class RecentBookmarksViewHolder(
|
|||
|
||||
fun bind(bookmarks: List<BookmarkNode>) {
|
||||
recentBookmarksAdapter.submitList(bookmarks)
|
||||
|
||||
if (bookmarks.isNotEmpty()) {
|
||||
metrics.track(Event.RecentBookmarksShown)
|
||||
}
|
||||
}
|
||||
|
||||
private fun dismissSearchDialogIfDisplayed() {
|
||||
|
|
|
@ -294,7 +294,7 @@ class SessionControlAdapter(
|
|||
ExperimentDefaultBrowserCardViewHolder.LAYOUT_ID -> ExperimentDefaultBrowserCardViewHolder(view, interactor)
|
||||
RecentTabsHeaderViewHolder.LAYOUT_ID -> RecentTabsHeaderViewHolder(view, interactor)
|
||||
RecentBookmarksViewHolder.LAYOUT_ID -> {
|
||||
RecentBookmarksViewHolder(view, interactor)
|
||||
RecentBookmarksViewHolder(view, interactor, components.analytics.metrics)
|
||||
}
|
||||
HistoryMetadataHeaderViewHolder.LAYOUT_ID -> HistoryMetadataHeaderViewHolder(
|
||||
view,
|
||||
|
|
|
@ -282,6 +282,10 @@ class GleanMetricsServiceTest {
|
|||
|
||||
@Test
|
||||
fun `Home screen recent bookmarks events are correctly recorded`() {
|
||||
assertFalse(RecentBookmarks.shown.testHasValue())
|
||||
gleanService.track(Event.RecentBookmarksShown)
|
||||
assertTrue(RecentBookmarks.shown.testHasValue())
|
||||
|
||||
assertFalse(RecentBookmarks.bookmarkClicked.testHasValue())
|
||||
gleanService.track(Event.BookmarkClicked)
|
||||
assertTrue(RecentBookmarks.bookmarkClicked.testHasValue())
|
||||
|
|
|
@ -44,7 +44,7 @@ class RecentBookmarksViewHolderTest {
|
|||
|
||||
@Test
|
||||
fun `WHEN show all bookmarks button is clicked THEN interactor is called`() {
|
||||
RecentBookmarksViewHolder(binding.root, interactor).bind(listOf(bookmark))
|
||||
RecentBookmarksViewHolder(binding.root, interactor, mockk(relaxed = true)).bind(listOf(bookmark))
|
||||
binding.recentBookmarksHeader.showAllBookmarksButton.performClick()
|
||||
|
||||
verify { interactor.onShowAllBookmarksClicked() }
|
||||
|
|
Loading…
Reference in New Issue
Block a user