Skip to content

Commit c704bda

Browse files
Store updated avatar in the bitmap cache
1 parent a2a35ed commit c704bda

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

WordPress/src/main/java/org/wordpress/android/ui/main/MeFragment.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -495,9 +495,10 @@ class MeFragment : Fragment(R.layout.me_fragment), OnScrollToTopListener {
495495

496496
private fun MeFragmentBinding.loadAvatar(injectFilePath: String?, forceRefresh: Boolean = false) {
497497
val newAvatarUploaded = !injectFilePath.isNullOrEmpty()
498-
val avatarUrl = meGravatarLoader.constructGravatarUrl(accountStore.account.avatarUrl, forceRefresh)
498+
val avatarUrl = meGravatarLoader.constructGravatarUrl(accountStore.account.avatarUrl)
499+
val newAvatarSelected = newAvatarUploaded || forceRefresh
499500
meGravatarLoader.load(
500-
newAvatarUploaded,
501+
newAvatarSelected,
501502
avatarUrl,
502503
injectFilePath,
503504
meAvatar,
@@ -531,7 +532,7 @@ class MeFragment : Fragment(R.layout.me_fragment), OnScrollToTopListener {
531532
resource: Drawable,
532533
model: Any?
533534
) {
534-
if (newAvatarUploaded && resource is BitmapDrawable) {
535+
if (newAvatarSelected && resource is BitmapDrawable) {
535536
var bitmap = resource.bitmap
536537
// create a copy since the original bitmap may by automatically recycled
537538
bitmap = bitmap.copy(bitmap.config, true)

WordPress/src/main/java/org/wordpress/android/ui/main/utils/MeGravatarLoader.kt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,14 @@ class MeGravatarLoader @Inject constructor(
2020
private val resourseProvider: ResourceProvider
2121
) {
2222
fun load(
23-
newAvatarUploaded: Boolean,
23+
newAvatarSelected: Boolean,
2424
avatarUrl: String,
2525
injectFilePath: String?,
2626
imageView: ImageView,
2727
imageType: ImageType,
2828
listener: RequestListener<Drawable>? = null
2929
) {
30-
if (newAvatarUploaded) {
30+
if (newAvatarSelected) {
3131
// invalidate the specific gravatar entry from the bitmap cache. It will be updated via the injected
3232
// request cache.
3333
WordPress.getBitmapCache().removeSimilar(avatarUrl)
@@ -45,10 +45,12 @@ class MeGravatarLoader @Inject constructor(
4545
imageManager.loadIntoCircle(
4646
imageView,
4747
imageType,
48-
if (newAvatarUploaded && injectFilePath != null) {
48+
if (newAvatarSelected && injectFilePath != null) {
4949
injectFilePath
5050
} else {
51-
avatarUrl
51+
// If new avatar selected we force refresh the avatar
52+
val constructGravatarUrl = constructGravatarUrl(avatarUrl, newAvatarSelected)
53+
constructGravatarUrl
5254
},
5355
listener,
5456
appPrefsWrapper.avatarVersion

0 commit comments

Comments
 (0)