Components
Avatar
A graphical representation of an object or entity
Component Status Details
Status component contains a list of checks and completeness that has been tested and owned by each component
An avatar is a graphical representation of an object or entity, such as a person or organization.

Variants
Legion has 6 variants of Avatar :
- Avatar with Badge Dot
- Avatar with Badge Icon
- Avatar with Badge Number
- Avatar Image Url
- Avatar Initial Text
- Avatar Image Icon
and also have three size :
- Avatar Large
- Avatar Medium
- Avatar Small
Usage
To implement Avatar, you can follow the steps below.
Avatar with Badge Dot
Define widget in your xml/programatically
<com.telkom.legion.component.avatar.LgnAvatarMediumandroid:id="@+id/lamAvatarBadgeDot"... />
Define widget in your fragment/activity. This is sample avatar initial text with badge dot
...binding.lamAvatarBadgeDot.apply {avatar = LgnAvatarInitialMedium(context).apply {text = "Rizki Ilhami"textColor = context.requiredColor(UiKitAttrs.colorPrimary500)}badge = LgnAvatarBadgeMedium(context).apply {color = ContextCompat.getColor(context, android.R.color.holo_green_dark)}
Avatar with Badge Icon
Define widget in your xml/programatically
<com.telkom.legion.component.avatar.LgnAvatarMediumandroid:id="@+id/lamAvatarBadgeIcon"... />
Define widget in your fragment/activity. This is sample avatar initial text with badge icon
...binding.lamAvatarBadgeIcon.apply {avatar = LgnAvatarInitialMedium(context).apply {text = "Rizki Ilhami"textColor = context.requiredColor(UiKitAttrs.colorPrimary500)}badge = LgnAvatarBadgeIconMedium(context).apply {icon = ContextCompat.getDrawable(context, R.drawable.ic_camera_16)color = ContextCompat.getColor(context, android.R.color.holo_green_dark)
Avatar with Badge Number
Define widget in your xml/programatically
<com.telkom.legion.component.avatar.LgnAvatarMediumandroid:id="@+id/lamAvatarBadgeNumber"... />
Define widget in your fragment/activity. This is sample avatar initial text with badge number
...binding.lamAvatarBadgeNumber.apply {avatar = LgnAvatarInitialMedium(context).apply {text = "Rizki Ilhami"textColor = context.requiredColor(UiKitAttrs.colorPrimary500)}badge = LgnAvatarBadgeNumberMedium(context).apply {number = 10color = ContextCompat.getColor(context, android.R.color.holo_green_dark)
Avatar Image Url
Define widget in your xml/programatically
<com.telkom.legion.component.avatar.LgnAvatarMediumandroid:id="@+id/lamAvatarImageUrl"... />
Define widget in your fragment/activity. This is sample avatar initial text with badge url
...binding.lamAvatarImageUrl.apply {avatar = LgnAvatarImageMedium(context).apply {loadImage(imageUrl = "https://i.pravatar.cc/40",placeholder = ContextCompat.getDrawable(context, R.drawable.ic_placeholder_avatar))}badge = LgnAvatarBadgeMedium(context).apply {
Avatar Initial Text
Define widget in your xml/programatically
<com.telkom.legion.component.avatar.LgnAvatarMediumandroid:id="@+id/lamAvatarInitialText"... />
Define widget in your fragment/activity.
...binding.lamAvatarInitialText.apply {avatar = LgnAvatarInitialMedium(context).apply {text = "Rizki Ilhami"}badge = LgnAvatarBadgeMedium(context).apply {color = ContextCompat.getColor(context, android.R.color.holo_green_dark)}}
Avatar Image Icon
Define widget in your xml/programatically
<com.telkom.legion.component.avatar.LgnAvatarMediumandroid:id="@+id/lamAvatarIcon"... />
Define widget in your fragment/activity.
...binding.lamAvatarInitialText.apply {avatar = LgnAvatarIconMedium(context).apply {icon = ContextCompat.getDrawable(context, R.drawable.ic_camera_16)}badge = LgnAvatarBadgeMedium(context).apply {color = ContextCompat.getColor(context, android.R.color.holo_green_dark)}}
Avatar Icon
Define widget in your xml/programatically
<com.telkom.legion.component.avatar.LgnAvatarMediumandroid:id="@+id/lamAvatarIcon"... />
Define widget in your fragment/activity.
...binding.lamAvatarInitialText.apply {avatar = LgnAvatarIconMedium(context).apply {icon = ContextCompat.getDrawable(context, R.drawable.ic_camera_16)}badge = LgnAvatarBadgeMedium(context).apply {color = ContextCompat.getColor(context, android.R.color.holo_green_dark)}}
Avatar Large
Define widget in your xml/programatically
<com.telkom.legion.component.avatar.LgnAvatarLargeandroid:id="@+id/lamAvatarLarge"... />
Define widget in your fragment/activity.
...binding.lamAvatarLarge.apply {avatar = LgnAvatarInitialLarge(context).apply {text = "Rizki Ilhami"textColor = context.requiredColor(UiKitAttrs.white)}badge = LgnAvatarBadgeLarge(context).apply {color = ContextCompat.getColor(context, android.R.color.holo_green_dark)}
Avatar Medium
Define widget in your xml/programatically
<com.telkom.legion.component.avatar.LgnAvatarMediumandroid:id="@+id/lamAvatarMedium"... />
Define widget in your fragment/activity.
...binding.lamAvatarMedium.apply {avatar = LgnAvatarInitialMedium(context).apply {text = "Rizki Ilhami"textColor = context.requiredColor(UiKitAttrs.white)}badge = LgnAvatarBadgeMedium(context).apply {color = ContextCompat.getColor(context, android.R.color.holo_green_dark)}
Avatar Small
Define widget in your xml/programatically
<com.telkom.legion.component.avatar.LgnAvatarSmallandroid:id="@+id/lamAvatarSmall"... />
Define widget in your fragment/activity.
...binding.lamAvatarSmall.apply {avatar = LgnAvatarInitialSmall(context).apply {text = "Rizki Ilhami"textColor = context.requiredColor(UiKitAttrs.white)}badge = LgnAvatarBadgeSmall(context).apply {color = ContextCompat.getColor(context, android.R.color.holo_green_dark)}