Explorar o código

Simplified common adapter model

Vadik Sirekanyan %!s(int64=7) %!d(string=hai) anos
pai
achega
b18b92f73a

+ 1 - 10
app/src/main/java/com/sirekanyan/knigopis/common/adapter/CommonAdapter.kt

@@ -3,17 +3,8 @@ package com.sirekanyan.knigopis.common.adapter
 import android.support.v7.recyclerview.extensions.ListAdapter
 import android.view.ViewGroup
 
-private fun <T : CommonModel> createItemCallback() =
-    SimpleItemCallback<T> { item ->
-        if (item.isHeader) {
-            item.header.id
-        } else {
-            item.data.id
-        }
-    }
-
 abstract class CommonAdapter<T : CommonModel> :
-    ListAdapter<T, CommonViewHolder<T>>(createItemCallback<T>()) {
+    ListAdapter<T, CommonViewHolder<T>>(SimpleItemCallback { it.id }) {
 
     private companion object {
         private const val HEADER_TYPE = 0

+ 1 - 12
app/src/main/java/com/sirekanyan/knigopis/common/adapter/CommonModel.kt

@@ -1,17 +1,6 @@
 package com.sirekanyan.knigopis.common.adapter
 
 interface CommonModel {
-
+    val id: String
     val isHeader: Boolean
-    val header: Header
-    val data: Data
-
-    interface Header {
-        val id: String
-    }
-
-    interface Data {
-        val id: String
-    }
-
 }

+ 1 - 3
app/src/main/java/com/sirekanyan/knigopis/common/adapter/CommonViewHolder.kt

@@ -3,9 +3,7 @@ package com.sirekanyan.knigopis.common.adapter
 import android.support.v7.widget.RecyclerView
 import android.view.View
 
-abstract class CommonViewHolder<T : CommonModel>(
-    view: View
-) : RecyclerView.ViewHolder(view) {
+abstract class CommonViewHolder<T>(view: View) : RecyclerView.ViewHolder(view) {
 
     protected var model: T? = null