mirror of
https://github.com/anyproto/anytype-kotlin.git
synced 2025-06-08 05:47:05 +09:00
DROID-3195 Primitives | Analytics (#2315)
This commit is contained in:
parent
4125b8d759
commit
f3f9cb9301
11 changed files with 172 additions and 8 deletions
|
@ -29,11 +29,11 @@ sealed class ObjectTypeCommand {
|
|||
val spaceId: Id
|
||||
) : ObjectTypeCommand()
|
||||
|
||||
data object OpenFieldsScreen : ObjectTypeCommand()
|
||||
data object OpenTypePropertiesListScreen : ObjectTypeCommand()
|
||||
|
||||
data object CloseFieldsScreen : ObjectTypeCommand()
|
||||
|
||||
data class OpenEditTypePropertiesScreen(val typeId: Id, val space: Id) : ObjectTypeCommand()
|
||||
data class OpenAddNewPropertyScreen(val typeId: Id, val space: Id) : ObjectTypeCommand()
|
||||
}
|
||||
|
||||
//region OBJECT TYPE HEADER (title + icon)
|
||||
|
|
|
@ -3,6 +3,7 @@ package com.anytypeio.anytype.feature_object_type.viewmodel
|
|||
import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.anytypeio.anytype.analytics.base.Analytics
|
||||
import com.anytypeio.anytype.analytics.base.EventsDictionary
|
||||
import com.anytypeio.anytype.core_models.Id
|
||||
import com.anytypeio.anytype.core_models.ObjectType
|
||||
import com.anytypeio.anytype.core_models.ObjectWrapper
|
||||
|
@ -61,7 +62,11 @@ import com.anytypeio.anytype.feature_properties.edit.UiEditPropertyState.Visible
|
|||
import com.anytypeio.anytype.feature_properties.edit.UiPropertyLimitTypeItem
|
||||
import com.anytypeio.anytype.presentation.analytics.AnalyticSpaceHelperDelegate
|
||||
import com.anytypeio.anytype.presentation.editor.cover.CoverImageHashProvider
|
||||
import com.anytypeio.anytype.presentation.extension.sendAnalyticsLocalPropertyResolve
|
||||
import com.anytypeio.anytype.presentation.extension.sendAnalyticsPropertiesLocalInfo
|
||||
import com.anytypeio.anytype.presentation.extension.sendAnalyticsReorderRelationEvent
|
||||
import com.anytypeio.anytype.presentation.extension.sendAnalyticsScreenObjectType
|
||||
import com.anytypeio.anytype.presentation.extension.sendAnalyticsShowObjectTypeScreen
|
||||
import com.anytypeio.anytype.presentation.mapper.objectIcon
|
||||
import com.anytypeio.anytype.presentation.objects.custom_icon.CustomIconColor
|
||||
import com.anytypeio.anytype.presentation.search.ObjectSearchConstants.defaultKeys
|
||||
|
@ -183,6 +188,9 @@ class ObjectTypeViewModel(
|
|||
fun onStart() {
|
||||
Timber.d("onStart, vmParams: $vmParams")
|
||||
startSubscriptions()
|
||||
}
|
||||
|
||||
fun sendAnalyticsScreenObjectType() {
|
||||
viewModelScope.launch {
|
||||
sendAnalyticsScreenObjectType(
|
||||
analytics = analytics
|
||||
|
@ -465,7 +473,14 @@ class ObjectTypeViewModel(
|
|||
when (event) {
|
||||
TypeEvent.OnFieldsButtonClick -> {
|
||||
viewModelScope.launch {
|
||||
commands.emit(ObjectTypeCommand.OpenFieldsScreen)
|
||||
commands.emit(ObjectTypeCommand.OpenTypePropertiesListScreen)
|
||||
}
|
||||
viewModelScope.launch {
|
||||
sendAnalyticsShowObjectTypeScreen(
|
||||
analytics = analytics,
|
||||
route = EventsDictionary.Routes.typeRoute,
|
||||
spaceParams = provideParams(vmParams.spaceId.id)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -737,12 +752,15 @@ class ObjectTypeViewModel(
|
|||
|
||||
FieldEvent.Section.OnLocalInfoClick -> {
|
||||
uiFieldLocalInfoState.value = UiLocalsFieldsInfoState.Visible
|
||||
viewModelScope.launch {
|
||||
sendAnalyticsPropertiesLocalInfo(analytics, provideParams(vmParams.spaceId.id))
|
||||
}
|
||||
}
|
||||
|
||||
FieldEvent.Section.OnAddToSidebarIconClick -> {
|
||||
viewModelScope.launch {
|
||||
commands.emit(
|
||||
OpenEditTypePropertiesScreen(
|
||||
OpenAddNewPropertyScreen(
|
||||
typeId = vmParams.objectId,
|
||||
space = vmParams.spaceId.id,
|
||||
)
|
||||
|
@ -860,6 +878,9 @@ class ObjectTypeViewModel(
|
|||
val currentRecommendedFields = _objTypeState.value?.recommendedRelations.orEmpty()
|
||||
val newRecommendedFields = currentRecommendedFields + event.item.id
|
||||
proceedWithSetRecommendedFields(newRecommendedFields)
|
||||
viewModelScope.launch {
|
||||
sendAnalyticsLocalPropertyResolve(analytics, provideParams(vmParams.spaceId.id))
|
||||
}
|
||||
}
|
||||
|
||||
is FieldEvent.FieldItemMenu.OnMoveToBinClick -> {
|
||||
|
@ -966,6 +987,10 @@ class ObjectTypeViewModel(
|
|||
onSuccess = {
|
||||
Timber.d("Properties updated")
|
||||
proceedWithGetObjectTypeConflictingFields()
|
||||
sendAnalyticsReorderRelationEvent(
|
||||
analytics = analytics,
|
||||
spaceParams = provideParams(vmParams.spaceId.id)
|
||||
)
|
||||
},
|
||||
onFailure = {
|
||||
Timber.e(it, "Error while updating properties")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue