Skip to content

Commit 5ff3b39

Browse files
author
Carter Hudson
committed
minor tweaks
1 parent d77797d commit 5ff3b39

File tree

8 files changed

+41
-70
lines changed

8 files changed

+41
-70
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
7070
messageInputViewModel.resetThread();
7171
}
7272
});
73+
7374
// Step 4 - Let the message input know when we are editing a message
7475
binding.messageListView.setMessageEditHandler(message -> {
7576
messageInputViewModel.getEditMessage().postValue(message);

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

Lines changed: 9 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,8 @@
66
import android.widget.ImageView;
77

88
import androidx.constraintlayout.widget.ConstraintLayout;
9-
import androidx.constraintlayout.widget.ConstraintSet;
109

11-
import com.example.chattutorialjava.databinding.ViewHolderImgurAttachmentBinding;
10+
import com.example.chattutorialjava.databinding.ListItemAttachmentImgurBinding;
1211
import com.getstream.sdk.chat.adapter.MessageListItem;
1312
import com.google.android.material.shape.ShapeAppearanceModel;
1413

@@ -25,15 +24,15 @@
2524

2625
class ImgurAttachmentViewHolder extends BaseMessageItemViewHolder<MessageListItem.MessageItem> {
2726

28-
ViewHolderImgurAttachmentBinding binding;
27+
ListItemAttachmentImgurBinding binding;
2928

3029
public static ImgurAttachmentViewHolder create(ViewGroup parent) {
3130
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
32-
ViewHolderImgurAttachmentBinding binding = ViewHolderImgurAttachmentBinding.inflate(inflater, parent, false);
31+
ListItemAttachmentImgurBinding binding = ListItemAttachmentImgurBinding.inflate(inflater, parent, false);
3332
return new ImgurAttachmentViewHolder(binding);
3433
}
3534

36-
private ImgurAttachmentViewHolder(@NotNull ViewHolderImgurAttachmentBinding binding) {
35+
private ImgurAttachmentViewHolder(@NotNull ListItemAttachmentImgurBinding binding) {
3736
super(binding.getRoot());
3837

3938
float cornerRadius = binding.getRoot()
@@ -63,33 +62,15 @@ public void bindData(
6362
ImageRequest imageRequest = new ImageRequest.Builder(context)
6463
.data(imageUrl)
6564
.allowHardware(false)
65+
.crossfade(true)
66+
.placeholder(R.drawable.stream_ui_picture_placeholder)
6667
.target(binding.ivMediaThumb)
6768
.build();
6869

6970
Coil.imageLoader(context).enqueue(imageRequest);
7071

71-
align(data);
72-
}
73-
74-
private void align(MessageListItem.MessageItem data) {
75-
ConstraintSet set = new ConstraintSet();
76-
ConstraintLayout root = binding.getRoot();
77-
set.clone(root);
78-
Integer pinnedPosition = getPinnedPosition(data.isMine());
79-
Integer clearedPosition = getPinnedPosition(!data.isMine());
80-
int imageViewId = binding.ivMediaThumb.getId();
81-
set.clear(imageViewId, clearedPosition);
82-
set.connect(
83-
imageViewId,
84-
pinnedPosition,
85-
ConstraintSet.PARENT_ID,
86-
pinnedPosition,
87-
(int) root.getResources().getDimension(R.dimen.stream_ui_spacing_small)
88-
);
89-
set.applyTo(root);
90-
}
91-
92-
private Integer getPinnedPosition(Boolean isMine) {
93-
return isMine ? ConstraintSet.END : ConstraintSet.START;
72+
ConstraintLayout.LayoutParams params = (ConstraintLayout.LayoutParams) binding.ivMediaThumb.getLayoutParams();
73+
params.horizontalBias = data.isMine() ? 1f : 0f;
74+
binding.ivMediaThumb.setLayoutParams(params);
9475
}
9576
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
class ImgurAttachmentViewHolderFactory extends MessageListItemViewHolderFactory {
1717

18-
private static final Integer IMGUR = 999;
18+
private static final Integer IMGUR = 0;
1919

2020
@Override
2121
public int getItemViewType(@NotNull MessageListItem item) {

samplejava/src/main/res/layout/view_holder_imgur_attachment.xml renamed to samplejava/src/main/res/layout/list_item_attachment_imgur.xml

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,18 @@
22
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:app="http://schemas.android.com/apk/res-auto"
44
android:layout_width="match_parent"
5-
android:layout_height="wrap_content"
6-
android:layout_marginTop="2dp"
7-
android:layout_marginBottom="2dp">
5+
android:layout_height="wrap_content">
86

97
<com.google.android.material.imageview.ShapeableImageView
108
android:id="@+id/iv_media_thumb"
11-
android:layout_width="0dp"
12-
android:layout_height="200dp"
13-
app:layout_constraintDimensionRatio="w,1:1"
9+
android:layout_width="wrap_content"
10+
android:layout_height="0dp"
11+
android:layout_marginStart="8dp"
12+
android:layout_marginTop="4dp"
13+
android:layout_marginEnd="8dp"
14+
app:layout_constraintBottom_toBottomOf="parent"
15+
app:layout_constraintDimensionRatio="h,1:1"
16+
app:layout_constraintEnd_toEndOf="parent"
1417
app:layout_constraintStart_toStartOf="parent"
1518
app:layout_constraintTop_toTopOf="parent" />
1619

samplekotlin/src/main/java/com/example/chattutorial/ChannelActivity3.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,10 @@ class ChannelActivity3 : AppCompatActivity() {
8484
binding.typingHeaderView.text = nobodyTyping
8585

8686
// Obtain a ChannelController
87-
ChatDomain.instance().useCases.getChannelController(cid)
87+
ChatDomain
88+
.instance()
89+
.useCases
90+
.getChannelController(cid)
8891
.enqueue { channelControllerResult ->
8992
if (channelControllerResult.isSuccess) {
9093
// Observe typing users

samplekotlin/src/main/java/com/example/chattutorial/ImgurAttachmentViewHolder.kt

Lines changed: 7 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,17 @@ package com.example.chattutorial
33
import android.view.LayoutInflater
44
import android.view.ViewGroup
55
import android.widget.ImageView
6-
import androidx.constraintlayout.widget.ConstraintSet
6+
import androidx.constraintlayout.widget.ConstraintLayout
7+
import androidx.core.view.updateLayoutParams
78
import coil.load
8-
import com.example.chattutorial.databinding.ViewHolderImgurAttachmentBinding
9+
import com.example.chattutorial.databinding.ListItemAttachmentImgurBinding
910
import com.getstream.sdk.chat.adapter.MessageListItem
1011
import io.getstream.chat.android.ui.messages.adapter.BaseMessageItemViewHolder
1112
import io.getstream.chat.android.ui.messages.adapter.MessageListItemPayloadDiff
1213

1314
class ImgurAttachmentViewHolder(
1415
parent: ViewGroup,
15-
private val binding: ViewHolderImgurAttachmentBinding = ViewHolderImgurAttachmentBinding.inflate(
16+
private val binding: ListItemAttachmentImgurBinding = ListItemAttachmentImgurBinding.inflate(
1617
LayoutInflater.from(parent.context), parent, false
1718
)
1819
) : BaseMessageItemViewHolder<MessageListItem.MessageItem>(binding.root) {
@@ -34,32 +35,11 @@ class ImgurAttachmentViewHolder(
3435
crossfade(true)
3536
placeholder(R.drawable.stream_ui_picture_placeholder)
3637
}
37-
}
38-
39-
align(data)
40-
}
41-
}
4238

43-
private fun align(data: MessageListItem.MessageItem) {
44-
ConstraintSet().apply {
45-
with(binding) {
46-
clone(root)
47-
val pinnedPosition = getPinnedPosition(data.isMine)
48-
val clearedPosition = getPinnedPosition(!data.isMine)
49-
val imageViewId = ivMediaThumb.id
50-
clear(imageViewId, clearedPosition)
51-
connect(
52-
imageViewId,
53-
pinnedPosition,
54-
ConstraintSet.PARENT_ID,
55-
pinnedPosition,
56-
root.resources.getDimension(R.dimen.stream_ui_spacing_small).toInt()
57-
)
58-
applyTo(root)
39+
updateLayoutParams<ConstraintLayout.LayoutParams> {
40+
horizontalBias = if (data.isMine) 1f else 0f
41+
}
5942
}
6043
}
6144
}
62-
63-
private fun getPinnedPosition(isMine: Boolean) =
64-
if (isMine) ConstraintSet.END else ConstraintSet.START
6545
}

samplekotlin/src/main/java/com/example/chattutorial/ImgurAttachmentViewHolderFactory.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,6 @@ class ImgurAttachmentViewHolderFactory : MessageListItemViewHolderFactory() {
2929
}
3030

3131
companion object {
32-
private const val IMGUR = 999
32+
private const val IMGUR = 0
3333
}
3434
}

samplekotlin/src/main/res/layout/view_holder_imgur_attachment.xml renamed to samplekotlin/src/main/res/layout/list_item_attachment_imgur.xml

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,18 @@
22
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:app="http://schemas.android.com/apk/res-auto"
44
android:layout_width="match_parent"
5-
android:layout_height="wrap_content"
6-
android:layout_marginTop="2dp"
7-
android:layout_marginBottom="2dp">
5+
android:layout_height="wrap_content">
86

97
<com.google.android.material.imageview.ShapeableImageView
108
android:id="@+id/iv_media_thumb"
11-
android:layout_width="0dp"
12-
android:layout_height="200dp"
13-
app:layout_constraintDimensionRatio="w,1:1"
9+
android:layout_width="wrap_content"
10+
android:layout_height="0dp"
11+
android:layout_marginStart="8dp"
12+
android:layout_marginTop="4dp"
13+
android:layout_marginEnd="8dp"
14+
app:layout_constraintBottom_toBottomOf="parent"
15+
app:layout_constraintDimensionRatio="h,1:1"
16+
app:layout_constraintEnd_toEndOf="parent"
1417
app:layout_constraintStart_toStartOf="parent"
1518
app:layout_constraintTop_toTopOf="parent" />
1619

0 commit comments

Comments
 (0)