mirror of
https://github.com/melihaksoy/Android-Kotlin-Modulerized-CleanArchitecture.git
synced 2026-03-21 08:59:29 +01:00
Separated diffutil callback creation from adapter
This commit is contained in:
@@ -25,8 +25,4 @@ fun <T> Fragment.observe(data: LiveData<T>, block: (T) -> Unit) {
|
||||
inline fun <reified T : ViewModel> ViewModelProvider.Factory.createFor(
|
||||
fragment: Fragment,
|
||||
crossinline block: T.() -> Unit = {}
|
||||
): T {
|
||||
val viewModel = ViewModelProviders.of(fragment, this)[T::class.java]
|
||||
viewModel.apply(block)
|
||||
return viewModel
|
||||
}
|
||||
): T = ViewModelProviders.of(fragment, this)[T::class.java].apply(block)
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.melih.core.extensions
|
||||
|
||||
import androidx.recyclerview.widget.DiffUtil
|
||||
|
||||
/**
|
||||
* Get [diff callback][DiffUtil.ItemCallback] for given type based on provided checker
|
||||
*/
|
||||
fun <T> getDiffCallbackForType(itemCheck: (oldItem: T, newItem: T) -> Boolean) = object : DiffUtil.ItemCallback<T>() {
|
||||
override fun areItemsTheSame(oldItem: T, newItem: T): Boolean =
|
||||
itemCheck(oldItem, newItem)
|
||||
|
||||
override fun areContentsTheSame(oldItem: T, newItem: T): Boolean =
|
||||
itemCheck(oldItem, newItem)
|
||||
}
|
||||
Reference in New Issue
Block a user