1
0
Fork 0
mirror of https://github.com/anyproto/anytype-kotlin.git synced 2025-06-08 05:47:05 +09:00

DROID-3578 Vault | Analytics | Dispatch "ReorderSpace" event + other misc. fixes (#2332)

This commit is contained in:
Evgenii Kozlov 2025-04-16 22:43:16 +02:00
parent 4591928c9b
commit 526284ef95
4 changed files with 55 additions and 40 deletions

View file

@ -25,6 +25,7 @@ object EventsDictionary {
const val clickDeleteSpaceWarning = "ClickDeleteSpaceWarning"
const val createSpace = "CreateSpace"
const val switchSpace = "SwitchSpace"
const val reorderSpace = "ReorderSpace"
const val deleteSpace = "DeleteSpace"
const val screenSettingsSpaceCreate = "ScreenSettingsSpaceCreate"

View file

@ -67,6 +67,7 @@ import com.anytypeio.anytype.presentation.sets.viewerByIdOrFirst
import com.anytypeio.anytype.presentation.widgets.Widget
import com.anytypeio.anytype.presentation.widgets.source.BundledWidgetSourceView
import kotlinx.coroutines.CoroutineScope
import timber.log.Timber
fun Block.Prototype.getAnalyticsEvent(
eventName: String,
@ -1698,6 +1699,7 @@ fun CoroutineScope.sendDeleteWidgetEvent(
isInEditMode: Boolean,
isAutoCreated: Boolean?
) {
Timber.d("Sending delete widget event")
sendEvent(
analytics = analytics,
eventName = EventsDictionary.deleteWidget,
@ -1711,11 +1713,13 @@ fun CoroutineScope.sendDeleteWidgetEvent(
put(WidgetAnalytics.CONTEXT, WidgetAnalytics.CONTEXT_EDITOR)
else
put(WidgetAnalytics.CONTEXT, WidgetAnalytics.CONTEXT_HOME)
if (isAutoCreated == null) return
if (isAutoCreated) {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_AUTO)
} else {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_MANUAL)
isAutoCreated?.let {
if (isAutoCreated) {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_AUTO)
} else {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_MANUAL)
}
}
}
)
@ -1757,11 +1761,13 @@ fun CoroutineScope.sendDeleteWidgetEvent(
put(WidgetAnalytics.CONTEXT, WidgetAnalytics.CONTEXT_EDITOR)
else
put(WidgetAnalytics.CONTEXT, WidgetAnalytics.CONTEXT_HOME)
if (isAutoCreated == null) return
if (isAutoCreated) {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_AUTO)
} else {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_MANUAL)
isAutoCreated?.let {
if (isAutoCreated) {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_AUTO)
} else {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_MANUAL)
}
}
}
)
@ -1796,11 +1802,13 @@ fun CoroutineScope.sendClickWidgetTitleEvent(
put(WidgetAnalytics.TAB, WidgetAnalytics.WIDGET_SOURCE_ALL_OBJECTS)
}
}
if (isAutoCreated == null) return
if (isAutoCreated) {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_AUTO)
} else {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_MANUAL)
isAutoCreated?.let {
if (isAutoCreated) {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_AUTO)
} else {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_MANUAL)
}
}
}
)
@ -1823,11 +1831,13 @@ fun CoroutineScope.sendClickWidgetTitleEvent(
put(WidgetAnalytics.TAB, WidgetAnalytics.CUSTOM_OBJECT_TYPE)
else
put(WidgetAnalytics.TAB, sourceObjectTypeId)
if (isAutoCreated == null) return
if (isAutoCreated) {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_AUTO)
} else {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_MANUAL)
isAutoCreated?.let {
if (isAutoCreated) {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_AUTO)
} else {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_MANUAL)
}
}
}
)
@ -1880,11 +1890,13 @@ fun CoroutineScope.sendReorderWidgetEvent(
put(WidgetAnalytics.TYPE, WidgetAnalytics.WIDGET_SOURCE_ALL_OBJECTS)
}
}
if (isAutoCreated == null) return
if (isAutoCreated) {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_AUTO)
} else {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_MANUAL)
isAutoCreated?.let {
if (isAutoCreated) {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_AUTO)
} else {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_MANUAL)
}
}
}
)
@ -1909,11 +1921,12 @@ suspend fun Analytics.sendOpenSidebarObjectEvent(
eventName = EventsDictionary.openSidebarObject,
props = Props(
buildMap {
if (isAutoCreated == null) return
if (isAutoCreated) {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_AUTO)
} else {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_MANUAL)
isAutoCreated?.let {
if (isAutoCreated) {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_AUTO)
} else {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_MANUAL)
}
}
}
)
@ -1927,11 +1940,12 @@ suspend fun Analytics.sendScreenWidgetMenuEvent(
eventName = EventsDictionary.screenWidgetMenu,
props = Props(
buildMap {
if (isAutoCreated == null) return
if (isAutoCreated) {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_AUTO)
} else {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_MANUAL)
isAutoCreated?.let {
if (isAutoCreated) {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_AUTO)
} else {
put(WidgetAnalytics.WIDGET_TYPE, WidgetAnalytics.WIDGET_TYPE_MANUAL)
}
}
}
)

View file

@ -875,6 +875,7 @@ class HomeScreenViewModel(
}
private fun proceedWithDeletingWidget(widget: Id) {
Timber.d("Proceeding with widget deletion: $widget")
viewModelScope.launch {
val config = spaceManager.getConfig()
if (config != null) {

View file

@ -8,6 +8,7 @@ import com.anytypeio.anytype.analytics.base.EventsDictionary
import com.anytypeio.anytype.analytics.base.EventsPropertiesKey
import com.anytypeio.anytype.analytics.base.sendEvent
import com.anytypeio.anytype.analytics.props.Props
import com.anytypeio.anytype.core_models.Event
import com.anytypeio.anytype.core_models.Id
import com.anytypeio.anytype.core_models.ObjectWrapper
import com.anytypeio.anytype.core_models.Wallpaper
@ -163,11 +164,9 @@ class VaultViewModel(
}
fun onOrderChanged(order: List<Id>) {
viewModelScope.launch {
setVaultSpaceOrder.async(
params = order
)
}
Timber.d("onOrderChanged")
viewModelScope.launch { analytics.sendEvent(eventName = EventsDictionary.reorderSpace) }
viewModelScope.launch { setVaultSpaceOrder.async(params = order) }
}
fun onCreateSpaceClicked() {