From 26f5cdeffd96adfe4eeff90bb7afac27c07ed2b7 Mon Sep 17 00:00:00 2001 From: Goooler Date: Wed, 26 Jun 2024 09:26:58 +0800 Subject: [PATCH] Better naming --- .../goooler/demoapp/adapter/rv/core/IRvAdapter.kt | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/adapter/src/main/kotlin/io/goooler/demoapp/adapter/rv/core/IRvAdapter.kt b/adapter/src/main/kotlin/io/goooler/demoapp/adapter/rv/core/IRvAdapter.kt index bda2d322c..ce4b9a054 100644 --- a/adapter/src/main/kotlin/io/goooler/demoapp/adapter/rv/core/IRvAdapter.kt +++ b/adapter/src/main/kotlin/io/goooler/demoapp/adapter/rv/core/IRvAdapter.kt @@ -176,11 +176,11 @@ internal interface IMutableRvAdapter : IRvAdapter { get() = super.list set(value) { _list.clear() - _list.addAll(transform(value)) + _list.addAll(flat(value)) } override fun refreshItems(items: List) { - transform(items).forEach { + flat(items).forEach { if (it in _list) { adapter.notifyItemChanged(_list.indexOf(it)) } @@ -199,22 +199,16 @@ internal interface IMutableRvAdapter : IRvAdapter { } } - /** - * Transform data list. Always return a new list. - */ - private fun transform(original: List): List { + private fun flat(original: List): List { val result = mutableListOf() original.forEach { findLeaf(it, result) } return result } - /** - * Recursively traversing all leaf nodes. - */ - @Suppress("UNCHECKED_CAST") private fun findLeaf(model: M, list: MutableList) { if (model is IVhModelWrapper<*>) { if (model.viewType != -1) list += model + @Suppress("UNCHECKED_CAST") model.subList.forEach { findLeaf(it as M, list) } } else { list += model