diff --git a/Backpack/src/main/java/net/skyscanner/backpack/badge/BpkBadge.kt b/Backpack/src/main/java/net/skyscanner/backpack/badge/BpkBadge.kt index f2b0306125..b1427d1423 100644 --- a/Backpack/src/main/java/net/skyscanner/backpack/badge/BpkBadge.kt +++ b/Backpack/src/main/java/net/skyscanner/backpack/badge/BpkBadge.kt @@ -121,7 +121,7 @@ open class BpkBadge @JvmOverloads constructor( * @property type * Type of badge. Default Type.Success */ - var type: Type = Type.Success + var type: Type = Type.Normal set(value) { field = value if (initialized) setup() @@ -144,10 +144,6 @@ open class BpkBadge @JvmOverloads constructor( var icon: Drawable? = null set(value) { field = value - ?.mutate() - ?.apply { - setBounds(0, 0, iconSize, iconSize) - } updateIcon() } @@ -160,18 +156,13 @@ open class BpkBadge @JvmOverloads constructor( 0, ) - type = Type.fromId(a.getInt(R.styleable.BpkBadge_badgeType, 1)) + type = Type.fromId(a.getInt(R.styleable.BpkBadge_badgeType, 8)) message = a.getString(R.styleable.BpkBadge_message) a.getResourceId(R.styleable.BpkBadge_badgeIcon, 0).let { iconID -> icon = if (iconID != 0) { AppCompatResources.getDrawable(context, iconID) } else { - when (type) { - Type.Success -> AppCompatResources.getDrawable(context, R.drawable.bpk_tick_circle) - Type.Warning -> AppCompatResources.getDrawable(context, R.drawable.bpk_information_circle) - Type.Destructive -> AppCompatResources.getDrawable(context, R.drawable.bpk_exclamation) - else -> null - } + null } } @@ -208,9 +199,23 @@ open class BpkBadge @JvmOverloads constructor( } private fun updateIcon() { - setCompoundDrawablesRelative(icon, null, null, null) - setPadding(iconPadding, 0, iconPadding, 0) - icon?.setTint(context.getColor(type.iconColor)) + val currentIcon = if (icon == null) { + when (type) { + Type.Success -> AppCompatResources.getDrawable(context, R.drawable.bpk_tick_circle) + Type.Warning -> AppCompatResources.getDrawable(context, R.drawable.bpk_information_circle) + Type.Destructive -> AppCompatResources.getDrawable(context, R.drawable.bpk_exclamation) + else -> null + } + } else { + icon + } + currentIcon + ?.mutate() + ?.apply { + setBounds(0, 0, iconSize, iconSize) + setTint(context.getColor(type.iconColor)) + setCompoundDrawablesRelative(this, null, null, null) + } } internal fun setBackground( diff --git a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_default.png b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_default.png index 7058b6a6f3..74986ec382 100644 Binary files a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_default.png and b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_default.png differ diff --git a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_destructive.png b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_destructive.png index 61be587792..22a764c85f 100644 Binary files a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_destructive.png and b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_destructive.png differ diff --git a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_destructiveWithIcon.png b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_destructiveWithIcon.png index db4b0f4bfb..fd983df4f0 100644 Binary files a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_destructiveWithIcon.png and b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_destructiveWithIcon.png differ diff --git a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_inverse.png b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_inverse.png index c34eb2ec64..c5a0a625f3 100644 Binary files a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_inverse.png and b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_inverse.png differ diff --git a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_inverseWithIcon.png b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_inverseWithIcon.png index e7c0f752a5..aa333e9bf0 100644 Binary files a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_inverseWithIcon.png and b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_inverseWithIcon.png differ diff --git a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_normal.png b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_normal.png index bede29869c..74986ec382 100644 Binary files a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_normal.png and b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_normal.png differ diff --git a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_normalWithIcon.png b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_normalWithIcon.png index 8e3f21d524..1d0df4fd36 100644 Binary files a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_normalWithIcon.png and b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_normalWithIcon.png differ diff --git a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_outline.png b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_outline.png index 155503f95e..65c6f1418d 100644 Binary files a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_outline.png and b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_outline.png differ diff --git a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_outlineWithIcon.png b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_outlineWithIcon.png index 339bd48ea5..d81dfaa903 100644 Binary files a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_outlineWithIcon.png and b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_outlineWithIcon.png differ diff --git a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_strong.png b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_strong.png index 8195615765..09854a1513 100644 Binary files a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_strong.png and b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_strong.png differ diff --git a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_strongWithIcon.png b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_strongWithIcon.png index cb22e43a61..0631b79988 100644 Binary files a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_strongWithIcon.png and b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_strongWithIcon.png differ diff --git a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_successWithIcon.png b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_successWithIcon.png index 895ed2d07a..c5d0071872 100644 Binary files a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_successWithIcon.png and b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_successWithIcon.png differ diff --git a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_warning.png b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_warning.png index 1051daed07..d2905c5218 100644 Binary files a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_warning.png and b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_warning.png differ diff --git a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_warningWithIcon.png b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_warningWithIcon.png index 63a3eee32a..a67cce3612 100644 Binary files a/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_warningWithIcon.png and b/app/screenshots/oss/debug/default/net.skyscanner.backpack.badge.BpkBadgeTest_warningWithIcon.png differ diff --git a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_default.png b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_default.png index 2d4ee2452b..3bad684d77 100644 Binary files a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_default.png and b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_default.png differ diff --git a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_destructive.png b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_destructive.png index ce8b51b482..4d5b80cb87 100644 Binary files a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_destructive.png and b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_destructive.png differ diff --git a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_destructiveWithIcon.png b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_destructiveWithIcon.png index a62b9ef566..aa122aae2d 100644 Binary files a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_destructiveWithIcon.png and b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_destructiveWithIcon.png differ diff --git a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_inverse.png b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_inverse.png index b6af0982fd..e1ad7201a4 100644 Binary files a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_inverse.png and b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_inverse.png differ diff --git a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_inverseWithIcon.png b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_inverseWithIcon.png index 7986777dce..15ade74aad 100644 Binary files a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_inverseWithIcon.png and b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_inverseWithIcon.png differ diff --git a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_normal.png b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_normal.png index 351259c163..3bad684d77 100644 Binary files a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_normal.png and b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_normal.png differ diff --git a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_normalWithIcon.png b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_normalWithIcon.png index 6ad4f11688..d59372d91c 100644 Binary files a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_normalWithIcon.png and b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_normalWithIcon.png differ diff --git a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_outline.png b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_outline.png index ce6efb3504..1d4a45a1db 100644 Binary files a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_outline.png and b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_outline.png differ diff --git a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_outlineWithIcon.png b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_outlineWithIcon.png index 38e654112f..80f9e6243f 100644 Binary files a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_outlineWithIcon.png and b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_outlineWithIcon.png differ diff --git a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_strong.png b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_strong.png index 222a4ece1b..970c375b5d 100644 Binary files a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_strong.png and b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_strong.png differ diff --git a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_strongWithIcon.png b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_strongWithIcon.png index 9c10e72b58..a660e26ca0 100644 Binary files a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_strongWithIcon.png and b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_strongWithIcon.png differ diff --git a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_successWithIcon.png b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_successWithIcon.png index 04f160b0e7..2813f4f3ed 100644 Binary files a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_successWithIcon.png and b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_successWithIcon.png differ diff --git a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_warning.png b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_warning.png index d0761362a4..5ce311ca8e 100644 Binary files a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_warning.png and b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_warning.png differ diff --git a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_warningWithIcon.png b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_warningWithIcon.png index beb2e51422..c47297da57 100644 Binary files a/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_warningWithIcon.png and b/app/screenshots/oss/debug/dm/net.skyscanner.backpack.badge.BpkBadgeTest_warningWithIcon.png differ diff --git a/app/screenshots/oss/debug/rtl/net.skyscanner.backpack.badge.BpkBadgeTest_default.png b/app/screenshots/oss/debug/rtl/net.skyscanner.backpack.badge.BpkBadgeTest_default.png index faf2c84bf8..74986ec382 100644 Binary files a/app/screenshots/oss/debug/rtl/net.skyscanner.backpack.badge.BpkBadgeTest_default.png and b/app/screenshots/oss/debug/rtl/net.skyscanner.backpack.badge.BpkBadgeTest_default.png differ diff --git a/app/screenshots/oss/debug/themed/net.skyscanner.backpack.badge.BpkBadgeTest_default.png b/app/screenshots/oss/debug/themed/net.skyscanner.backpack.badge.BpkBadgeTest_default.png index 62b9ae43c9..67277ba6ec 100644 Binary files a/app/screenshots/oss/debug/themed/net.skyscanner.backpack.badge.BpkBadgeTest_default.png and b/app/screenshots/oss/debug/themed/net.skyscanner.backpack.badge.BpkBadgeTest_default.png differ