mirror of
https://github.com/anyproto/anytype-kotlin.git
synced 2025-06-08 05:47:05 +09:00
Sets | Fix | Hide icons in all layouts when hide icon set to true (#2408)
This commit is contained in:
parent
877c73521c
commit
09044cc5fb
2 changed files with 27 additions and 27 deletions
|
@ -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) {
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue