From 1ec164c79196dbc949d81451acd03c89d8a3baea Mon Sep 17 00:00:00 2001 From: Evgenii Kozlov Date: Mon, 24 Nov 2025 16:41:51 +0100 Subject: [PATCH 1/3] DROID-4166 fixes --- .../anytype/ui/home/WidgetSection.kt | 4 ++++ .../anytype/ui/home/WidgetsScreen.kt | 2 ++ .../ui/widgets/types/DataViewWidget.kt | 20 ++++++++++++++--- .../presentation/home/HomeScreenViewModel.kt | 22 +++++++++++++++++-- 4 files changed, 43 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/anytypeio/anytype/ui/home/WidgetSection.kt b/app/src/main/java/com/anytypeio/anytype/ui/home/WidgetSection.kt index 090a592299..76795d6f01 100644 --- a/app/src/main/java/com/anytypeio/anytype/ui/home/WidgetSection.kt +++ b/app/src/main/java/com/anytypeio/anytype/ui/home/WidgetSection.kt @@ -67,6 +67,7 @@ fun LazyListScope.renderWidgetSection( onWidgetMenuAction: (WidgetId, DropDownMenuAction) -> Unit, onWidgetElementClicked: (WidgetId, ObjectWrapper.Basic) -> Unit, onWidgetSourceClicked: (WidgetId) -> Unit, + onWidgetSourceWithViewClicked: (WidgetId, ViewId?) -> Unit, onWidgetMenuTriggered: (WidgetId) -> Unit, onToggleExpandedWidgetState: (WidgetId) -> Unit, onChangeWidgetView: (WidgetId, ViewId) -> Unit, @@ -249,6 +250,7 @@ fun LazyListScope.renderWidgetSection( onWidgetElementClicked(item.id, obj) }, onWidgetSourceClicked = onWidgetSourceClicked, + onWidgetSourceWithViewClicked = onWidgetSourceWithViewClicked, onWidgetMenuTriggered = onWidgetMenuTriggered, onDropDownMenuAction = { action -> onWidgetMenuAction(item.id, action) @@ -311,6 +313,7 @@ fun LazyListScope.renderWidgetSection( onWidgetElementClicked(item.id, obj) }, onWidgetSourceClicked = onWidgetSourceClicked, + onWidgetSourceWithViewClicked = onWidgetSourceWithViewClicked, onWidgetMenuTriggered = onWidgetMenuTriggered, onDropDownMenuAction = { action -> onWidgetMenuAction(item.id, action) @@ -373,6 +376,7 @@ fun LazyListScope.renderWidgetSection( onWidgetElementClicked(item.id, obj) }, onWidgetSourceClicked = onWidgetSourceClicked, + onWidgetSourceWithViewClicked = onWidgetSourceWithViewClicked, onWidgetMenuTriggered = onWidgetMenuTriggered, onDropDownMenuAction = { action -> onWidgetMenuAction(item.id, action) diff --git a/app/src/main/java/com/anytypeio/anytype/ui/home/WidgetsScreen.kt b/app/src/main/java/com/anytypeio/anytype/ui/home/WidgetsScreen.kt index 897cfe694a..bc7cc82173 100644 --- a/app/src/main/java/com/anytypeio/anytype/ui/home/WidgetsScreen.kt +++ b/app/src/main/java/com/anytypeio/anytype/ui/home/WidgetsScreen.kt @@ -179,6 +179,7 @@ fun WidgetsScreen( }, onWidgetElementClicked = viewModel::onWidgetElementClicked, onWidgetSourceClicked = viewModel::onWidgetSourceClicked, + onWidgetSourceWithViewClicked = viewModel::onWidgetSourceWithViewClicked, onWidgetMenuTriggered = viewModel::onWidgetMenuTriggered, onToggleExpandedWidgetState = viewModel::onToggleWidgetExpandedState, onChangeWidgetView = viewModel::onChangeCurrentWidgetView, @@ -215,6 +216,7 @@ fun WidgetsScreen( }, onWidgetElementClicked = viewModel::onWidgetElementClicked, onWidgetSourceClicked = viewModel::onWidgetSourceClicked, + onWidgetSourceWithViewClicked = viewModel::onWidgetSourceWithViewClicked, onWidgetMenuTriggered = viewModel::onWidgetMenuTriggered, onToggleExpandedWidgetState = viewModel::onToggleWidgetExpandedState, onChangeWidgetView = viewModel::onChangeCurrentWidgetView, diff --git a/app/src/main/java/com/anytypeio/anytype/ui/widgets/types/DataViewWidget.kt b/app/src/main/java/com/anytypeio/anytype/ui/widgets/types/DataViewWidget.kt index 832cc19a2c..1f9e23fc84 100644 --- a/app/src/main/java/com/anytypeio/anytype/ui/widgets/types/DataViewWidget.kt +++ b/app/src/main/java/com/anytypeio/anytype/ui/widgets/types/DataViewWidget.kt @@ -80,6 +80,7 @@ fun DataViewListWidgetCard( mode: InteractionMode, onWidgetObjectClicked: (ObjectWrapper.Basic) -> Unit, onWidgetSourceClicked: (WidgetId) -> Unit, + onWidgetSourceWithViewClicked: (WidgetId, ViewId?) -> Unit, onWidgetMenuTriggered: (WidgetId) -> Unit, onDropDownMenuAction: (DropDownMenuAction) -> Unit, onChangeWidgetView: (WidgetId, ViewId) -> Unit, @@ -153,8 +154,9 @@ fun DataViewListWidgetCard( } } if (item.hasMore && item.isExpanded) { + val activeViewId = item.tabs.firstOrNull { it.isSelected }?.id SeeAllButton( - onClick = { onWidgetSourceClicked(item.id) } + onClick = { onWidgetSourceWithViewClicked(item.id, activeViewId) } ) } } else { @@ -179,6 +181,7 @@ fun ChatListWidgetCard( mode: InteractionMode, onWidgetObjectClicked: (ObjectWrapper.Basic) -> Unit, onWidgetSourceClicked: (WidgetId) -> Unit, + onWidgetSourceWithViewClicked: (WidgetId, ViewId?) -> Unit, onWidgetMenuTriggered: (WidgetId) -> Unit, onDropDownMenuAction: (DropDownMenuAction) -> Unit, onChangeWidgetView: (WidgetId, ViewId) -> Unit, @@ -285,8 +288,9 @@ fun ChatListWidgetCard( } } if (item.hasMore && item.isExpanded) { + val activeViewId = item.tabs.firstOrNull { it.isSelected }?.id SeeAllButton( - onClick = { onWidgetSourceClicked(item.id) } + onClick = { onWidgetSourceWithViewClicked(item.id, activeViewId) } ) } } else { @@ -311,6 +315,7 @@ fun GalleryWidgetCard( mode: InteractionMode, onWidgetObjectClicked: (ObjectWrapper.Basic) -> Unit, onWidgetSourceClicked: (WidgetId) -> Unit, + onWidgetSourceWithViewClicked: (WidgetId, ViewId?) -> Unit, onWidgetMenuTriggered: (WidgetId) -> Unit, onDropDownMenuAction: (DropDownMenuAction) -> Unit, onChangeWidgetView: (WidgetId, ViewId) -> Unit, @@ -391,7 +396,8 @@ fun GalleryWidgetCard( ) .clip(RoundedCornerShape(8.dp)) .clickable { - onWidgetSourceClicked(item.id) + val activeViewId = item.tabs.firstOrNull { it.isSelected }?.id + onWidgetSourceWithViewClicked(item.id, activeViewId) } ) { Text( @@ -1031,6 +1037,7 @@ fun DataViewListWidgetCard_Standard_Preview() { mode = InteractionMode.Default, onWidgetObjectClicked = {}, onWidgetSourceClicked = {}, + onWidgetSourceWithViewClicked = { _, _ -> }, onWidgetMenuTriggered = {}, onDropDownMenuAction = {}, onChangeWidgetView = { _, _ -> }, @@ -1081,6 +1088,7 @@ fun DataViewListWidgetCard_Compact_Preview() { mode = InteractionMode.Default, onWidgetObjectClicked = {}, onWidgetSourceClicked = {}, + onWidgetSourceWithViewClicked = { _, _ -> }, onWidgetMenuTriggered = {}, onDropDownMenuAction = {}, onChangeWidgetView = { _, _ -> }, @@ -1110,6 +1118,7 @@ fun DataViewListWidgetCard_Loading_Preview() { mode = InteractionMode.Default, onWidgetObjectClicked = {}, onWidgetSourceClicked = {}, + onWidgetSourceWithViewClicked = { _, _ -> }, onWidgetMenuTriggered = {}, onDropDownMenuAction = {}, onChangeWidgetView = { _, _ -> }, @@ -1139,6 +1148,7 @@ fun DataViewListWidgetCard_Empty_Preview() { mode = InteractionMode.Default, onWidgetObjectClicked = {}, onWidgetSourceClicked = {}, + onWidgetSourceWithViewClicked = { _, _ -> }, onWidgetMenuTriggered = {}, onDropDownMenuAction = {}, onChangeWidgetView = { _, _ -> }, @@ -1174,6 +1184,7 @@ fun DataViewListWidgetCard_Collapsed_Preview() { mode = InteractionMode.Default, onWidgetObjectClicked = {}, onWidgetSourceClicked = {}, + onWidgetSourceWithViewClicked = { _, _ -> }, onWidgetMenuTriggered = {}, onDropDownMenuAction = {}, onChangeWidgetView = { _, _ -> }, @@ -1236,6 +1247,7 @@ fun DataViewListWidgetCard_WithTabs_Preview() { mode = InteractionMode.Default, onWidgetObjectClicked = {}, onWidgetSourceClicked = {}, + onWidgetSourceWithViewClicked = { _, _ -> }, onWidgetMenuTriggered = {}, onDropDownMenuAction = {}, onChangeWidgetView = { _, _ -> }, @@ -1276,6 +1288,7 @@ fun DataViewListWidgetCard_EditMode_Preview() { mode = InteractionMode.Edit, onWidgetObjectClicked = {}, onWidgetSourceClicked = {}, + onWidgetSourceWithViewClicked = { _, _ -> }, onWidgetMenuTriggered = {}, onDropDownMenuAction = {}, onChangeWidgetView = { _, _ -> }, @@ -1319,6 +1332,7 @@ fun DataViewListWidgetCard_Favorites_Preview() { mode = InteractionMode.Default, onWidgetObjectClicked = {}, onWidgetSourceClicked = {}, + onWidgetSourceWithViewClicked = { _, _ -> }, onWidgetMenuTriggered = {}, onDropDownMenuAction = {}, onChangeWidgetView = { _, _ -> }, diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/home/HomeScreenViewModel.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/home/HomeScreenViewModel.kt index f72a80dc9b..564e2daeef 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/home/HomeScreenViewModel.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/home/HomeScreenViewModel.kt @@ -1175,7 +1175,11 @@ class HomeScreenViewModel( } fun onWidgetSourceClicked(widgetId: Id) { - Timber.d("onWidgetSourceClicked:") + onWidgetSourceWithViewClicked(widgetId, null) + } + + fun onWidgetSourceWithViewClicked(widgetId: Id, viewId: ViewId?) { + Timber.d("onWidgetSourceWithViewClicked: widgetId=$widgetId, viewId=$viewId") val widget = currentWidgets?.find { it.id == widgetId } ?: return Timber.d("Widget source: ${widget.source}") when (val source = widget.source) { @@ -1230,7 +1234,21 @@ class HomeScreenViewModel( widget = widgetId, source = source ) - proceedWithOpeningObject(source.obj) + // Check if it's a Set or Collection layout + val layout = source.obj.layout + if (layout == ObjectType.Layout.SET || layout == ObjectType.Layout.COLLECTION) { + viewModelScope.launch { + navigate( + Navigation.OpenSet( + ctx = source.obj.id, + space = vmParams.spaceId.id, + view = viewId + ) + ) + } + } else { + proceedWithOpeningObject(source.obj) + } } else { sendToast("Open bin to restore your archived object") } From 630d21c0b1a63a4eee0320829e2b25f6b79f4e6f Mon Sep 17 00:00:00 2001 From: Evgenii Kozlov Date: Mon, 24 Nov 2025 16:57:11 +0100 Subject: [PATCH 2/3] DROID-4166 fixes --- .../anytype/ui/home/WidgetSection.kt | 8 +++--- .../anytype/ui/home/WidgetsScreen.kt | 4 +-- .../ui/widgets/types/DataViewWidget.kt | 28 +++++++++---------- .../presentation/home/HomeScreenViewModel.kt | 6 ++-- 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/com/anytypeio/anytype/ui/home/WidgetSection.kt b/app/src/main/java/com/anytypeio/anytype/ui/home/WidgetSection.kt index 76795d6f01..7f5cb43421 100644 --- a/app/src/main/java/com/anytypeio/anytype/ui/home/WidgetSection.kt +++ b/app/src/main/java/com/anytypeio/anytype/ui/home/WidgetSection.kt @@ -67,7 +67,7 @@ fun LazyListScope.renderWidgetSection( onWidgetMenuAction: (WidgetId, DropDownMenuAction) -> Unit, onWidgetElementClicked: (WidgetId, ObjectWrapper.Basic) -> Unit, onWidgetSourceClicked: (WidgetId) -> Unit, - onWidgetSourceWithViewClicked: (WidgetId, ViewId?) -> Unit, + onSeeAllClicked: (WidgetId, ViewId?) -> Unit, onWidgetMenuTriggered: (WidgetId) -> Unit, onToggleExpandedWidgetState: (WidgetId) -> Unit, onChangeWidgetView: (WidgetId, ViewId) -> Unit, @@ -250,7 +250,7 @@ fun LazyListScope.renderWidgetSection( onWidgetElementClicked(item.id, obj) }, onWidgetSourceClicked = onWidgetSourceClicked, - onWidgetSourceWithViewClicked = onWidgetSourceWithViewClicked, + onSeeAllClicked = onSeeAllClicked, onWidgetMenuTriggered = onWidgetMenuTriggered, onDropDownMenuAction = { action -> onWidgetMenuAction(item.id, action) @@ -313,7 +313,7 @@ fun LazyListScope.renderWidgetSection( onWidgetElementClicked(item.id, obj) }, onWidgetSourceClicked = onWidgetSourceClicked, - onWidgetSourceWithViewClicked = onWidgetSourceWithViewClicked, + onSeeAllClicked = onSeeAllClicked, onWidgetMenuTriggered = onWidgetMenuTriggered, onDropDownMenuAction = { action -> onWidgetMenuAction(item.id, action) @@ -376,7 +376,7 @@ fun LazyListScope.renderWidgetSection( onWidgetElementClicked(item.id, obj) }, onWidgetSourceClicked = onWidgetSourceClicked, - onWidgetSourceWithViewClicked = onWidgetSourceWithViewClicked, + onSeeAllClicked = onSeeAllClicked, onWidgetMenuTriggered = onWidgetMenuTriggered, onDropDownMenuAction = { action -> onWidgetMenuAction(item.id, action) diff --git a/app/src/main/java/com/anytypeio/anytype/ui/home/WidgetsScreen.kt b/app/src/main/java/com/anytypeio/anytype/ui/home/WidgetsScreen.kt index bc7cc82173..c6070e4ce1 100644 --- a/app/src/main/java/com/anytypeio/anytype/ui/home/WidgetsScreen.kt +++ b/app/src/main/java/com/anytypeio/anytype/ui/home/WidgetsScreen.kt @@ -179,7 +179,7 @@ fun WidgetsScreen( }, onWidgetElementClicked = viewModel::onWidgetElementClicked, onWidgetSourceClicked = viewModel::onWidgetSourceClicked, - onWidgetSourceWithViewClicked = viewModel::onWidgetSourceWithViewClicked, + onSeeAllClicked = viewModel::onSeeAllClicked, onWidgetMenuTriggered = viewModel::onWidgetMenuTriggered, onToggleExpandedWidgetState = viewModel::onToggleWidgetExpandedState, onChangeWidgetView = viewModel::onChangeCurrentWidgetView, @@ -216,7 +216,7 @@ fun WidgetsScreen( }, onWidgetElementClicked = viewModel::onWidgetElementClicked, onWidgetSourceClicked = viewModel::onWidgetSourceClicked, - onWidgetSourceWithViewClicked = viewModel::onWidgetSourceWithViewClicked, + onSeeAllClicked = viewModel::onSeeAllClicked, onWidgetMenuTriggered = viewModel::onWidgetMenuTriggered, onToggleExpandedWidgetState = viewModel::onToggleWidgetExpandedState, onChangeWidgetView = viewModel::onChangeCurrentWidgetView, diff --git a/app/src/main/java/com/anytypeio/anytype/ui/widgets/types/DataViewWidget.kt b/app/src/main/java/com/anytypeio/anytype/ui/widgets/types/DataViewWidget.kt index 1f9e23fc84..b5d450ca18 100644 --- a/app/src/main/java/com/anytypeio/anytype/ui/widgets/types/DataViewWidget.kt +++ b/app/src/main/java/com/anytypeio/anytype/ui/widgets/types/DataViewWidget.kt @@ -80,7 +80,7 @@ fun DataViewListWidgetCard( mode: InteractionMode, onWidgetObjectClicked: (ObjectWrapper.Basic) -> Unit, onWidgetSourceClicked: (WidgetId) -> Unit, - onWidgetSourceWithViewClicked: (WidgetId, ViewId?) -> Unit, + onSeeAllClicked: (WidgetId, ViewId?) -> Unit, onWidgetMenuTriggered: (WidgetId) -> Unit, onDropDownMenuAction: (DropDownMenuAction) -> Unit, onChangeWidgetView: (WidgetId, ViewId) -> Unit, @@ -156,7 +156,7 @@ fun DataViewListWidgetCard( if (item.hasMore && item.isExpanded) { val activeViewId = item.tabs.firstOrNull { it.isSelected }?.id SeeAllButton( - onClick = { onWidgetSourceWithViewClicked(item.id, activeViewId) } + onClick = { onSeeAllClicked(item.id, activeViewId) } ) } } else { @@ -181,7 +181,7 @@ fun ChatListWidgetCard( mode: InteractionMode, onWidgetObjectClicked: (ObjectWrapper.Basic) -> Unit, onWidgetSourceClicked: (WidgetId) -> Unit, - onWidgetSourceWithViewClicked: (WidgetId, ViewId?) -> Unit, + onSeeAllClicked: (WidgetId, ViewId?) -> Unit, onWidgetMenuTriggered: (WidgetId) -> Unit, onDropDownMenuAction: (DropDownMenuAction) -> Unit, onChangeWidgetView: (WidgetId, ViewId) -> Unit, @@ -290,7 +290,7 @@ fun ChatListWidgetCard( if (item.hasMore && item.isExpanded) { val activeViewId = item.tabs.firstOrNull { it.isSelected }?.id SeeAllButton( - onClick = { onWidgetSourceWithViewClicked(item.id, activeViewId) } + onClick = { onSeeAllClicked(item.id, activeViewId) } ) } } else { @@ -315,7 +315,7 @@ fun GalleryWidgetCard( mode: InteractionMode, onWidgetObjectClicked: (ObjectWrapper.Basic) -> Unit, onWidgetSourceClicked: (WidgetId) -> Unit, - onWidgetSourceWithViewClicked: (WidgetId, ViewId?) -> Unit, + onSeeAllClicked: (WidgetId, ViewId?) -> Unit, onWidgetMenuTriggered: (WidgetId) -> Unit, onDropDownMenuAction: (DropDownMenuAction) -> Unit, onChangeWidgetView: (WidgetId, ViewId) -> Unit, @@ -397,7 +397,7 @@ fun GalleryWidgetCard( .clip(RoundedCornerShape(8.dp)) .clickable { val activeViewId = item.tabs.firstOrNull { it.isSelected }?.id - onWidgetSourceWithViewClicked(item.id, activeViewId) + onSeeAllClicked(item.id, activeViewId) } ) { Text( @@ -1037,7 +1037,7 @@ fun DataViewListWidgetCard_Standard_Preview() { mode = InteractionMode.Default, onWidgetObjectClicked = {}, onWidgetSourceClicked = {}, - onWidgetSourceWithViewClicked = { _, _ -> }, + onSeeAllClicked = { _, _ -> }, onWidgetMenuTriggered = {}, onDropDownMenuAction = {}, onChangeWidgetView = { _, _ -> }, @@ -1088,7 +1088,7 @@ fun DataViewListWidgetCard_Compact_Preview() { mode = InteractionMode.Default, onWidgetObjectClicked = {}, onWidgetSourceClicked = {}, - onWidgetSourceWithViewClicked = { _, _ -> }, + onSeeAllClicked = { _, _ -> }, onWidgetMenuTriggered = {}, onDropDownMenuAction = {}, onChangeWidgetView = { _, _ -> }, @@ -1118,7 +1118,7 @@ fun DataViewListWidgetCard_Loading_Preview() { mode = InteractionMode.Default, onWidgetObjectClicked = {}, onWidgetSourceClicked = {}, - onWidgetSourceWithViewClicked = { _, _ -> }, + onSeeAllClicked = { _, _ -> }, onWidgetMenuTriggered = {}, onDropDownMenuAction = {}, onChangeWidgetView = { _, _ -> }, @@ -1148,7 +1148,7 @@ fun DataViewListWidgetCard_Empty_Preview() { mode = InteractionMode.Default, onWidgetObjectClicked = {}, onWidgetSourceClicked = {}, - onWidgetSourceWithViewClicked = { _, _ -> }, + onSeeAllClicked = { _, _ -> }, onWidgetMenuTriggered = {}, onDropDownMenuAction = {}, onChangeWidgetView = { _, _ -> }, @@ -1184,7 +1184,7 @@ fun DataViewListWidgetCard_Collapsed_Preview() { mode = InteractionMode.Default, onWidgetObjectClicked = {}, onWidgetSourceClicked = {}, - onWidgetSourceWithViewClicked = { _, _ -> }, + onSeeAllClicked = { _, _ -> }, onWidgetMenuTriggered = {}, onDropDownMenuAction = {}, onChangeWidgetView = { _, _ -> }, @@ -1247,7 +1247,7 @@ fun DataViewListWidgetCard_WithTabs_Preview() { mode = InteractionMode.Default, onWidgetObjectClicked = {}, onWidgetSourceClicked = {}, - onWidgetSourceWithViewClicked = { _, _ -> }, + onSeeAllClicked = { _, _ -> }, onWidgetMenuTriggered = {}, onDropDownMenuAction = {}, onChangeWidgetView = { _, _ -> }, @@ -1288,7 +1288,7 @@ fun DataViewListWidgetCard_EditMode_Preview() { mode = InteractionMode.Edit, onWidgetObjectClicked = {}, onWidgetSourceClicked = {}, - onWidgetSourceWithViewClicked = { _, _ -> }, + onSeeAllClicked = { _, _ -> }, onWidgetMenuTriggered = {}, onDropDownMenuAction = {}, onChangeWidgetView = { _, _ -> }, @@ -1332,7 +1332,7 @@ fun DataViewListWidgetCard_Favorites_Preview() { mode = InteractionMode.Default, onWidgetObjectClicked = {}, onWidgetSourceClicked = {}, - onWidgetSourceWithViewClicked = { _, _ -> }, + onSeeAllClicked = { _, _ -> }, onWidgetMenuTriggered = {}, onDropDownMenuAction = {}, onChangeWidgetView = { _, _ -> }, diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/home/HomeScreenViewModel.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/home/HomeScreenViewModel.kt index 564e2daeef..adfa0fc836 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/home/HomeScreenViewModel.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/home/HomeScreenViewModel.kt @@ -1175,11 +1175,11 @@ class HomeScreenViewModel( } fun onWidgetSourceClicked(widgetId: Id) { - onWidgetSourceWithViewClicked(widgetId, null) + onSeeAllClicked(widgetId, null) } - fun onWidgetSourceWithViewClicked(widgetId: Id, viewId: ViewId?) { - Timber.d("onWidgetSourceWithViewClicked: widgetId=$widgetId, viewId=$viewId") + fun onSeeAllClicked(widgetId: Id, viewId: ViewId?) { + Timber.d("onSeeAllClicked: widgetId=$widgetId, viewId=$viewId") val widget = currentWidgets?.find { it.id == widgetId } ?: return Timber.d("Widget source: ${widget.source}") when (val source = widget.source) { From 517367ca742325835ad36f0dbaa63a73db7a0246 Mon Sep 17 00:00:00 2001 From: Evgenii Kozlov Date: Mon, 24 Nov 2025 17:10:55 +0100 Subject: [PATCH 3/3] DROID-4166 fixes --- .../presentation/home/HomeScreenViewModel.kt | 58 ++++++++++++------- 1 file changed, 38 insertions(+), 20 deletions(-) diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/home/HomeScreenViewModel.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/home/HomeScreenViewModel.kt index adfa0fc836..31f64d2449 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/home/HomeScreenViewModel.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/home/HomeScreenViewModel.kt @@ -1175,11 +1175,7 @@ class HomeScreenViewModel( } fun onWidgetSourceClicked(widgetId: Id) { - onSeeAllClicked(widgetId, null) - } - - fun onSeeAllClicked(widgetId: Id, viewId: ViewId?) { - Timber.d("onSeeAllClicked: widgetId=$widgetId, viewId=$viewId") + Timber.d("onWidgetSourceClicked:") val widget = currentWidgets?.find { it.id == widgetId } ?: return Timber.d("Widget source: ${widget.source}") when (val source = widget.source) { @@ -1234,21 +1230,7 @@ class HomeScreenViewModel( widget = widgetId, source = source ) - // Check if it's a Set or Collection layout - val layout = source.obj.layout - if (layout == ObjectType.Layout.SET || layout == ObjectType.Layout.COLLECTION) { - viewModelScope.launch { - navigate( - Navigation.OpenSet( - ctx = source.obj.id, - space = vmParams.spaceId.id, - view = viewId - ) - ) - } - } else { - proceedWithOpeningObject(source.obj) - } + proceedWithOpeningObject(source.obj) } else { sendToast("Open bin to restore your archived object") } @@ -1301,6 +1283,42 @@ class HomeScreenViewModel( } } + fun onSeeAllClicked(widgetId: Id, viewId: ViewId?) { + Timber.d("onSeeAllClicked: widgetId=$widgetId, viewId=$viewId") + val widget = currentWidgets?.find { it.id == widgetId } ?: return + val source = widget.source + + if (source is Widget.Source.Default) { + if (source.obj.isArchived != true) { + dispatchSelectHomeTabCustomSourceEvent( + widget = widgetId, + source = source + ) + // Check if it's a Set or Collection layout and we have a viewId + val layout = source.obj.layout + if ((layout == ObjectType.Layout.SET || layout == ObjectType.Layout.COLLECTION) && viewId != null) { + viewModelScope.launch { + navigate( + Navigation.OpenSet( + ctx = source.obj.id, + space = vmParams.spaceId.id, + view = viewId + ) + ) + } + } else { + // Fall back to standard navigation without view + proceedWithOpeningObject(source.obj) + } + } else { + sendToast("Open bin to restore your archived object") + } + } else { + // For non-default sources, delegate to standard handler + onWidgetSourceClicked(widgetId) + } + } + fun onBinWidgetClicked() { viewModelScope.launch { navigation(