Track contact usage

This commit is contained in:
MM20 2025-03-29 13:43:59 +01:00
parent 01261b422c
commit bc8d05169d
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389
2 changed files with 12 additions and 2 deletions

View File

@ -138,7 +138,7 @@ class SearchableItemVM : ListItemViewModel(), KoinComponent {
}
val bundle = options.toBundle()
if (searchable.launch(context, bundle)) {
favoritesService.reportLaunch(searchable)
reportUsage(searchable)
return true
} else if (searchable is Application || searchable is AppShortcut) {
favoritesService.reset(searchable)
@ -168,7 +168,7 @@ class SearchableItemVM : ListItemViewModel(), KoinComponent {
fun launchChild(context: Context, child: SavableSearchable) {
if (child.launch(context, null)) {
favoritesService.reportLaunch(child)
reportUsage(child)
}
}
@ -246,4 +246,8 @@ class SearchableItemVM : ListItemViewModel(), KoinComponent {
val mapTileServerUrl = locationSearchSettings.tileServer
.map { it ?: LocationSearchSettings.DefaultTileServerUrl }
.stateIn(viewModelScope, SharingStarted.Lazily, "")
fun reportUsage(searchable: SavableSearchable) {
favoritesService.reportLaunch(searchable)
}
}

View File

@ -163,6 +163,7 @@ fun ContactItem(
.fillMaxWidth(),
secondaryAction = {
IconButton(onClick = {
viewModel.reportUsage(contact)
context.tryStartActivity(
Intent(Intent.ACTION_SENDTO).apply {
data = Uri.parse("smsto:${it.number}")
@ -180,6 +181,7 @@ fun ContactItem(
expandedSection = if (it) 0 else -1
},
onContact = {
viewModel.reportUsage(contact)
context.tryStartActivity(
Intent(Intent.ACTION_DIAL).apply {
data = Uri.parse("tel:${it.number}")
@ -208,6 +210,7 @@ fun ContactItem(
expandedSection = if (it) 1 else -1
},
onContact = {
viewModel.reportUsage(contact)
context.tryStartActivity(
Intent(Intent.ACTION_SENDTO).apply {
data = Uri.parse("mailto:${it.address}")
@ -231,6 +234,7 @@ fun ContactItem(
secondaryAction = if (canNavigate) {
{
IconButton(onClick = {
viewModel.reportUsage(contact)
context.tryStartActivity(
Intent(Intent.ACTION_VIEW).apply {
data =
@ -254,6 +258,7 @@ fun ContactItem(
expandedSection = if (it) 2 else -1
},
onContact = {
viewModel.reportUsage(contact)
context.tryStartActivity(
Intent(Intent.ACTION_VIEW).apply {
data = Uri.parse("geo:0,0?q=${it.address}")
@ -309,6 +314,7 @@ fun ContactItem(
expandedSection = if (it) 3 + i else -1
},
onContact = {
viewModel.reportUsage(contact)
context.tryStartActivity(
Intent(Intent.ACTION_VIEW).apply {
setDataAndType(