From 09044cc5fba45457451f41632ba6a314d0da2b15 Mon Sep 17 00:00:00 2001 From: Sergey Boishtyan Date: Wed, 13 Jul 2022 17:01:01 +0300 Subject: [PATCH] Sets | Fix | Hide icons in all layouts when hide icon set to true (#2408) --- .../features/dataview/ViewerGridAdapter.kt | 50 +++++++++---------- .../presentation/sets/ObjectSetViewModel.kt | 4 +- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/ViewerGridAdapter.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/ViewerGridAdapter.kt index a16c583b78..dcb28f4002 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/ViewerGridAdapter.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/dataview/ViewerGridAdapter.kt @@ -9,12 +9,13 @@ import androidx.recyclerview.widget.DividerItemDecoration import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.RecyclerView import com.anytypeio.anytype.core_models.Id -import com.anytypeio.anytype.core_models.ObjectType +import com.anytypeio.anytype.core_models.ObjectType.Layout import com.anytypeio.anytype.core_ui.R import com.anytypeio.anytype.core_ui.databinding.ItemViewerGridRowBinding import com.anytypeio.anytype.core_ui.extensions.drawable import com.anytypeio.anytype.core_utils.ext.gone import com.anytypeio.anytype.core_utils.ext.visible +import com.anytypeio.anytype.presentation.objects.ObjectIcon import com.anytypeio.anytype.presentation.sets.model.CellView import com.anytypeio.anytype.presentation.sets.model.Viewer @@ -112,14 +113,25 @@ class ViewerGridAdapter( val adapter get() = binding.rowCellRecycler.adapter as ViewerGridCellsAdapter fun bindObjectHeader(row: Viewer.GridView.Row) { + if (row.showIcon) { + showIcon(row) + } else { + hideIcon() + } + binding.tvTitle.text = row.name + } + + private fun hideIcon() { + binding.objectIcon.gone() + binding.objectIcon.setIcon(ObjectIcon.None) + } + + private fun showIcon(row: Viewer.GridView.Row) { + binding.objectIcon.visible() when (row.layout) { - ObjectType.Layout.TODO -> { - binding.objectIcon.visible() - binding.objectIcon.setCheckbox(row.isChecked) - } - ObjectType.Layout.BASIC -> { - if ((row.image != null || row.emoji != null) && row.showIcon) { - binding.objectIcon.visible() + Layout.TODO -> binding.objectIcon.setCheckbox(row.isChecked) + Layout.BASIC -> { + if ((row.image != null || row.emoji != null)) { if (row.image != null) { binding.objectIcon.setRectangularImage(row.image) } else if (row.emoji != null) { @@ -129,27 +141,15 @@ class ViewerGridAdapter( binding.objectIcon.gone() } } - ObjectType.Layout.PROFILE -> { - if (row.showIcon) { - binding.objectIcon.visible() - if (row.image != null) { - binding.objectIcon.setCircularImage(row.image) - } else { - binding.objectIcon.setProfileInitials(row.name.orEmpty()) - } + Layout.PROFILE -> { + if (row.image != null) { + binding.objectIcon.setCircularImage(row.image) } else { - binding.objectIcon.gone() - } - } - else -> { - if (row.showIcon) { - binding.objectIcon.visible() - } else { - binding.objectIcon.gone() + binding.objectIcon.setProfileInitials(row.name.orEmpty()) } } + else -> binding.objectIcon.gone() } - binding.tvTitle.text = row.name } fun bindObjectCells(row: Viewer.GridView.Row) { diff --git a/presentation/src/main/java/com/anytypeio/anytype/presentation/sets/ObjectSetViewModel.kt b/presentation/src/main/java/com/anytypeio/anytype/presentation/sets/ObjectSetViewModel.kt index 3faad2636f..97a77d4380 100644 --- a/presentation/src/main/java/com/anytypeio/anytype/presentation/sets/ObjectSetViewModel.kt +++ b/presentation/src/main/java/com/anytypeio/anytype/presentation/sets/ObjectSetViewModel.kt @@ -155,7 +155,7 @@ class ObjectSetViewModel( viewModelScope.launch { reducer.state.filter { it.isInitialized }.collect { set -> - Timber.d("Set updated!") + Timber.d("Got ObjectSetViewModel new state") if (set.viewers.isNotEmpty()) { _viewerTabs.value = set.tabs(session.currentViewerId) val viewerIndex = set.viewers.indexOfFirst { it.id == session.currentViewerId } @@ -168,7 +168,7 @@ class ObjectSetViewModel( urlBuilder = urlBuilder ) } else { - Timber.e("Data view contained no view") + Timber.w("Data view contained no view") error.value = DATA_VIEW_HAS_NO_VIEW_MSG _header.value = set.title( ctx = context,