Skip to content

Commit 2ac7ef2

Browse files
committed
Extract hasImgurImage helper method
1 parent ce06815 commit 2ac7ef2

File tree

1 file changed

+19
-20
lines changed

1 file changed

+19
-20
lines changed

samplejava/src/main/java/com/example/chattutorialjava/ImgurAttachmentViewHolderFactory.java

Lines changed: 19 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -19,41 +19,40 @@ class ImgurAttachmentViewHolderFactory extends MessageListItemViewHolderFactory
1919

2020
@Override
2121
public int getItemViewType(@NotNull MessageListItem item) {
22+
if (hasImgurImage(item)) {
23+
return IMGUR;
24+
}
25+
return super.getItemViewType(item);
26+
}
27+
28+
@NotNull
29+
@Override
30+
public BaseMessageItemViewHolder<? extends MessageListItem> createViewHolder(@NotNull ViewGroup parentView, int viewType) {
31+
boolean isImgur = viewType == IMGUR;
32+
return isImgur ? ImgurAttachmentViewHolder.create(parentView) : super.createViewHolder(parentView, viewType);
33+
}
2234

23-
boolean isMessageItem = item instanceof MessageListItem.MessageItem;
24-
if (!isMessageItem) {
25-
return super.getItemViewType(item);
35+
private boolean hasImgurImage(MessageListItem item) {
36+
if (!(item instanceof MessageListItem.MessageItem)) {
37+
return false;
2638
}
2739

2840
Message message = ((MessageListItem.MessageItem) item).getMessage();
2941
List<Attachment> attachments = message.getAttachments();
30-
3142
if (attachments == null || attachments.isEmpty()) {
32-
return super.getItemViewType(item);
43+
return false;
3344
}
3445

3546
Attachment attachment = attachments.get(0);
3647
if (attachment == null) {
37-
return super.getItemViewType(item);
48+
return false;
3849
}
3950

4051
String imageUrl = attachment.getImageUrl();
4152
if (imageUrl == null) {
42-
return super.getItemViewType(item);
53+
return false;
4354
}
4455

45-
boolean isImgur = imageUrl.contains("imgur");
46-
if (isImgur) {
47-
return IMGUR;
48-
}
49-
50-
return super.getItemViewType(item);
51-
}
52-
53-
@NotNull
54-
@Override
55-
public BaseMessageItemViewHolder<? extends MessageListItem> createViewHolder(@NotNull ViewGroup parentView, int viewType) {
56-
boolean isImgur = viewType == IMGUR;
57-
return isImgur ? ImgurAttachmentViewHolder.create(parentView) : super.createViewHolder(parentView, viewType);
56+
return imageUrl.contains("imgur");
5857
}
5958
}

0 commit comments

Comments
 (0)