diff --git a/library/src/main/java/com/telefonica/mistica/button/README.md b/library/src/main/java/com/telefonica/mistica/button/README.md
index 049592090..4f9d8c9e9 100644
--- a/library/src/main/java/com/telefonica/mistica/button/README.md
+++ b/library/src/main/java/com/telefonica/mistica/button/README.md
@@ -2,7 +2,7 @@
Following classes should be used to place buttons in the app:
* `com.telefonica.mistica.Button` --> Simple button with primary style applied by default
-* `com.telefonica.mistica.ProgressButton` --> In case of the need of a loading state (a button with progress), this one can be used to show an spinner (with an optional loading text) with an animation. `app:isLoading` attribute can be used in order to set it as loading on xml layouts, also with databinding.
+* `com.telefonica.mistica.ProgressButton` --> In case of the need of a loading state (a button with progress), this one can be used to show a spinner (with an optional loading text) with an animation. `app:isLoading` attribute can be used to set it as loading in XML layouts.
Buttons are based on material components, so all material functionalities are applicable on them.
diff --git a/library/src/main/java/com/telefonica/mistica/button2/Button.kt b/library/src/main/java/com/telefonica/mistica/button2/Button.kt
index cc355bb91..94098c941 100644
--- a/library/src/main/java/com/telefonica/mistica/button2/Button.kt
+++ b/library/src/main/java/com/telefonica/mistica/button2/Button.kt
@@ -66,6 +66,10 @@ class Button @JvmOverloads constructor(
onClick = { listener?.onClick(this) }
}
+ fun setButtonOnClick(action: (() -> Unit)?) {
+ onClick = { action?.invoke() }
+ }
+
fun updateLoadingText(text: String) {
loadingText = text
}
diff --git a/library/src/main/java/com/telefonica/mistica/callout/CalloutView.kt b/library/src/main/java/com/telefonica/mistica/callout/CalloutView.kt
index 8c3394fb7..f9b8e122b 100644
--- a/library/src/main/java/com/telefonica/mistica/callout/CalloutView.kt
+++ b/library/src/main/java/com/telefonica/mistica/callout/CalloutView.kt
@@ -17,85 +17,11 @@ import androidx.annotation.DrawableRes
import androidx.annotation.IntDef
import androidx.appcompat.content.res.AppCompatResources
import androidx.core.view.ViewCompat
-import androidx.databinding.BindingMethod
-import androidx.databinding.BindingMethods
import com.google.android.material.imageview.ShapeableImageView
import com.telefonica.mistica.R
import com.telefonica.mistica.button.Button
import com.telefonica.mistica.util.getThemeColor
-@BindingMethods(
- BindingMethod(
- type = CalloutView::class,
- attribute = "calloutTitle",
- method = "setTitle",
- ),
- BindingMethod(
- type = CalloutView::class,
- attribute = "calloutTitleAsHeading",
- method = "setTitleAsHeading",
- ),
- BindingMethod(
- type = CalloutView::class,
- attribute = "calloutDescription",
- method = "setDescription",
- ),
- BindingMethod(
- type = CalloutView::class,
- attribute = "calloutAsset",
- method = "setAsset",
- ),
- BindingMethod(
- type = CalloutView::class,
- attribute = "calloutAssetType",
- method = "setAssetType",
- ),
- BindingMethod(
- type = CalloutView::class,
- attribute = "calloutButtonsConfig",
- method = "setButtonsConfig",
- ),
- BindingMethod(
- type = CalloutView::class,
- attribute = "calloutPrimaryButtonText",
- method = "setPrimaryButtonText",
- ),
- BindingMethod(
- type = CalloutView::class,
- attribute = "calloutPrimaryButtonOnClick",
- method = "setPrimaryButtonOnClick",
- ),
- BindingMethod(
- type = CalloutView::class,
- attribute = "calloutSecondaryButtonText",
- method = "setSecondaryButtonText",
- ),
- BindingMethod(
- type = CalloutView::class,
- attribute = "calloutSecondaryButtonOnClick",
- method = "setSecondaryButtonOnClick",
- ),
- BindingMethod(
- type = CalloutView::class,
- attribute = "calloutLinkButtonText",
- method = "setLinkButtonText",
- ),
- BindingMethod(
- type = CalloutView::class,
- attribute = "calloutLinkButtonOnClick",
- method = "setLinkButtonOnClick",
- ),
- BindingMethod(
- type = CalloutView::class,
- attribute = "calloutDismissable",
- method = "setDismissable",
- ),
- BindingMethod(
- type = CalloutView::class,
- attribute = "calloutOnDismiss",
- method = "setOnDismiss",
- ),
-)
class CalloutView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
diff --git a/library/src/main/java/com/telefonica/mistica/callout/README.md b/library/src/main/java/com/telefonica/mistica/callout/README.md
index 0317e6b7f..1b7b2897b 100644
--- a/library/src/main/java/com/telefonica/mistica/callout/README.md
+++ b/library/src/main/java/com/telefonica/mistica/callout/README.md
@@ -6,8 +6,8 @@
-Implemented as a custom view, `com.telefonica.mistica.callout.CalloutView` can be used inside any layout like a regular view. It supports both **attribute
-configuration and databinding for all properties**.
+Implemented as a custom view, `com.telefonica.mistica.callout.CalloutView` can be used inside any layout like a regular view. It supports **attribute-based
+configuration for all properties**.
```xml
diff --git a/library/src/main/java/com/telefonica/mistica/card/CardView.kt b/library/src/main/java/com/telefonica/mistica/card/CardView.kt
index 9739c2b85..4ebc797b1 100644
--- a/library/src/main/java/com/telefonica/mistica/card/CardView.kt
+++ b/library/src/main/java/com/telefonica/mistica/card/CardView.kt
@@ -11,65 +11,11 @@ import androidx.annotation.StringRes
import androidx.appcompat.content.res.AppCompatResources
import androidx.cardview.widget.CardView
import androidx.core.content.res.ResourcesCompat
-import androidx.databinding.BindingMethod
-import androidx.databinding.BindingMethods
import com.telefonica.mistica.R
import com.telefonica.mistica.tag.TagStyle
import com.telefonica.mistica.tag.TagView
import com.telefonica.mistica.util.getDimension
-@BindingMethods(
- BindingMethod(
- type = CardView::class,
- attribute = "cardTag",
- method = "setTag"
- ),
- BindingMethod(
- type = CardView::class,
- attribute = "cardTagColor",
- method = "setTagColor"
- ),
- BindingMethod(
- type = CardView::class,
- attribute = "cardTitle",
- method = "setTitle"
- ),
- BindingMethod(
- type = CardView::class,
- attribute = "cardTitleMaxLines",
- method = "setTitleMaxLines"
- ),
- BindingMethod(
- type = CardView::class,
- attribute = "cardDescription",
- method = "setDescription"
- ),
- BindingMethod(
- type = CardView::class,
- attribute = "cardDescriptionMaxLines",
- method = "setDescriptionMaxLines"
- ),
- BindingMethod(
- type = CardView::class,
- attribute = "cardPrimaryButtonText",
- method = "setPrimaryButtonText"
- ),
- BindingMethod(
- type = CardView::class,
- attribute = "cardLinkButtonText",
- method = "setLinkButtonText"
- ),
- BindingMethod(
- type = CardView::class,
- attribute = "cardPrimaryButtonOnClick",
- method = "setPrimaryButtonOnClick"
- ),
- BindingMethod(
- type = CardView::class,
- attribute = "cardLinkButtonOnClick",
- method = "setLinkButtonOnClick"
- )
-)
abstract class CardView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
diff --git a/library/src/main/java/com/telefonica/mistica/card/datacard/DataCardView.kt b/library/src/main/java/com/telefonica/mistica/card/datacard/DataCardView.kt
index 473623884..e10ceeae4 100644
--- a/library/src/main/java/com/telefonica/mistica/card/datacard/DataCardView.kt
+++ b/library/src/main/java/com/telefonica/mistica/card/datacard/DataCardView.kt
@@ -12,8 +12,6 @@ import androidx.annotation.DrawableRes
import androidx.annotation.IntDef
import androidx.annotation.StringRes
import androidx.appcompat.content.res.AppCompatResources
-import androidx.databinding.BindingMethod
-import androidx.databinding.BindingMethods
import com.telefonica.mistica.R
import com.telefonica.mistica.card.CardView
import com.telefonica.mistica.card.datacard.DataCardView.IconType.Companion.TYPE_CIRCULAR_ICON
@@ -22,23 +20,6 @@ import com.telefonica.mistica.card.datacard.DataCardView.IconType.Companion.TYPE
import com.telefonica.mistica.card.datacard.DataCardView.IconType.Companion.TYPE_SQUARE_IMAGE
import com.telefonica.mistica.util.convertDpToPx
-@BindingMethods(
- BindingMethod(
- type = DataCardView::class,
- attribute = "cardIcon",
- method = "setIcon"
- ),
- BindingMethod(
- type = DataCardView::class,
- attribute = "cardIconType",
- method = "setIconType"
- ),
- BindingMethod(
- type = DataCardView::class,
- attribute = "cardSubtitle",
- method = "setSubtitle"
- )
-)
class DataCardView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
diff --git a/library/src/main/java/com/telefonica/mistica/card/datacard/README.md b/library/src/main/java/com/telefonica/mistica/card/datacard/README.md
index f4ab64fe4..88313a9d4 100644
--- a/library/src/main/java/com/telefonica/mistica/card/datacard/README.md
+++ b/library/src/main/java/com/telefonica/mistica/card/datacard/README.md
@@ -7,7 +7,7 @@
Data cards require a minimum content of a **title, description and a link button.**
-Implemented as a custom view, `com.telefonica.mistica.card.datacard.DataCardView` can be used inside any layout like a regular view. It supports both **attribute configuration and databinding for all properties**.
+Implemented as a custom view, `com.telefonica.mistica.card.datacard.DataCardView` can be used inside any layout like a regular view. It supports **attribute-based configuration for all properties**.
```xml
diff --git a/library/src/main/java/com/telefonica/mistica/card/mediacard/MediaCardView.kt b/library/src/main/java/com/telefonica/mistica/card/mediacard/MediaCardView.kt
index a84b06b3d..bcff11ac5 100644
--- a/library/src/main/java/com/telefonica/mistica/card/mediacard/MediaCardView.kt
+++ b/library/src/main/java/com/telefonica/mistica/card/mediacard/MediaCardView.kt
@@ -11,30 +11,11 @@ import android.widget.ImageView
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
import androidx.appcompat.content.res.AppCompatResources
-import androidx.databinding.BindingMethod
-import androidx.databinding.BindingMethods
import com.telefonica.mistica.R
import com.telefonica.mistica.card.CardView
import com.telefonica.mistica.util.hide
import com.telefonica.mistica.util.show
-@BindingMethods(
- BindingMethod(
- type = MediaCardView::class,
- attribute = "mediaCardImageDrawable",
- method = "setImageDrawable"
- ),
- BindingMethod(
- type = MediaCardView::class,
- attribute = "cardPretitle",
- method = "setPretitle"
- ),
- BindingMethod(
- type = MediaCardView::class,
- attribute = "cardImageContentDescription",
- method = "setCardImageContentDescription"
- )
-)
class MediaCardView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
diff --git a/library/src/main/java/com/telefonica/mistica/emptystate/card/EmptyStateCardView.kt b/library/src/main/java/com/telefonica/mistica/emptystate/card/EmptyStateCardView.kt
index e8d32689a..e1c4b0130 100644
--- a/library/src/main/java/com/telefonica/mistica/emptystate/card/EmptyStateCardView.kt
+++ b/library/src/main/java/com/telefonica/mistica/emptystate/card/EmptyStateCardView.kt
@@ -14,74 +14,10 @@ import android.widget.TextView
import androidx.annotation.DrawableRes
import androidx.annotation.IntDef
import androidx.appcompat.content.res.AppCompatResources
-import androidx.databinding.BindingMethod
-import androidx.databinding.BindingMethods
import com.telefonica.mistica.R
import com.telefonica.mistica.button.ProgressButton
import com.telefonica.mistica.util.convertDpToPx
-@BindingMethods(
- BindingMethod(
- type = EmptyStateCardView::class,
- attribute = "emptyStateCardImage",
- method = "setImage"
- ),
- BindingMethod(
- type = EmptyStateCardView::class,
- attribute = "emptyStateCardImageContentDescription",
- method = "setImageContentDescription"
- ),
- BindingMethod(
- type = EmptyStateCardView::class,
- attribute = "emptyStateCardTitle",
- method = "setTitle"
- ),
- BindingMethod(
- type = EmptyStateCardView::class,
- attribute = "emptyStateCardSubtitle",
- method = "setSubtitle"
- ),
- BindingMethod(
- type = EmptyStateCardView::class,
- attribute = "emptyStateCardButtonsConfig",
- method = "setButtonsConfig"
- ),
- BindingMethod(
- type = EmptyStateCardView::class,
- attribute = "emptyStateCardPrimaryButtonText",
- method = "setPrimaryButtonText"
- ),
- BindingMethod(
- type = EmptyStateCardView::class,
- attribute = "emptyStateCardPrimaryButtonOnClick",
- method = "setPrimaryButtonOnClick"
- ),
- BindingMethod(
- type = EmptyStateCardView::class,
- attribute = "emptyStateCardSecondaryButtonText",
- method = "setSecondaryButtonText"
- ),
- BindingMethod(
- type = EmptyStateCardView::class,
- attribute = "emptyStateCardSecondaryButtonOnClick",
- method = "setSecondaryButtonOnClick"
- ),
- BindingMethod(
- type = EmptyStateCardView::class,
- attribute = "emptyStateCardLinkButtonText",
- method = "setLinkButtonText"
- ),
- BindingMethod(
- type = EmptyStateCardView::class,
- attribute = "emptyStateCardLinkButtonOnClick",
- method = "setLinkButtonOnClick"
- ),
- BindingMethod(
- type = EmptyStateCardView::class,
- attribute = "emptyStateCardImageSize",
- method = "setImageSize"
- ),
-)
class EmptyStateCardView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
diff --git a/library/src/main/java/com/telefonica/mistica/emptystate/card/README.md b/library/src/main/java/com/telefonica/mistica/emptystate/card/README.md
index a5a524e78..8167d4a9c 100644
--- a/library/src/main/java/com/telefonica/mistica/emptystate/card/README.md
+++ b/library/src/main/java/com/telefonica/mistica/emptystate/card/README.md
@@ -11,8 +11,7 @@ Implemented as a custom view,
`com.telefonica.mistica.emptystate.card.EmptyStateCardView` can be used
inside any layout like a regular view.
-It supports both **attribute
-configuration and databinding for all properties**.
+It supports **attribute-based configuration for all properties**.
```xml
diff --git a/library/src/main/java/com/telefonica/mistica/emptystate/screen/EmptyStateScreenView.kt b/library/src/main/java/com/telefonica/mistica/emptystate/screen/EmptyStateScreenView.kt
index 1e1eb48dc..f3fac6c80 100644
--- a/library/src/main/java/com/telefonica/mistica/emptystate/screen/EmptyStateScreenView.kt
+++ b/library/src/main/java/com/telefonica/mistica/emptystate/screen/EmptyStateScreenView.kt
@@ -16,74 +16,10 @@ import androidx.annotation.DrawableRes
import androidx.annotation.IntDef
import androidx.appcompat.content.res.AppCompatResources
import androidx.constraintlayout.widget.ConstraintLayout
-import androidx.databinding.BindingMethod
-import androidx.databinding.BindingMethods
import com.telefonica.mistica.R
import com.telefonica.mistica.button.ProgressButton
import com.telefonica.mistica.util.convertDpToPx
-@BindingMethods(
- BindingMethod(
- type = EmptyStateScreenView::class,
- attribute = "emptyStateScreenImage",
- method = "setImage"
- ),
- BindingMethod(
- type = EmptyStateScreenView::class,
- attribute = "emptyStateScreenImageContentDescription",
- method = "setImageContentDescription"
- ),
- BindingMethod(
- type = EmptyStateScreenView::class,
- attribute = "emptyStateScreenTitle",
- method = "setTitle"
- ),
- BindingMethod(
- type = EmptyStateScreenView::class,
- attribute = "emptyStateScreenSubtitle",
- method = "setSubtitle"
- ),
- BindingMethod(
- type = EmptyStateScreenView::class,
- attribute = "emptyStateScreenButtonsConfig",
- method = "setButtonsConfig"
- ),
- BindingMethod(
- type = EmptyStateScreenView::class,
- attribute = "emptyStateScreenPrimaryButtonText",
- method = "setPrimaryButtonText"
- ),
- BindingMethod(
- type = EmptyStateScreenView::class,
- attribute = "emptyStateScreenPrimaryButtonOnClick",
- method = "setPrimaryButtonOnClick"
- ),
- BindingMethod(
- type = EmptyStateScreenView::class,
- attribute = "emptyStateScreenSecondaryButtonText",
- method = "setSecondaryButtonText"
- ),
- BindingMethod(
- type = EmptyStateScreenView::class,
- attribute = "emptyStateScreenSecondaryButtonOnClick",
- method = "setSecondaryButtonOnClick"
- ),
- BindingMethod(
- type = EmptyStateScreenView::class,
- attribute = "emptyStateScreenLinkButtonText",
- method = "setLinkButtonText"
- ),
- BindingMethod(
- type = EmptyStateScreenView::class,
- attribute = "emptyStateScreenLinkButtonOnClick",
- method = "setLinkButtonOnClick"
- ),
- BindingMethod(
- type = EmptyStateScreenView::class,
- attribute = "emptyStateScreenImageSize",
- method = "setImageSize"
- ),
-)
class EmptyStateScreenView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
diff --git a/library/src/main/java/com/telefonica/mistica/emptystate/screen/README.md b/library/src/main/java/com/telefonica/mistica/emptystate/screen/README.md
index 570110221..6723887c7 100644
--- a/library/src/main/java/com/telefonica/mistica/emptystate/screen/README.md
+++ b/library/src/main/java/com/telefonica/mistica/emptystate/screen/README.md
@@ -12,8 +12,7 @@ Implemented as a custom view,
`com.telefonica.mistica.emptystate.screen.EmptyStateScreenView` can be
used inside any layout like a regular view.
-It supports both **attribute
-configuration and databinding for all properties**.
+It supports **attribute-based configuration for all properties**.
```xml