From 4615bcbddb3747280a9078d1549324a945abb033 Mon Sep 17 00:00:00 2001 From: amirisback Date: Thu, 2 Oct 2025 14:12:37 +0700 Subject: [PATCH 1/2] update: recyclerview --- .../core/FrogoRecyclerBindingAdapter.kt | 15 ++++++------ .../recycler/core/FrogoRecyclerViewAdapter.kt | 23 ++++++++++--------- .../recycler/ext/FrogoRecyclerViewExt.kt | 16 +++++++++---- .../recycler/widget/FrogoRecyclerView.kt | 15 ++++++++---- .../recycler/widget/IFrogoRecyclerView.kt | 8 +++++-- 5 files changed, 49 insertions(+), 28 deletions(-) diff --git a/frogorecyclerview/src/main/java/com/frogobox/recycler/core/FrogoRecyclerBindingAdapter.kt b/frogorecyclerview/src/main/java/com/frogobox/recycler/core/FrogoRecyclerBindingAdapter.kt index 7349e5f..d04d06d 100644 --- a/frogorecyclerview/src/main/java/com/frogobox/recycler/core/FrogoRecyclerBindingAdapter.kt +++ b/frogorecyclerview/src/main/java/com/frogobox/recycler/core/FrogoRecyclerBindingAdapter.kt @@ -45,12 +45,13 @@ abstract class FrogoRecyclerBindingAdapter : ) } - open fun setupData(data: List?) { - this.asyncListDiffer.currentList.clear() + open fun getItem(): MutableList = asyncListDiffer.currentList.toMutableList() - if (data != null) { - listData.addAll(data) - this.asyncListDiffer.submitList(listData) + open fun setItem(data: List) { + if (data.isEmpty()) { + asyncListDiffer.submitList(listOf()) + } else { + asyncListDiffer.submitList(data.map { it }) } } @@ -61,11 +62,11 @@ abstract class FrogoRecyclerBindingAdapter : } open fun setupRequirement( - data: List?, + data: List, bindingListener: FrogoRecyclerBindingListener? ) { setupListener(bindingListener) - setupData(data) + setItem(data) } } \ No newline at end of file diff --git a/frogorecyclerview/src/main/java/com/frogobox/recycler/core/FrogoRecyclerViewAdapter.kt b/frogorecyclerview/src/main/java/com/frogobox/recycler/core/FrogoRecyclerViewAdapter.kt index dde93e4..99e2b01 100644 --- a/frogorecyclerview/src/main/java/com/frogobox/recycler/core/FrogoRecyclerViewAdapter.kt +++ b/frogorecyclerview/src/main/java/com/frogobox/recycler/core/FrogoRecyclerViewAdapter.kt @@ -62,7 +62,7 @@ abstract class FrogoRecyclerViewAdapter : } else { if (hasMultiHolder) { if (hasEmptyView) { - listCount = if (frogoHolder.size == 0) { + listCount = if (frogoHolder.isEmpty()) { 1 } else { frogoHolder.size @@ -73,7 +73,7 @@ abstract class FrogoRecyclerViewAdapter : } } else { if (hasEmptyView) { - listCount = if (asyncListDiffer.currentList.size == 0) { + listCount = if (asyncListDiffer.currentList.isEmpty()) { 1 } else { asyncListDiffer.currentList.size @@ -92,7 +92,7 @@ abstract class FrogoRecyclerViewAdapter : } else { if (hasMultiHolder) { if (hasEmptyView) { - if (frogoHolder.size != 0) { + if (frogoHolder.isNotEmpty()) { holder.bindItem( data = frogoHolder[position].data, position = position, @@ -110,7 +110,7 @@ abstract class FrogoRecyclerViewAdapter : } } else { if (hasEmptyView) { - if (asyncListDiffer.currentList.size != 0) { + if (asyncListDiffer.currentList.isNotEmpty()) { holder.bindItem( data = asyncListDiffer.currentList[position], position = position, @@ -206,12 +206,13 @@ abstract class FrogoRecyclerViewAdapter : } } - open fun setupData(data: List?) { - this.asyncListDiffer.currentList.clear() + open fun getItem(): MutableList = asyncListDiffer.currentList.toMutableList() - if (data != null) { - listData.addAll(data) - this.asyncListDiffer.submitList(listData) + open fun setItem(data: List) { + if (data.isEmpty()) { + asyncListDiffer.submitList(listOf()) + } else { + asyncListDiffer.submitList(data.map { it }) } } @@ -227,11 +228,11 @@ abstract class FrogoRecyclerViewAdapter : open fun setupRequirement( customViewId: Int, - data: List?, + data: List, listener: FrogoRecyclerViewListener? ) { setupListener(listener) - setupData(data) + setItem(data) setupCustomLayout(customViewId) layoutHandling() } diff --git a/frogorecyclerview/src/main/java/com/frogobox/recycler/ext/FrogoRecyclerViewExt.kt b/frogorecyclerview/src/main/java/com/frogobox/recycler/ext/FrogoRecyclerViewExt.kt index bcfa9fb..a8f864d 100644 --- a/frogorecyclerview/src/main/java/com/frogobox/recycler/ext/FrogoRecyclerViewExt.kt +++ b/frogorecyclerview/src/main/java/com/frogobox/recycler/ext/FrogoRecyclerViewExt.kt @@ -47,16 +47,24 @@ fun RecyclerView.getAdapterExt(): FrogoViewAdapter { return this.adapter as FrogoViewAdapter } -fun RecyclerView.setupData(data: List) { - this.getAdapterExt().setupData(data) +fun RecyclerView.setItem(data: List) { + this.getAdapterExt().setItem(data) +} + +fun RecyclerView.getItem(): List { + return this.getAdapterExt().getItem() } fun RecyclerView.getAdapterBindingExt(): FrogoBindingAdapter { return this.adapter as FrogoBindingAdapter } -fun RecyclerView.setupDataBinding(data: List) { - this.getAdapterBindingExt().setupData(data) +fun RecyclerView.setItemBinding(data: List) { + this.getAdapterBindingExt().setItem(data) +} + +fun RecyclerView.getItemBinding(): List { + return this.getAdapterBindingExt().getItem() } fun RecyclerView.addOnBottomScrollListener(onBottomReached: () -> Unit = {}) { diff --git a/frogorecyclerview/src/main/java/com/frogobox/recycler/widget/FrogoRecyclerView.kt b/frogorecyclerview/src/main/java/com/frogobox/recycler/widget/FrogoRecyclerView.kt index 90d930b..c7dee5b 100644 --- a/frogorecyclerview/src/main/java/com/frogobox/recycler/widget/FrogoRecyclerView.kt +++ b/frogorecyclerview/src/main/java/com/frogobox/recycler/widget/FrogoRecyclerView.kt @@ -96,17 +96,24 @@ class FrogoRecyclerView : RecyclerView, return this.adapter as FrogoViewAdapter } - override fun setupData(data: List) { - this.getAdapterExt().setupData(data) + override fun setItem(data: List) { + this.getAdapterExt().setItem(data) + } + + override fun getItem(): List { + return this.getAdapterExt().getItem() } override fun getAdapterBindingExt(): FrogoBindingAdapter { return this.adapter as FrogoBindingAdapter } - override fun setupDataBinding(data: List) { - this.getAdapterBindingExt().setupData(data) + override fun setItemBinding(data: List) { + this.getAdapterBindingExt().setItem(data) } + override fun getItemBinding(): List { + return this.getAdapterBindingExt().getItem() + } } \ No newline at end of file diff --git a/frogorecyclerview/src/main/java/com/frogobox/recycler/widget/IFrogoRecyclerView.kt b/frogorecyclerview/src/main/java/com/frogobox/recycler/widget/IFrogoRecyclerView.kt index f275857..90169f7 100644 --- a/frogorecyclerview/src/main/java/com/frogobox/recycler/widget/IFrogoRecyclerView.kt +++ b/frogorecyclerview/src/main/java/com/frogobox/recycler/widget/IFrogoRecyclerView.kt @@ -54,10 +54,14 @@ interface IFrogoRecyclerView { fun getAdapterExt(): FrogoViewAdapter - fun setupData(data: List) + fun setItem(data: List) + + fun getItem(): List fun getAdapterBindingExt(): FrogoBindingAdapter - fun setupDataBinding(data: List) + fun setItemBinding(data: List) + + fun getItemBinding(): List } \ No newline at end of file From ee18ccc8fdac8debae664f5a8d8388eb2511141c Mon Sep 17 00:00:00 2001 From: amirisback Date: Thu, 2 Oct 2025 14:22:29 +0700 Subject: [PATCH 2/2] Release v2.3.4 --- README.md | 8 ++++---- buildSrc/src/main/kotlin/ProjectSetting.kt | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 530033b..17b8f12 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ This Is Latest Release - $version_release = 2.3.3 + $version_release = 2.3.4 What's New?? @@ -54,7 +54,7 @@ allprojects { ```groovy dependencies { // library frogo-sdk - implementation 'com.github.frogobox:frogo-sdk:2.3.3' + implementation 'com.github.frogobox:frogo-sdk:2.3.4' } ``` @@ -63,14 +63,14 @@ dependencies { ```groovy dependencies { // library frogo-sdk - implementation("com.github.frogobox:frogo-sdk:2.3.3") + implementation("com.github.frogobox:frogo-sdk:2.3.4") } ``` ####