From 7fb976049b79d6fcdf5262df674f2c1db3863be2 Mon Sep 17 00:00:00 2001 From: skydoves Date: Sun, 24 Jan 2021 01:03:14 +0900 Subject: [PATCH] Refactor builder extensions using inline keyword --- needs/src/main/java/com/skydoves/needs/NeedsItemTheme.kt | 2 +- needs/src/main/java/com/skydoves/needs/NeedsTheme.kt | 2 +- needs/src/main/java/com/skydoves/needs/TextForm.kt | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/needs/src/main/java/com/skydoves/needs/NeedsItemTheme.kt b/needs/src/main/java/com/skydoves/needs/NeedsItemTheme.kt index ac32fb2..d271e9c 100644 --- a/needs/src/main/java/com/skydoves/needs/NeedsItemTheme.kt +++ b/needs/src/main/java/com/skydoves/needs/NeedsItemTheme.kt @@ -31,7 +31,7 @@ internal annotation class NeedsItemThemeDsl /** creates an instance of [NeedsItemTheme] by [NeedsItemTheme.Builder] using kotlin dsl. */ @JvmSynthetic @NeedsItemThemeDsl -fun needsItemTheme(context: Context, block: NeedsItemTheme.Builder.() -> Unit): NeedsItemTheme = +inline fun needsItemTheme(context: Context, block: NeedsItemTheme.Builder.() -> Unit): NeedsItemTheme = NeedsItemTheme.Builder(context).apply(block).build() /** NeedsItemTheme is an attribute class for changing item theme easily. */ diff --git a/needs/src/main/java/com/skydoves/needs/NeedsTheme.kt b/needs/src/main/java/com/skydoves/needs/NeedsTheme.kt index 7bffdd1..4195cc4 100644 --- a/needs/src/main/java/com/skydoves/needs/NeedsTheme.kt +++ b/needs/src/main/java/com/skydoves/needs/NeedsTheme.kt @@ -31,7 +31,7 @@ internal annotation class NeedsThemeDsl /** creates an instance of [NeedsTheme] by [NeedsTheme.Builder] using kotlin dsl. */ @JvmSynthetic @NeedsThemeDsl -fun needsTheme(context: Context, block: NeedsTheme.Builder.() -> Unit): NeedsTheme = +inline fun needsTheme(context: Context, block: NeedsTheme.Builder.() -> Unit): NeedsTheme = NeedsTheme.Builder(context).apply(block).build() /** NeedsTheme is an attribute class for changing [Needs] popup theme easily. */ diff --git a/needs/src/main/java/com/skydoves/needs/TextForm.kt b/needs/src/main/java/com/skydoves/needs/TextForm.kt index 491d6aa..dbb1e20 100644 --- a/needs/src/main/java/com/skydoves/needs/TextForm.kt +++ b/needs/src/main/java/com/skydoves/needs/TextForm.kt @@ -29,7 +29,7 @@ internal annotation class TextFormDsl /** creates an instance of [TextForm] from [TextForm.Builder] using kotlin dsl. */ @TextFormDsl @JvmSynthetic -fun textForm(block: TextForm.Builder.() -> Unit): TextForm = +inline fun textForm(block: TextForm.Builder.() -> Unit): TextForm = TextForm.Builder().apply(block).build() /** @@ -41,6 +41,8 @@ class TextForm(builder: Builder) { @Sp val textSize = builder.textSize + + @ColorInt val textColor = builder.textColor val textStyle = builder.textStyle