1
0
Fork 0
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:
Sergey Boishtyan 2022-07-13 17:01:01 +03:00 committed by GitHub
parent 877c73521c
commit 09044cc5fb
Signed by: github
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 27 additions and 27 deletions

View file

@ -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) {

View file

@ -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,