Skip to content
Snippets Groups Projects
Commit c64c3576 authored by Taras's avatar Taras
Browse files

Create tasks adapter

parent b6afe848
No related branches found
No related tags found
No related merge requests found
...@@ -6,8 +6,7 @@ import org.futo.circles.model.NotificationTestListItem ...@@ -6,8 +6,7 @@ import org.futo.circles.model.NotificationTestListItem
class NotificationsTestAdapter( class NotificationsTestAdapter(
private val onFixClicked: (Int) -> Unit, private val onFixClicked: (Int) -> Unit,
) : ) : BaseRvAdapter<NotificationTestListItem, NotificationTestViewHolder>(DefaultIdEntityCallback()) {
BaseRvAdapter<NotificationTestListItem, NotificationTestViewHolder>(DefaultIdEntityCallback()) {
override fun onCreateViewHolder( override fun onCreateViewHolder(
parent: ViewGroup, parent: ViewGroup,
......
package org.futo.circles.core.workspace.list
import android.view.ViewGroup
import org.futo.circles.core.list.BaseRvAdapter
import org.futo.circles.core.model.MandatoryWorkspaceTask
import org.futo.circles.core.model.OptionalWorkspaceTask
import org.futo.circles.core.model.WorkspaceTask
private enum class WorkspaceTaskViewType { Mandatory, Optional }
class WorkspaceTasksListAdapter(
private val onOptionalItemClicked: (OptionalWorkspaceTask) -> Unit
) : BaseRvAdapter<WorkspaceTask, WorkspaceTaskViewHolder>(DefaultIdEntityCallback()) {
override fun getItemViewType(position: Int): Int = when (getItem(position)) {
is MandatoryWorkspaceTask -> WorkspaceTaskViewType.Mandatory.ordinal
is OptionalWorkspaceTask -> WorkspaceTaskViewType.Optional.ordinal
}
override fun onCreateViewHolder(
parent: ViewGroup,
viewType: Int
) = when (WorkspaceTaskViewType.values()[viewType]) {
WorkspaceTaskViewType.Mandatory -> MandatoryWorkspaceTaskViewHolder(parent = parent)
WorkspaceTaskViewType.Optional -> OptionalWorkspaceTaskViewHolder(
parent = parent,
onItemClicked = { position ->
(getItem(position) as? OptionalWorkspaceTask)?.let {
onOptionalItemClicked.invoke(it)
}
}
)
}
override fun onBindViewHolder(holder: WorkspaceTaskViewHolder, position: Int) {
holder.bind(getItem(position))
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment