Skip to content

Commit acbc95d

Browse files
committed
add FrameLayout for ComposeView + chatkit view -> useJetpackCompose switch works fine
scrolling now works with both variants. Messages views for Compose need fixes (incoming..) Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
1 parent d9d233e commit acbc95d

File tree

2 files changed

+52
-38
lines changed

2 files changed

+52
-38
lines changed

app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -609,6 +609,9 @@ class ChatActivity :
609609

610610
var useJetpackCompose = true
611611
if (useJetpackCompose) {
612+
binding.messagesListViewCompose.visibility = View.VISIBLE
613+
binding.messagesListView.visibility = View.GONE
614+
612615
CompositionLocalProvider(
613616
LocalViewThemeUtils provides viewThemeUtils,
614617
LocalMessageUtils provides messageUtils
@@ -620,6 +623,9 @@ class ChatActivity :
620623
}
621624

622625
} else {
626+
binding.messagesListViewCompose.visibility = View.GONE
627+
binding.messagesListView.visibility = View.VISIBLE
628+
623629
// use old ChatKit implementation (production for now)
624630
if (adapter != null) {
625631
// Clearing and adding everything is a temporary solution and not ideal.

app/src/main/res/layout/activity_chat.xml

Lines changed: 46 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -138,47 +138,55 @@
138138
<include layout="@layout/remainder_to_delete_conversation" />
139139
</com.google.android.material.card.MaterialCardView>
140140

141-
<androidx.compose.ui.platform.ComposeView
142-
android:id="@+id/messagesListViewCompose"
141+
<FrameLayout
143142
android:layout_width="match_parent"
144-
android:layout_height="match_parent" />
143+
android:layout_height="match_parent">
145144

146-
<com.stfalcon.chatkit.messages.MessagesList
147-
android:id="@+id/messagesListView"
148-
android:layout_width="match_parent"
149-
android:layout_height="match_parent"
150-
android:clipToPadding="false"
151-
android:paddingBottom="20dp"
152-
android:visibility="gone"
145+
<androidx.compose.ui.platform.ComposeView
146+
android:id="@+id/messagesListViewCompose"
147+
android:layout_width="match_parent"
148+
android:layout_height="match_parent"
149+
android:visibility="gone" />
150+
151+
<com.stfalcon.chatkit.messages.MessagesList
152+
android:id="@+id/messagesListView"
153+
android:layout_width="match_parent"
154+
android:layout_height="match_parent"
155+
android:clipToPadding="false"
156+
android:paddingBottom="20dp"
157+
android:visibility="gone"
158+
159+
app:dateHeaderTextSize="13sp"
160+
app:incomingBubblePaddingBottom="@dimen/message_bubble_corners_vertical_padding"
161+
app:incomingBubblePaddingLeft="@dimen/message_bubble_corners_horizontal_padding"
162+
app:incomingBubblePaddingRight="@dimen/message_bubble_corners_horizontal_padding"
163+
app:incomingBubblePaddingTop="@dimen/message_bubble_corners_vertical_padding"
164+
app:incomingDefaultBubbleColor="@color/bg_message_list_incoming_bubble"
165+
app:incomingDefaultBubblePressedColor="@color/bg_message_list_incoming_bubble"
166+
app:incomingDefaultBubbleSelectedColor="@color/transparent"
167+
app:incomingImageTimeTextSize="12sp"
168+
app:incomingTextColor="@color/nc_incoming_text_default"
169+
app:incomingTextLinkColor="@color/nc_incoming_text_default"
170+
app:incomingTextSize="@dimen/chat_text_size"
171+
app:incomingTimeTextColor="@color/no_emphasis_text"
172+
app:incomingTimeTextSize="12sp"
173+
app:outcomingBubblePaddingBottom="@dimen/message_bubble_corners_vertical_padding"
174+
app:outcomingBubblePaddingLeft="@dimen/message_bubble_corners_horizontal_padding"
175+
app:outcomingBubblePaddingRight="@dimen/message_bubble_corners_horizontal_padding"
176+
app:outcomingBubblePaddingTop="@dimen/message_bubble_corners_vertical_padding"
177+
app:outcomingDefaultBubbleColor="@color/colorPrimary"
178+
app:outcomingDefaultBubblePressedColor="@color/colorPrimary"
179+
app:outcomingDefaultBubbleSelectedColor="@color/transparent"
180+
app:outcomingImageTimeTextSize="12sp"
181+
app:outcomingTextColor="@color/high_emphasis_text"
182+
app:outcomingTextLinkColor="@color/high_emphasis_text"
183+
app:outcomingTextSize="@dimen/chat_text_size"
184+
app:outcomingTimeTextSize="12sp"
185+
app:textAutoLink="all"
186+
tools:visibility="visible" />
187+
188+
</FrameLayout>
153189

154-
app:dateHeaderTextSize="13sp"
155-
app:incomingBubblePaddingBottom="@dimen/message_bubble_corners_vertical_padding"
156-
app:incomingBubblePaddingLeft="@dimen/message_bubble_corners_horizontal_padding"
157-
app:incomingBubblePaddingRight="@dimen/message_bubble_corners_horizontal_padding"
158-
app:incomingBubblePaddingTop="@dimen/message_bubble_corners_vertical_padding"
159-
app:incomingDefaultBubbleColor="@color/bg_message_list_incoming_bubble"
160-
app:incomingDefaultBubblePressedColor="@color/bg_message_list_incoming_bubble"
161-
app:incomingDefaultBubbleSelectedColor="@color/transparent"
162-
app:incomingImageTimeTextSize="12sp"
163-
app:incomingTextColor="@color/nc_incoming_text_default"
164-
app:incomingTextLinkColor="@color/nc_incoming_text_default"
165-
app:incomingTextSize="@dimen/chat_text_size"
166-
app:incomingTimeTextColor="@color/no_emphasis_text"
167-
app:incomingTimeTextSize="12sp"
168-
app:outcomingBubblePaddingBottom="@dimen/message_bubble_corners_vertical_padding"
169-
app:outcomingBubblePaddingLeft="@dimen/message_bubble_corners_horizontal_padding"
170-
app:outcomingBubblePaddingRight="@dimen/message_bubble_corners_horizontal_padding"
171-
app:outcomingBubblePaddingTop="@dimen/message_bubble_corners_vertical_padding"
172-
app:outcomingDefaultBubbleColor="@color/colorPrimary"
173-
app:outcomingDefaultBubblePressedColor="@color/colorPrimary"
174-
app:outcomingDefaultBubbleSelectedColor="@color/transparent"
175-
app:outcomingImageTimeTextSize="12sp"
176-
app:outcomingTextColor="@color/high_emphasis_text"
177-
app:outcomingTextLinkColor="@color/high_emphasis_text"
178-
app:outcomingTextSize="@dimen/chat_text_size"
179-
app:outcomingTimeTextSize="12sp"
180-
app:textAutoLink="all"
181-
tools:visibility="visible" />
182190

183191
<LinearLayout
184192
android:layout_width="match_parent"

0 commit comments

Comments
 (0)