From 19ee4c6522fe03d609a13e27524cf8b4cbbb69eb Mon Sep 17 00:00:00 2001 From: adrian09h Date: Fri, 16 Aug 2019 17:06:55 +0200 Subject: [PATCH 01/14] Intent null for take pickture. --- .../java/com/getstream/sdk/chat/view/MessageInputView.java | 1 + sample/src/main/res/layout/activity_channel.xml | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/library/src/main/java/com/getstream/sdk/chat/view/MessageInputView.java b/library/src/main/java/com/getstream/sdk/chat/view/MessageInputView.java index 11c0818255c..465f825d73f 100644 --- a/library/src/main/java/com/getstream/sdk/chat/view/MessageInputView.java +++ b/library/src/main/java/com/getstream/sdk/chat/view/MessageInputView.java @@ -212,6 +212,7 @@ private void initAttachmentUI() { // endregion public void progressCapturedMedia(int requestCode, int resultCode, Intent data) { if (requestCode == Constant.CAPTURE_IMAGE_REQUEST_CODE) { + if (data == null) return; try { Object object = data.getExtras().get("data"); if (object.getClass().equals(Bitmap.class)) { diff --git a/sample/src/main/res/layout/activity_channel.xml b/sample/src/main/res/layout/activity_channel.xml index d1222bae46e..c4aa1cc7473 100644 --- a/sample/src/main/res/layout/activity_channel.xml +++ b/sample/src/main/res/layout/activity_channel.xml @@ -36,7 +36,8 @@ app:layout_constraintEnd_toStartOf="@+id/message_input" app:layout_constraintStart_toEndOf="@+id/channelHeader" app:layout_constraintTop_toBottomOf="@+id/channelHeader" - /> + stream:userAvatarTextColor="@android:color/holo_blue_dark" + stream:userAvatarTextStyle="bold|italic" /> + app:layout_constraintStart_toEndOf="@+id/messageList" /> \ No newline at end of file From 0023974f9cdeae36ad6ca314c96ce502d0caaed7 Mon Sep 17 00:00:00 2001 From: adrian09h Date: Fri, 16 Aug 2019 18:49:02 +0200 Subject: [PATCH 02/14] readStateView #1 --- .../sdk/chat/function/SendFileFunction.java | 1 + .../sdk/chat/view/AvatarGroupView.java | 2 +- .../sdk/chat/view/MessageInputView.java | 1 - .../sdk/chat/view/ReadStateStyle.java | 51 +++++++++++++++++++ .../sdk/chat/view/ReadStateView.java | 41 ++++++++------- .../src/main/res/layout/list_item_message.xml | 7 +-- library/src/main/res/values/dimens.xml | 5 +- 7 files changed, 84 insertions(+), 24 deletions(-) create mode 100644 library/src/main/java/com/getstream/sdk/chat/view/ReadStateStyle.java diff --git a/library/src/main/java/com/getstream/sdk/chat/function/SendFileFunction.java b/library/src/main/java/com/getstream/sdk/chat/function/SendFileFunction.java index 48ff480857c..67641c70bd9 100644 --- a/library/src/main/java/com/getstream/sdk/chat/function/SendFileFunction.java +++ b/library/src/main/java/com/getstream/sdk/chat/function/SendFileFunction.java @@ -1,5 +1,6 @@ package com.getstream.sdk.chat.function; +import android.app.Activity; import android.content.Context; import android.database.Cursor; import android.net.Uri; diff --git a/library/src/main/java/com/getstream/sdk/chat/view/AvatarGroupView.java b/library/src/main/java/com/getstream/sdk/chat/view/AvatarGroupView.java index f53f3d6b534..773aea6fc68 100644 --- a/library/src/main/java/com/getstream/sdk/chat/view/AvatarGroupView.java +++ b/library/src/main/java/com/getstream/sdk/chat/view/AvatarGroupView.java @@ -67,7 +67,7 @@ private void configUIs() { params.height = (int) style.getAvatarHeight(); this.setLayoutParams(params); - this.removeAllViews(); + removeAllViews(); if (user != null) { configAvatar(user.getImage(), user.getInitials()); } else if (!TextUtils.isEmpty(channel.getImage())) { diff --git a/library/src/main/java/com/getstream/sdk/chat/view/MessageInputView.java b/library/src/main/java/com/getstream/sdk/chat/view/MessageInputView.java index 465f825d73f..333052c43da 100644 --- a/library/src/main/java/com/getstream/sdk/chat/view/MessageInputView.java +++ b/library/src/main/java/com/getstream/sdk/chat/view/MessageInputView.java @@ -26,7 +26,6 @@ import com.getstream.sdk.chat.databinding.ViewMessageInputBinding; import com.getstream.sdk.chat.enums.InputType; import com.getstream.sdk.chat.function.SendFileFunction; -import com.getstream.sdk.chat.model.Attachment; import com.getstream.sdk.chat.rest.Message; import com.getstream.sdk.chat.rest.interfaces.MessageCallback; import com.getstream.sdk.chat.rest.response.MessageResponse; diff --git a/library/src/main/java/com/getstream/sdk/chat/view/ReadStateStyle.java b/library/src/main/java/com/getstream/sdk/chat/view/ReadStateStyle.java new file mode 100644 index 00000000000..d88b85f594c --- /dev/null +++ b/library/src/main/java/com/getstream/sdk/chat/view/ReadStateStyle.java @@ -0,0 +1,51 @@ + +package com.getstream.sdk.chat.view; + +import android.content.Context; +import android.content.res.ColorStateList; +import android.content.res.TypedArray; +import android.graphics.Typeface; +import android.graphics.drawable.Drawable; +import android.text.TextUtils; +import android.util.AttributeSet; + +import androidx.annotation.ColorInt; +import androidx.annotation.DrawableRes; +import androidx.core.graphics.drawable.DrawableCompat; + +import com.getstream.sdk.chat.R; +import com.getstream.sdk.chat.utils.BaseStyle; + +/** + * Style for MessageInputStyle customization by xml attributes + */ +class ReadStateStyle extends BaseStyle { + + private boolean showReadState; + + private float readStateAvatarWidth; + private float readStateAvatarHeight; + + private int readStateTextSize; + private int readStateTextColor; + private int readStateTextStyle; + + public ReadStateStyle(Context context, AttributeSet attrs) { + setContext(context); + TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.MessageInputView); + // Attachment Button + showReadState = a.getBoolean(R.styleable.MessageInputView_showAttachmentButton, true); + + readStateAvatarWidth = a.getDimension(R.styleable.ChannelListView_channelAvatarWidth, getDimension(R.dimen.read_state_avatar_width)); + readStateAvatarHeight = a.getDimension(R.styleable.ChannelListView_channelAvatarHeight, getDimension(R.dimen.read_state_avatar_height)); + + readStateTextSize = a.getDimensionPixelSize(R.styleable.MessageInputView_inputTextSize, getDimension(R.dimen.input_text_size)); + readStateTextColor = a.getColor(R.styleable.MessageInputView_inputTextColor, getColor(R.color.black)); + readStateTextStyle = a.getInt(R.styleable.MessageInputView_inputTextStyle, Typeface.NORMAL); + + a.recycle(); + } + + + +} diff --git a/library/src/main/java/com/getstream/sdk/chat/view/ReadStateView.java b/library/src/main/java/com/getstream/sdk/chat/view/ReadStateView.java index 545e042fa0a..63286005260 100644 --- a/library/src/main/java/com/getstream/sdk/chat/view/ReadStateView.java +++ b/library/src/main/java/com/getstream/sdk/chat/view/ReadStateView.java @@ -2,47 +2,54 @@ import android.content.Context; import android.util.AttributeSet; +import android.widget.RelativeLayout; -import androidx.appcompat.widget.AppCompatImageView; +import androidx.annotation.Nullable; import com.getstream.sdk.chat.rest.User; import com.getstream.sdk.chat.rest.response.ChannelUserRead; -import com.getstream.sdk.chat.utils.Utils; import java.util.Collections; import java.util.List; -public class ReadStateView extends AppCompatImageView { +public class ReadStateView extends RelativeLayout { private List reads; - private Context context; + private ReadStateStyle style; public ReadStateView(Context context) { super(context); - this.context = context; + } public ReadStateView(Context context, AttributeSet attrs) { super(context, attrs); - this.context = context; + parseAttr(context, attrs); + applyStyle(); } - public ReadStateView(Context context, AttributeSet attrs, int defStyleAttr) { - super(context, attrs, defStyleAttr); - this.context = context; + private void applyStyle() { + } - public void init() { - if (reads.size() > 0) { - // Show the icon of the user who was last to read... - Collections.sort(reads, (ChannelUserRead o1, ChannelUserRead o2) -> o1.getLastRead().compareTo(o2.getLastRead())); - User u = reads.get(0).getUser(); - String image = u.getImage(); - Utils.circleImageLoad(this, image); - } + private void parseAttr(Context context, @Nullable AttributeSet attrs) { + style = new ReadStateStyle(context, attrs); } public void setReads(List reads) { this.reads = reads; init(); } + + public void init() { + removeAllViews(); + if (reads == null || reads.isEmpty()) return; + + // Show the icon of the user who was last to read... + Collections.sort(reads, (ChannelUserRead o1, ChannelUserRead o2) -> o1.getLastRead().compareTo(o2.getLastRead())); + User u = reads.get(0).getUser(); + String image = u.getImage(); +// Utils.circleImageLoad(this, image); + AvatarGroupView avatarGroupView = new AvatarGroupView<>(getContext()); + avatarGroupView.setUser(u, style); + } } diff --git a/library/src/main/res/layout/list_item_message.xml b/library/src/main/res/layout/list_item_message.xml index 5ac0864154c..05756dc2bb6 100644 --- a/library/src/main/res/layout/list_item_message.xml +++ b/library/src/main/res/layout/list_item_message.xml @@ -221,9 +221,10 @@ - - 40dp 40dp + 40dp 3dp 14sp 11sp @@ -18,6 +17,8 @@ 10dp 15sp + 13dp + 13dp 32dp 32dp From 2b4133aba273f07e59c18f641b8b5461428aca30 Mon Sep 17 00:00:00 2001 From: adrian09h Date: Fri, 16 Aug 2019 19:36:28 +0200 Subject: [PATCH 03/14] merged --- .../sdk/chat/view/MessageListView.java | 5 +++ .../sdk/chat/view/ReadStateView.java | 4 +-- .../chat/example/ChannelActivity.java | 35 ++++++++++++++----- 3 files changed, 34 insertions(+), 10 deletions(-) diff --git a/library/src/main/java/com/getstream/sdk/chat/view/MessageListView.java b/library/src/main/java/com/getstream/sdk/chat/view/MessageListView.java index 3bb3bafed02..6bbae185f73 100644 --- a/library/src/main/java/com/getstream/sdk/chat/view/MessageListView.java +++ b/library/src/main/java/com/getstream/sdk/chat/view/MessageListView.java @@ -9,6 +9,7 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import com.facebook.drawee.backends.pipeline.Fresco; import com.getstream.sdk.chat.adapter.Entity; import com.getstream.sdk.chat.adapter.MessageListItemAdapter; import com.getstream.sdk.chat.adapter.MessageViewHolderFactory; @@ -165,6 +166,10 @@ public void onScrolled(RecyclerView recyclerView, int dx, int dy) { private void parseAttr(Context context, @Nullable AttributeSet attrs) { // parse the attributes style = new MessageListViewStyle(context, attrs); + try { + Fresco.initialize(getContext()); + } catch (Exception e) { + } } public void setAttachmentClickListener(AttachmentClickListener attachmentClickListener) { diff --git a/library/src/main/java/com/getstream/sdk/chat/view/ReadStateView.java b/library/src/main/java/com/getstream/sdk/chat/view/ReadStateView.java index 63286005260..8b6e18cc049 100644 --- a/library/src/main/java/com/getstream/sdk/chat/view/ReadStateView.java +++ b/library/src/main/java/com/getstream/sdk/chat/view/ReadStateView.java @@ -49,7 +49,7 @@ public void init() { User u = reads.get(0).getUser(); String image = u.getImage(); // Utils.circleImageLoad(this, image); - AvatarGroupView avatarGroupView = new AvatarGroupView<>(getContext()); - avatarGroupView.setUser(u, style); +// AvatarGroupView avatarGroupView = new AvatarGroupView<>(getContext()); +// avatarGroupView.setUser(u, style); } } diff --git a/sample/src/main/java/io/getstream/chat/example/ChannelActivity.java b/sample/src/main/java/io/getstream/chat/example/ChannelActivity.java index 5553da1cd55..2b13a022bae 100644 --- a/sample/src/main/java/io/getstream/chat/example/ChannelActivity.java +++ b/sample/src/main/java/io/getstream/chat/example/ChannelActivity.java @@ -74,12 +74,12 @@ protected void onCreate(Bundle savedInstanceState) { // Image if (attachment.getType().equals(ModelType.attach_image)) { - List imageUrls = new ArrayList<>(); - for (Attachment a : message.getAttachments()) { - imageUrls.add(a.getAssetURL()); - } +// List imageUrls = new ArrayList<>(); +// for (Attachment a : message.getAttachments()) { +// imageUrls.add(a.getAssetURL()); +// } - new ImageViewer.Builder<>(this, imageUrls) + new ImageViewer.Builder<>(this, getImageURLs(message.getAttachments())) .setStartPosition(0) .show(); return; @@ -89,9 +89,6 @@ protected void onCreate(Bundle savedInstanceState) { this.startActivity(mediaIntent); } - - - }); binding.messageInput.setViewModel(viewModel, this); @@ -133,4 +130,26 @@ public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); binding.messageInput.progressCapturedMedia(requestCode, resultCode, data); } + + private List getImageURLs(List attachments) { + List imageURLs = new ArrayList<>(); + if (attachments.size() == 1) { + if (attachments.get(0).getType().equals(ModelType.attach_image)) { + if (attachments.get(0).getOgURL() == null) { + String url = attachments.get(0).getImageURL(); + imageURLs.add(url); + } + } + } else { + Attachment attachment = attachments.get(0); + if (attachment.getType().equals(ModelType.attach_image)) { + for (int i = 0; i < attachments.size(); i++) { + if (attachments.get(i).getOgURL() == null && attachments.get(i).getImageURL() != null) { + imageURLs.add(attachments.get(i).getImageURL()); + } + } + } + } + return imageURLs; + } } \ No newline at end of file From 479cc6063a7b0e3d94ace0175d01339a7ccdeccf Mon Sep 17 00:00:00 2001 From: adrian09h Date: Fri, 16 Aug 2019 23:18:37 +0200 Subject: [PATCH 04/14] readStateView #1 --- .../adapter/ChannelListItemViewHolder.java | 2 +- .../adapter/MessageListItemViewHolder.java | 9 +--- .../getstream/sdk/chat/utils/BaseStyle.java | 34 ++++++++++++- .../sdk/chat/view/ChannelListViewStyle.java | 15 ++++-- .../sdk/chat/view/ReadStateStyle.java | 51 ------------------- .../sdk/chat/view/ReadStateView.java | 47 ++++++++++------- library/src/main/res/values/attrs.xml | 23 ++++++++- library/src/main/res/values/dimens.xml | 5 +- sample/src/main/res/layout/activity_main.xml | 3 +- 9 files changed, 101 insertions(+), 88 deletions(-) delete mode 100644 library/src/main/java/com/getstream/sdk/chat/view/ReadStateStyle.java diff --git a/library/src/main/java/com/getstream/sdk/chat/adapter/ChannelListItemViewHolder.java b/library/src/main/java/com/getstream/sdk/chat/adapter/ChannelListItemViewHolder.java index 96260b749d9..1309b8385a0 100644 --- a/library/src/main/java/com/getstream/sdk/chat/adapter/ChannelListItemViewHolder.java +++ b/library/src/main/java/com/getstream/sdk/chat/adapter/ChannelListItemViewHolder.java @@ -144,7 +144,7 @@ public void bind(Context context, ChannelState channelState, int position) { } // read indicators - read_state.setReads(lastMessageReads); + read_state.setReads(lastMessageReads, style); // apply unread style or read style if (unreadCount == 0) { diff --git a/library/src/main/java/com/getstream/sdk/chat/adapter/MessageListItemViewHolder.java b/library/src/main/java/com/getstream/sdk/chat/adapter/MessageListItemViewHolder.java index d11bdf09a41..3d216240921 100644 --- a/library/src/main/java/com/getstream/sdk/chat/adapter/MessageListItemViewHolder.java +++ b/library/src/main/java/com/getstream/sdk/chat/adapter/MessageListItemViewHolder.java @@ -158,7 +158,6 @@ public void bind(Context context, ChannelState channelState, Entity entity, int this.positions = entity.getPositions(); - if (this.message.getAttachments() == null || this.message.getAttachments().size() == 0) { alv_attachments.setVisibility(View.GONE); } else { @@ -180,7 +179,6 @@ public void bind(Context context, ChannelState channelState, Entity entity, int this.applyPositionsStyle(); - // TODO: hook up click and longclick // Configure UIs @@ -322,7 +320,6 @@ private void configMessageText() { markwon.setMarkdown(tv_text, Global.getMentionedText(message)); - // Set Click Listener tv_text.setOnClickListener((View v) -> { Log.d(TAG, "onClick: " + position); @@ -384,9 +381,6 @@ private void configReplyView() { } - - - // endregion // region Layout Params @@ -435,14 +429,13 @@ private void configParamsReactionRecycleView() { } - private void configPramsDeliveredIndicator() { List readBy = entity.getMessageReadBy(); if (readBy.size() == 0) { view_read_indicator.setVisibility(View.GONE); } else { - view_read_indicator.setReads(readBy); + view_read_indicator.setReads(readBy, style); view_read_indicator.setVisibility(View.VISIBLE); } } diff --git a/library/src/main/java/com/getstream/sdk/chat/utils/BaseStyle.java b/library/src/main/java/com/getstream/sdk/chat/utils/BaseStyle.java index f9145ac5171..7ea7a91c8e5 100644 --- a/library/src/main/java/com/getstream/sdk/chat/utils/BaseStyle.java +++ b/library/src/main/java/com/getstream/sdk/chat/utils/BaseStyle.java @@ -74,7 +74,6 @@ protected final Drawable getVectorDrawable(@DrawableRes int drawable) { return ContextCompat.getDrawable(context, drawable); } - protected float avatarWidth; protected float avatarHeight; @@ -86,6 +85,15 @@ protected final Drawable getVectorDrawable(@DrawableRes int drawable) { protected int avatarInitialTextColor; protected int avatarInitialTextStyle; + protected boolean showReadState; + + protected float readStateAvatarWidth; + protected float readStateAvatarHeight; + + protected float readStateTextSize; + protected int readStateTextColor; + protected int readStateTextStyle; + public float getAvatarWidth() { return avatarWidth; } @@ -117,4 +125,28 @@ public int getAvatarBorderColor() { public int getAvatarBackGroundColor() { return avatarBackGroundColor; } + + public boolean isShowReadState() { + return showReadState; + } + + public float getReadStateAvatarWidth() { + return readStateAvatarWidth; + } + + public float getReadStateAvatarHeight() { + return readStateAvatarHeight; + } + + public float getReadStateTextSize() { + return readStateTextSize; + } + + public int getReadStateTextColor() { + return readStateTextColor; + } + + public int getReadStateTextStyle() { + return readStateTextStyle; + } } diff --git a/library/src/main/java/com/getstream/sdk/chat/view/ChannelListViewStyle.java b/library/src/main/java/com/getstream/sdk/chat/view/ChannelListViewStyle.java index 41e65980fb8..ce814f13539 100644 --- a/library/src/main/java/com/getstream/sdk/chat/view/ChannelListViewStyle.java +++ b/library/src/main/java/com/getstream/sdk/chat/view/ChannelListViewStyle.java @@ -63,13 +63,20 @@ public ChannelListViewStyle(Context c, AttributeSet attrs) { avatarHeight = a.getDimension(R.styleable.ChannelListView_channelAvatarHeight, getDimension(R.dimen.stream_channel_avatar_height)); avatarBorderWidth = a.getDimension(R.styleable.ChannelListView_channelAvatarBorderWidth, getDimension(R.dimen.stream_channel_avatar_border_width)); - avatarBorderColor = a.getColor(R.styleable.ChannelListView_channelAvatarBorderColor, -1); - avatarBackGroundColor = a.getColor(R.styleable.ChannelListView_channelAvatarBackGroundColor, getColor(R.color.stream_gray_dark)); + avatarBorderColor = a.getColor(R.styleable.ChannelListView_channelAvatarBorderColor, Color.WHITE); + avatarBackGroundColor = a.getColor(R.styleable.ChannelListView_channelAvatarBackGroundColor, getColor(R.color.user_intials_background)); avatarInitialTextSize = a.getDimension(R.styleable.ChannelListView_channelAvatarTextSize, getDimension(R.dimen.stream_channel_initials)); - avatarInitialTextColor = a.getColor(R.styleable.ChannelListView_channelAvatarTextColor, Color.WHITE); + avatarInitialTextColor = a.getColor(R.styleable.ChannelListView_channelAvatarTextColor, Color.BLACK); avatarInitialTextStyle = a.getInt(R.styleable.ChannelListView_channelAvatarTextStyle, Typeface.BOLD); - + // Read State + showReadState = a.getBoolean(R.styleable.ChannelListView_channelShowReadState, true); + readStateAvatarWidth = a.getDimension(R.styleable.ChannelListView_channelReadStateAvatarWidth, getDimension(R.dimen.read_state_avatar_width)); + readStateAvatarHeight = a.getDimension(R.styleable.ChannelListView_channelReadStateAvatarHeight, getDimension(R.dimen.read_state_avatar_height)); + + readStateTextSize = a.getDimension(R.styleable.ChannelListView_channelRreadStateTextSize, getDimension(R.dimen.read_state_text_size)); + readStateTextColor = a.getColor(R.styleable.ChannelListView_channelReadStateTextColor, Color.BLACK); + readStateTextStyle = a.getColor(R.styleable.ChannelListView_channelReadStateTextStyle, Typeface.NORMAL); a.recycle(); } diff --git a/library/src/main/java/com/getstream/sdk/chat/view/ReadStateStyle.java b/library/src/main/java/com/getstream/sdk/chat/view/ReadStateStyle.java deleted file mode 100644 index d88b85f594c..00000000000 --- a/library/src/main/java/com/getstream/sdk/chat/view/ReadStateStyle.java +++ /dev/null @@ -1,51 +0,0 @@ - -package com.getstream.sdk.chat.view; - -import android.content.Context; -import android.content.res.ColorStateList; -import android.content.res.TypedArray; -import android.graphics.Typeface; -import android.graphics.drawable.Drawable; -import android.text.TextUtils; -import android.util.AttributeSet; - -import androidx.annotation.ColorInt; -import androidx.annotation.DrawableRes; -import androidx.core.graphics.drawable.DrawableCompat; - -import com.getstream.sdk.chat.R; -import com.getstream.sdk.chat.utils.BaseStyle; - -/** - * Style for MessageInputStyle customization by xml attributes - */ -class ReadStateStyle extends BaseStyle { - - private boolean showReadState; - - private float readStateAvatarWidth; - private float readStateAvatarHeight; - - private int readStateTextSize; - private int readStateTextColor; - private int readStateTextStyle; - - public ReadStateStyle(Context context, AttributeSet attrs) { - setContext(context); - TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.MessageInputView); - // Attachment Button - showReadState = a.getBoolean(R.styleable.MessageInputView_showAttachmentButton, true); - - readStateAvatarWidth = a.getDimension(R.styleable.ChannelListView_channelAvatarWidth, getDimension(R.dimen.read_state_avatar_width)); - readStateAvatarHeight = a.getDimension(R.styleable.ChannelListView_channelAvatarHeight, getDimension(R.dimen.read_state_avatar_height)); - - readStateTextSize = a.getDimensionPixelSize(R.styleable.MessageInputView_inputTextSize, getDimension(R.dimen.input_text_size)); - readStateTextColor = a.getColor(R.styleable.MessageInputView_inputTextColor, getColor(R.color.black)); - readStateTextStyle = a.getInt(R.styleable.MessageInputView_inputTextStyle, Typeface.NORMAL); - - a.recycle(); - } - - - -} diff --git a/library/src/main/java/com/getstream/sdk/chat/view/ReadStateView.java b/library/src/main/java/com/getstream/sdk/chat/view/ReadStateView.java index 8b6e18cc049..4a3f8101afc 100644 --- a/library/src/main/java/com/getstream/sdk/chat/view/ReadStateView.java +++ b/library/src/main/java/com/getstream/sdk/chat/view/ReadStateView.java @@ -2,19 +2,21 @@ import android.content.Context; import android.util.AttributeSet; +import android.util.TypedValue; import android.widget.RelativeLayout; -import androidx.annotation.Nullable; - +import com.bumptech.glide.Glide; import com.getstream.sdk.chat.rest.User; import com.getstream.sdk.chat.rest.response.ChannelUserRead; +import com.getstream.sdk.chat.utils.BaseStyle; +import com.getstream.sdk.chat.utils.roundedImageView.CircularImageView; import java.util.Collections; import java.util.List; -public class ReadStateView extends RelativeLayout { +public class ReadStateView