Skip to content

Commit

Permalink
refactor: Rename loadAvatar and add loadRawMergedContactAvatar
Browse files Browse the repository at this point in the history
  • Loading branch information
TommyDL-Infomaniak committed Feb 26, 2025
1 parent 0a29ad0 commit b582b2a
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 24 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
* Infomaniak Mail - Android
* Copyright (C) 2023-2024 Infomaniak Network SA
* Copyright (C) 2023-2025 Infomaniak Network SA
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Expand Down Expand Up @@ -78,7 +78,7 @@ class AvatarNameEmailView @JvmOverloads constructor(
}

fun setMergedContact(mergedContact: MergedContact) = with(binding) {
userAvatar.loadAvatar(mergedContact)
userAvatar.loadRawMergedContactAvatar(mergedContact)
setNameAndEmail(mergedContact)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -516,7 +516,7 @@ class ThreadListFragment : TwoPaneFragment() {
}

private fun setupUserAvatar() {
AccountUtils.currentUser?.let(binding.userAvatar::loadAvatar)
AccountUtils.currentUser?.let(binding.userAvatar::loadUserAvatar)
}

private fun setupUnreadCountChip() = with(binding) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@ class ThreadAdapter(
}

if (message.isDraft) {
userAvatar.loadAvatar(AccountUtils.currentUser!!)
userAvatar.loadUserAvatar(AccountUtils.currentUser!!)
expeditorName.apply {
text = context.getString(R.string.messageIsDraftOption)
setTextAppearance(R.style.BodyMedium_Error)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
* Infomaniak Mail - Android
* Copyright (C) 2022-2024 Infomaniak Network SA
* Copyright (C) 2022-2025 Infomaniak Network SA
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Expand Down Expand Up @@ -52,7 +52,7 @@ class SwitchUserAdapter(
override fun onBindViewHolder(holder: SwitchUserAccountViewHolder, position: Int) = with(holder.binding) {
val account = accounts[position]

userAvatar.loadAvatar(account)
userAvatar.loadUserAvatar(account)
userName.text = account.displayName
userMailAddress.text = account.email
updateSelectedUi(position)
Expand Down
39 changes: 21 additions & 18 deletions app/src/main/java/com/infomaniak/mail/views/AvatarView.kt
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,7 @@ class AvatarView @JvmOverloads constructor(
binding.root.isFocusable = focusable
}

fun loadAvatar(user: User) = with(binding.avatarImage) {
fun loadUserAvatar(user: User) = with(binding.avatarImage) {
contentDescription = user.email
loadAvatar(
backgroundColor = context.getBackgroundColorBasedOnId(user.id, R.array.AvatarColors),
Expand All @@ -164,8 +164,17 @@ class AvatarView @JvmOverloads constructor(
loadAvatarByDisplayType(avatarDisplayType, correspondent, bimi, contactsFromViewModel)
}

fun loadAvatar(mergedContact: MergedContact) {
binding.avatarImage.baseLoadAvatar(mergedContact)
private fun updateStateAndLoadUserAvatar(user: User, correspondent: Correspondent, bimi: Bimi) {
state.update(correspondent, bimi)
loadUserAvatar(user)
}

fun loadRawMergedContactAvatar(mergedContact: MergedContact) {
if (mergedContact.shouldDisplayUserAvatar()) {
this@AvatarView.loadUserAvatar(AccountUtils.currentUser!!)
} else {
binding.avatarImage.baseLoadAvatar(mergedContact)
}
}

fun loadUnknownUserAvatar() {
Expand Down Expand Up @@ -196,10 +205,8 @@ class AvatarView @JvmOverloads constructor(
) {
when (avatarDisplayType) {
AvatarDisplayType.UNKNOWN_CORRESPONDENT -> loadUnknownUserAvatar()
AvatarDisplayType.USER_AVATAR -> {
state.update(correspondent, bimi)
AccountUtils.currentUser?.let { loadAvatar(user = it) }
}
AvatarDisplayType.USER_AVATAR ->
AccountUtils.currentUser?.let { updateStateAndLoadUserAvatar(user = it, correspondent!!, bimi!!) }
AvatarDisplayType.CUSTOM_AVATAR,
AvatarDisplayType.INITIALS -> loadAvatarUsingDictionary(correspondent!!, contacts, bimi)
AvatarDisplayType.BIMI -> loadBimiAvatar(correspondent!!, bimi!!)
Expand Down Expand Up @@ -234,17 +241,13 @@ class AvatarView @JvmOverloads constructor(
}

private fun ImageView.baseLoadAvatar(correspondent: Correspondent) {
if (correspondent.shouldDisplayUserAvatar()) {
this@AvatarView.loadAvatar(AccountUtils.currentUser!!)
} else {
loadAvatar(
backgroundColor = context.getBackgroundColorBasedOnId(correspondent.email.hashCode(), R.array.AvatarColors),
avatarUrl = (correspondent as? MergedContact)?.avatar,
initials = correspondent.initials,
imageLoader = context.imageLoader,
initialsColor = context.getColor(R.color.onColorfulBackground),
)
}
loadAvatar(
backgroundColor = context.getBackgroundColorBasedOnId(correspondent.email.hashCode(), R.array.AvatarColors),
avatarUrl = (correspondent as? MergedContact)?.avatar,
initials = correspondent.initials,
imageLoader = context.imageLoader,
initialsColor = context.getColor(R.color.onColorfulBackground),
)
}

private data class State(
Expand Down

0 comments on commit b582b2a

Please sign in to comment.