From 7af6f4b8b1bf16ecdeeb1ff45376c80a3a19194c Mon Sep 17 00:00:00 2001 From: Goooler Date: Thu, 5 May 2022 15:04:33 +0800 Subject: [PATCH 1/2] Add internal modifiers on bindingAdapter functions --- .../demoapp/adapter/rv/core/IRvAdapter.kt | 4 +- .../demoapp/base/util/BaseBindingAdapters.kt | 48 +++++++++---------- .../common/util/CommonBindingAdapters.kt | 22 ++++----- .../demoapp/common/util/ImageLoader.kt | 20 ++++---- 4 files changed, 47 insertions(+), 47 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 e0ce43a8b..fddf29bf6 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 @@ -69,13 +69,13 @@ internal interface IMutableRvAdapter : IRvAdapter { } @BindingAdapter(value = ["binding_rv_dataList"], requireAll = true) -fun RecyclerView.setList(list: List?) { +internal fun RecyclerView.setList(list: List?) { @Suppress("UNCHECKED_CAST") (adapter as? IMutableRvAdapter)?.list = list.orEmpty() } @BindingAdapter(value = ["binding_rv_refreshItems"], requireAll = true) -fun RecyclerView.refreshItems(items: List?) { +internal fun RecyclerView.refreshItems(items: List?) { @Suppress("UNCHECKED_CAST") (adapter as? IMutableRvAdapter)?.refreshItems(items.orEmpty()) } diff --git a/base/src/main/kotlin/io/goooler/demoapp/base/util/BaseBindingAdapters.kt b/base/src/main/kotlin/io/goooler/demoapp/base/util/BaseBindingAdapters.kt index 94d9209d0..6c04bce70 100644 --- a/base/src/main/kotlin/io/goooler/demoapp/base/util/BaseBindingAdapters.kt +++ b/base/src/main/kotlin/io/goooler/demoapp/base/util/BaseBindingAdapters.kt @@ -18,22 +18,22 @@ import androidx.databinding.BindingAdapter // ------------------------View --------------------------// @BindingAdapter("binding_isGone") -fun View.bindingIsGone(gone: Boolean) { +internal fun View.bindingIsGone(gone: Boolean) { visibility = if (gone) View.GONE else View.VISIBLE } @BindingAdapter("binding_isVisible") -fun View.bindingIsVisible(show: Boolean) { +internal fun View.bindingIsVisible(show: Boolean) { visibility = if (show) View.VISIBLE else View.INVISIBLE } @BindingAdapter("binding_isSelected") -fun View.bindingIsSelect(select: Boolean) { +internal fun View.bindingIsSelect(select: Boolean) { isSelected = select } @BindingAdapter("binding_rect_radius") -fun View.bindingRectCornerRadius(@Px radius: Float) { +internal fun View.bindingRectCornerRadius(@Px radius: Float) { outlineProvider = object : ViewOutlineProvider() { override fun getOutline(view: View, outline: Outline) { outline.setRoundRect(0, 0, view.width, view.height, radius) @@ -43,41 +43,41 @@ fun View.bindingRectCornerRadius(@Px radius: Float) { } @BindingAdapter("binding_width", "binding_height") -fun View.bindingWidthAndHeight(@Px width: Float, @Px height: Float) { +internal fun View.bindingWidthAndHeight(@Px width: Float, @Px height: Float) { layoutParams.width = width.toInt() layoutParams.height = height.toInt() requestLayout() } @BindingAdapter("binding_width") -fun View.bindingWidth(@Px width: Float) { +internal fun View.bindingWidth(@Px width: Float) { layoutParams.width = width.toInt() requestLayout() } @BindingAdapter("binding_height") -fun View.bindingHeight(@Px height: Float) { +internal fun View.bindingHeight(@Px height: Float) { layoutParams.height = height.toInt() requestLayout() } @BindingAdapter("binding_marginTop") -fun View.bindingMarginTop(@Px margin: Float) { +internal fun View.bindingMarginTop(@Px margin: Float) { marginDirection(1, margin) } @BindingAdapter("binding_marginBottom") -fun View.bindingMarginBottom(@Px margin: Float) { +internal fun View.bindingMarginBottom(@Px margin: Float) { marginDirection(3, margin) } @BindingAdapter("binding_marginStart") -fun View.bindingMarginStart(@Px margin: Float) { +internal fun View.bindingMarginStart(@Px margin: Float) { marginDirection(0, margin) } @BindingAdapter("binding_marginEnd") -fun View.bindingMarginEnd(@Px margin: Float) { +internal fun View.bindingMarginEnd(@Px margin: Float) { marginDirection(2, margin) } @@ -89,7 +89,7 @@ fun View.bindingMarginEnd(@Px margin: Float) { "binding_bg_angle", "binding_bg_radius" ) -fun View.bindingBgShapeGradual( +internal fun View.bindingBgShapeGradual( @ColorInt startColor: Int, @ColorInt endColor: Int, angle: Int, @@ -110,7 +110,7 @@ fun View.bindingBgShapeGradual( "binding_bg_strokeColor", "binding_bg_radius" ) -fun View.bindingBgShapeGradual( +internal fun View.bindingBgShapeGradual( @ColorInt startColor: Int, @ColorInt endColor: Int, angle: Int, @@ -134,7 +134,7 @@ fun View.bindingBgShapeGradual( "binding_bg_angle", "binding_bg_radius" ) -fun View.bindingBgShapeGradual( +internal fun View.bindingBgShapeGradual( @ColorInt startColor: Int, @ColorInt centerColor: Int, @ColorInt endColor: Int, @@ -161,7 +161,7 @@ fun View.bindingBgShapeGradual( ], requireAll = false ) -fun View.bindingBgShapeCorners( +internal fun View.bindingBgShapeCorners( @ColorInt solidColor: Int, @Px topLeft: Float, @Px topRight: Float, @@ -176,7 +176,7 @@ fun View.bindingBgShapeCorners( "binding_bg_endColor", "binding_bg_angle" ) -fun View.bindingBgShapeGradual( +internal fun View.bindingBgShapeGradual( @ColorInt startColor: Int, @ColorInt endColor: Int, angle: Int @@ -190,7 +190,7 @@ fun View.bindingBgShapeGradual( "binding_bg_endColor", "binding_bg_angle" ) -fun View.bindingBgShapeGradual( +internal fun View.bindingBgShapeGradual( @ColorInt startColor: Int, @ColorInt centerColor: Int, @ColorInt endColor: Int, @@ -205,7 +205,7 @@ fun View.bindingBgShapeGradual( "binding_bg_solidColor", "binding_bg_radius" ) -fun View.bindingBgShapeStroke( +internal fun View.bindingBgShapeStroke( @Px stroke: Float, @ColorInt strokeColor: Int, @ColorInt solidColor: Int, @@ -223,7 +223,7 @@ fun View.bindingBgShapeStroke( "binding_bg_solidColor", "binding_bg_radius" ) -fun View.bindingBgShape( +internal fun View.bindingBgShape( @ColorInt solidColor: Int, @Px radius: Float ) { @@ -235,7 +235,7 @@ fun View.bindingBgShape( "binding_bg_strokeColor", "binding_bg_solidOvalColor" ) -fun View.bindingBgShapeOvalStroke( +internal fun View.bindingBgShapeOvalStroke( @Px stroke: Float, @ColorInt strokeColor: Int, @ColorInt solidOvalColor: Int @@ -249,25 +249,25 @@ fun View.bindingBgShapeOvalStroke( } @BindingAdapter("binding_bg_solidOvalColor") -fun View.bindingBgShapeOval(@ColorInt solidOvalColor: Int) { +internal fun View.bindingBgShapeOval(@ColorInt solidOvalColor: Int) { setBgShapeGradual(shapeType = GradientDrawable.OVAL, solidColor = solidOvalColor) } // ------------------------TextView--------------------------// @BindingAdapter("binding_font_type") -fun TextView.bindingImpactTypeface(path: String) { +internal fun TextView.bindingImpactTypeface(path: String) { typeface = Typeface.createFromAsset(context.assets, path) } @BindingAdapter("binding_paint_flag") -fun TextView.bindingPaintFlag(flag: Int) { +internal fun TextView.bindingPaintFlag(flag: Int) { paint.flags = flag paint.isAntiAlias = true } @BindingAdapter("binding_paint_flag_is_thru") -fun TextView.bindingPaintFlagThru(flag: Boolean) { +internal fun TextView.bindingPaintFlagThru(flag: Boolean) { if (flag) { paint.flags = Paint.STRIKE_THRU_TEXT_FLAG paint.isAntiAlias = true diff --git a/common/src/main/kotlin/io/goooler/demoapp/common/util/CommonBindingAdapters.kt b/common/src/main/kotlin/io/goooler/demoapp/common/util/CommonBindingAdapters.kt index 28c200457..0c6fffd02 100644 --- a/common/src/main/kotlin/io/goooler/demoapp/common/util/CommonBindingAdapters.kt +++ b/common/src/main/kotlin/io/goooler/demoapp/common/util/CommonBindingAdapters.kt @@ -13,64 +13,64 @@ import com.scwang.smart.refresh.layout.SmartRefreshLayout // ------------------------SmartRefreshLayout--------------------------// @BindingAdapter("binding_srl_refreshFinish") -fun SmartRefreshLayout.bindingFinishRefresh(isFinish: Boolean) { +internal fun SmartRefreshLayout.bindingFinishRefresh(isFinish: Boolean) { if (isFinish) finishRefresh() } @BindingAdapter("binding_srl_loadMoreFinish") -fun SmartRefreshLayout.bindingFinishLoadMore(isFinish: Boolean) { +internal fun SmartRefreshLayout.bindingFinishLoadMore(isFinish: Boolean) { if (isFinish) finishLoadMore() } @BindingAdapter("binding_srl_enableLoadMore") -fun SmartRefreshLayout.bindingEnableLoadMore(enable: Boolean) { +internal fun SmartRefreshLayout.bindingEnableLoadMore(enable: Boolean) { setEnableLoadMore(enable) } @BindingAdapter("binding_srl_enableRefresh") -fun SmartRefreshLayout.bindingEnableRefresh(enable: Boolean) { +internal fun SmartRefreshLayout.bindingEnableRefresh(enable: Boolean) { setEnableRefresh(enable) } @BindingAdapter("binding_srl_noMore") -fun SmartRefreshLayout.bindingNoMoreData(haveNoMore: Boolean) { +internal fun SmartRefreshLayout.bindingNoMoreData(haveNoMore: Boolean) { setNoMoreData(haveNoMore) } @BindingAdapter("binding_srl_headerEmpty") -fun SmartRefreshLayout.bindingHeaderEmpty(isEmpty: Boolean) { +internal fun SmartRefreshLayout.bindingHeaderEmpty(isEmpty: Boolean) { (refreshHeader as? ClassicsAbstract<*>)?.forEach { it.alpha = if (isEmpty) 0f else 1f } } @BindingAdapter("binding_srl_footerEmpty") -fun SmartRefreshLayout.bindingFooterEmpty(isEmpty: Boolean) { +internal fun SmartRefreshLayout.bindingFooterEmpty(isEmpty: Boolean) { (refreshFooter as? ClassicsAbstract<*>)?.forEach { it.alpha = if (isEmpty) 0f else 1f } } @BindingAdapter("binding_srl_headerPrimaryColor") -fun SmartRefreshLayout.bindingHeaderPrimaryColor(@ColorInt color: Int) { +internal fun SmartRefreshLayout.bindingHeaderPrimaryColor(@ColorInt color: Int) { (refreshHeader as? ClassicsAbstract<*>)?.setPrimaryColor(color) ?: setRefreshHeader(ClassicsHeader(context).apply { setPrimaryColor(color) }) } @BindingAdapter("binding_srl_footerPrimaryColor") -fun SmartRefreshLayout.bindingFooterPrimaryColor(@ColorInt color: Int) { +internal fun SmartRefreshLayout.bindingFooterPrimaryColor(@ColorInt color: Int) { (refreshFooter as? ClassicsAbstract<*>)?.setPrimaryColor(color) ?: setRefreshFooter(ClassicsFooter(context).apply { setPrimaryColor(color) }) } @BindingAdapter("binding_srl_headerAccentColor") -fun SmartRefreshLayout.bindingHeaderAccentColor(@ColorInt color: Int) { +internal fun SmartRefreshLayout.bindingHeaderAccentColor(@ColorInt color: Int) { (refreshHeader as? ClassicsAbstract<*>)?.setAccentColor(color) ?: setRefreshHeader(ClassicsHeader(context).apply { setAccentColor(color) }) } @BindingAdapter("binding_srl_footerAccentColor") -fun SmartRefreshLayout.bindingFooterAccentColor(@ColorInt color: Int) { +internal fun SmartRefreshLayout.bindingFooterAccentColor(@ColorInt color: Int) { (refreshFooter as? ClassicsAbstract<*>)?.setAccentColor(color) ?: setRefreshFooter(ClassicsFooter(context).apply { setAccentColor(color) }) } diff --git a/common/src/main/kotlin/io/goooler/demoapp/common/util/ImageLoader.kt b/common/src/main/kotlin/io/goooler/demoapp/common/util/ImageLoader.kt index f6dddd688..0c16c31c5 100644 --- a/common/src/main/kotlin/io/goooler/demoapp/common/util/ImageLoader.kt +++ b/common/src/main/kotlin/io/goooler/demoapp/common/util/ImageLoader.kt @@ -104,7 +104,7 @@ object ImageLoader { // ------------------------BindingAdapter--------------------------// @BindingAdapter("binding_iv_data") -fun ImageView.load(data: Any?) { +internal fun ImageView.load(data: Any?) { ImageLoader.load(this, data) } @@ -112,7 +112,7 @@ fun ImageView.load(data: Any?) { "binding_iv_data", "binding_iv_cornerRadius" ) -fun ImageView.load( +internal fun ImageView.load( data: Any?, @Px @FloatRange(from = 0.0) cornerRadius: Float ) { @@ -123,7 +123,7 @@ fun ImageView.load( "binding_iv_data", "binding_iv_placeholder" ) -fun ImageView.load( +internal fun ImageView.load( data: Any?, placeholderDrawable: Drawable? ) { @@ -135,7 +135,7 @@ fun ImageView.load( "binding_iv_placeholder", "binding_iv_error" ) -fun ImageView.load( +internal fun ImageView.load( data: Any?, placeholderDrawable: Drawable?, errorDrawable: Drawable? @@ -149,7 +149,7 @@ fun ImageView.load( "binding_iv_error", "binding_iv_cornerRadius" ) -fun ImageView.load( +internal fun ImageView.load( data: Any?, placeholderDrawable: Drawable?, errorDrawable: Drawable?, @@ -165,7 +165,7 @@ fun ImageView.load( "binding_iv_cornerRadius", "binding_iv_useCache" ) -fun ImageView.load( +internal fun ImageView.load( data: Any?, placeholderDrawable: Drawable?, errorDrawable: Drawable?, @@ -176,7 +176,7 @@ fun ImageView.load( } @BindingAdapter("binding_iv_data_circle") -fun ImageView.loadCircleCrop(data: Any?) { +internal fun ImageView.loadCircleCrop(data: Any?) { ImageLoader.loadCircleCrop(this, data) } @@ -184,7 +184,7 @@ fun ImageView.loadCircleCrop(data: Any?) { "binding_iv_data_circle", "binding_iv_placeholder" ) -fun ImageView.loadCircleCrop( +internal fun ImageView.loadCircleCrop( data: Any?, placeholderDrawable: Drawable? ) { @@ -196,7 +196,7 @@ fun ImageView.loadCircleCrop( "binding_iv_placeholder", "binding_iv_error" ) -fun ImageView.loadCircleCrop( +internal fun ImageView.loadCircleCrop( data: Any?, placeholderDrawable: Drawable?, errorDrawable: Drawable? @@ -210,7 +210,7 @@ fun ImageView.loadCircleCrop( "binding_iv_error", "binding_iv_useCache" ) -fun ImageView.loadCircleCrop( +internal fun ImageView.loadCircleCrop( data: Any?, placeholderDrawable: Drawable?, errorDrawable: Drawable?, From 443efde48ed9584e4921fbf82debeb3d78864426 Mon Sep 17 00:00:00 2001 From: Goooler Date: Thu, 5 May 2022 15:09:36 +0800 Subject: [PATCH 2/2] Add binding prefixes on bindingAdapter functions --- .../demoapp/adapter/rv/core/IRvAdapter.kt | 4 ++-- .../demoapp/common/util/ImageLoader.kt | 20 +++++++++---------- 2 files changed, 12 insertions(+), 12 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 fddf29bf6..3fabd64e5 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 @@ -69,13 +69,13 @@ internal interface IMutableRvAdapter : IRvAdapter { } @BindingAdapter(value = ["binding_rv_dataList"], requireAll = true) -internal fun RecyclerView.setList(list: List?) { +internal fun RecyclerView.bindingSetList(list: List?) { @Suppress("UNCHECKED_CAST") (adapter as? IMutableRvAdapter)?.list = list.orEmpty() } @BindingAdapter(value = ["binding_rv_refreshItems"], requireAll = true) -internal fun RecyclerView.refreshItems(items: List?) { +internal fun RecyclerView.bindingRefreshItems(items: List?) { @Suppress("UNCHECKED_CAST") (adapter as? IMutableRvAdapter)?.refreshItems(items.orEmpty()) } diff --git a/common/src/main/kotlin/io/goooler/demoapp/common/util/ImageLoader.kt b/common/src/main/kotlin/io/goooler/demoapp/common/util/ImageLoader.kt index 0c16c31c5..52602a127 100644 --- a/common/src/main/kotlin/io/goooler/demoapp/common/util/ImageLoader.kt +++ b/common/src/main/kotlin/io/goooler/demoapp/common/util/ImageLoader.kt @@ -104,7 +104,7 @@ object ImageLoader { // ------------------------BindingAdapter--------------------------// @BindingAdapter("binding_iv_data") -internal fun ImageView.load(data: Any?) { +internal fun ImageView.bindingLoad(data: Any?) { ImageLoader.load(this, data) } @@ -112,7 +112,7 @@ internal fun ImageView.load(data: Any?) { "binding_iv_data", "binding_iv_cornerRadius" ) -internal fun ImageView.load( +internal fun ImageView.bindingLoad( data: Any?, @Px @FloatRange(from = 0.0) cornerRadius: Float ) { @@ -123,7 +123,7 @@ internal fun ImageView.load( "binding_iv_data", "binding_iv_placeholder" ) -internal fun ImageView.load( +internal fun ImageView.bindingLoad( data: Any?, placeholderDrawable: Drawable? ) { @@ -135,7 +135,7 @@ internal fun ImageView.load( "binding_iv_placeholder", "binding_iv_error" ) -internal fun ImageView.load( +internal fun ImageView.bindingLoad( data: Any?, placeholderDrawable: Drawable?, errorDrawable: Drawable? @@ -149,7 +149,7 @@ internal fun ImageView.load( "binding_iv_error", "binding_iv_cornerRadius" ) -internal fun ImageView.load( +internal fun ImageView.bindingLoad( data: Any?, placeholderDrawable: Drawable?, errorDrawable: Drawable?, @@ -165,7 +165,7 @@ internal fun ImageView.load( "binding_iv_cornerRadius", "binding_iv_useCache" ) -internal fun ImageView.load( +internal fun ImageView.bindingLoad( data: Any?, placeholderDrawable: Drawable?, errorDrawable: Drawable?, @@ -176,7 +176,7 @@ internal fun ImageView.load( } @BindingAdapter("binding_iv_data_circle") -internal fun ImageView.loadCircleCrop(data: Any?) { +internal fun ImageView.bindingLoadCircleCrop(data: Any?) { ImageLoader.loadCircleCrop(this, data) } @@ -184,7 +184,7 @@ internal fun ImageView.loadCircleCrop(data: Any?) { "binding_iv_data_circle", "binding_iv_placeholder" ) -internal fun ImageView.loadCircleCrop( +internal fun ImageView.bindingLoadCircleCrop( data: Any?, placeholderDrawable: Drawable? ) { @@ -196,7 +196,7 @@ internal fun ImageView.loadCircleCrop( "binding_iv_placeholder", "binding_iv_error" ) -internal fun ImageView.loadCircleCrop( +internal fun ImageView.bindingLoadCircleCrop( data: Any?, placeholderDrawable: Drawable?, errorDrawable: Drawable? @@ -210,7 +210,7 @@ internal fun ImageView.loadCircleCrop( "binding_iv_error", "binding_iv_useCache" ) -internal fun ImageView.loadCircleCrop( +internal fun ImageView.bindingLoadCircleCrop( data: Any?, placeholderDrawable: Drawable?, errorDrawable: Drawable?,