diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostItem.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostItem.java index a4e4cf449..c960c6c35 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostItem.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostItem.java @@ -1,10 +1,10 @@ package org.briarproject.briar.android.blog; import org.briarproject.bramble.api.identity.Author; -import org.briarproject.briar.api.identity.AuthorInfo; import org.briarproject.bramble.api.sync.GroupId; import org.briarproject.bramble.api.sync.MessageId; import org.briarproject.briar.api.blog.BlogPostHeader; +import org.briarproject.briar.api.identity.AuthorInfo; import javax.annotation.Nullable; import javax.annotation.concurrent.NotThreadSafe; @@ -50,7 +50,7 @@ public class BlogPostItem implements Comparable { return text; } - public boolean isRssFeed() { + boolean isRssFeed() { return header.isRssFeed(); } diff --git a/briar-android/src/main/java/org/briarproject/briar/android/view/AuthorView.java b/briar-android/src/main/java/org/briarproject/briar/android/view/AuthorView.java index 389215b3a..140a4a568 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/view/AuthorView.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/view/AuthorView.java @@ -3,6 +3,7 @@ package org.briarproject.briar.android.view; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Typeface; +import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.view.LayoutInflater; import android.widget.ImageView; @@ -29,6 +30,7 @@ import im.delight.android.identicons.IdenticonDrawable; import static android.content.Context.LAYOUT_INFLATER_SERVICE; import static android.graphics.Typeface.BOLD; import static android.util.TypedValue.COMPLEX_UNIT_PX; +import static androidx.appcompat.content.res.AppCompatResources.getDrawable; import static org.briarproject.briar.android.util.UiUtils.getContactDisplayName; import static org.briarproject.briar.android.util.UiUtils.resolveAttribute; import static org.briarproject.briar.api.identity.AuthorInfo.Status.NONE; @@ -177,14 +179,14 @@ public class AuthorView extends ConstraintLayout { case RSS_FEED: avatarIcon.setVisibility(INVISIBLE); date.setVisibility(VISIBLE); - avatar.setImageResource(R.drawable.ic_rss_feed); + setRssVectorAvatar(); setAvatarSize(R.dimen.blogs_avatar_normal_size); setTextSize(authorName, R.dimen.text_size_small); break; case RSS_FEED_REBLOGGED: avatarIcon.setVisibility(INVISIBLE); date.setVisibility(VISIBLE); - avatar.setImageResource(R.drawable.ic_rss_feed); + setRssVectorAvatar(); setAvatarSize(R.dimen.blogs_avatar_comment_size); setTextSize(authorName, R.dimen.text_size_tiny); break; @@ -204,4 +206,16 @@ public class AuthorView extends ConstraintLayout { v.setTextSize(COMPLEX_UNIT_PX, textSize); } + /** + * Applies special hack to use AppCompat vector drawable support + * when setting the RSS vector drawable to the avatar view. + * {@link ImageView#setImageResource(int)} is not working as + * {@link CircleImageView} is not using + * {@link androidx.appcompat.widget.AppCompatImageView}. + */ + private void setRssVectorAvatar() { + Drawable d = getDrawable(getContext(), R.drawable.ic_rss_feed); + avatar.setImageDrawable(d); + } + }