Repository: GetStream/stream-chat-android
Pull request #5659: [AND-340] Unify `MessageComposer` padding and set `targetSdk=35` in sample apps
Author: login: VelikovPetar
Created: 2025-03-03T09:15:20Z | Merged: 2025-03-11T12:20:28Z

### 🎯 Goal
The default padding (`safeDrawingPadding`) applied to the stateful `MessageComposer(MessageComposerViewModel)` could add undesired padding when used in app which targets SDK 35 and is running on a device on Android 15 or above. This is because the `safeDrawingPadding` applies the `systemBars` padding (top and bottom) + `ime` padding (bottom). If a parent component already applies this padding and the insets are not consumed, this padding will be applied twice. 
Additionally, this padding is not applied to the stateless `MessageComposer(MessageComposerState)` components, so the behaviour between the stateful and the stateless types of the `MessageComposer` is different. 
With this PR, the `safeDrawingPadding` is removed to be unified with the stateless `MessageComposer`, and to prevent double appliance of the padding. (`MessagesScreen` will not be affected, as the root component there already applies the `safeDrawingPadding` in the parent component).

### 🛠 Implementation details
- Remove `safeDrawingPadding` from stateful `MessageComposer(MessageComposerViewModel)` component
- Remove unnecessary elevation in `AttachmentsPicker`
- Update `Configuration.sampleTargetSdk` to `35`
- Update sample apps to support `EdgeToEdge` for demo purposes

### 🎨 UI Changes

<table>
<thead>
<tr>
<th>Compose</th>
<th>XML</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<video src="https://github.com/user-attachments/assets/c8ff5b09-bbc8-47b7-bdfd-f0143c843b55" controls="controls" muted="muted" />
</td>
<td>
<video src="https://github.com/user-attachments/assets/f6269ca3-f78e-42c8-a865-29281f3787cc" controls="controls" muted="muted" />
</td>
</tr>
</tbody>
</table>

### 🧪 Testing
1. Run compose/xml sample apps on device running Android 15
2. Enter a channel
3. Type a message
4. None of the screens/components should be cut of by the system insets (status bar, nav bar, ime...)


Diff:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a6e467e9f96..d6170136be6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -78,6 +78,7 @@
 ### 🐞 Fixed
 - Crash when recording audio on a message reply. [#5642](https://github.com/GetStream/stream-chat-android/pull/5642)
 - Fix fading issue in media attachment content items. [#5631](https://github.com/GetStream/stream-chat-android/pull/5631)
+- Fix additional padding applied to the `MessageComposer` on Android 15. [#5659](https://github.com/GetStream/stream-chat-android/pull/5659)
 
 ### ⬆️ Improved
 - Autofocus the input fields in the poll creation screen. [#5629](https://github.com/GetStream/stream-chat-android/pull/5629)
diff --git a/buildSrc/src/main/kotlin/io/getstream/chat/android/Configuration.kt b/buildSrc/src/main/kotlin/io/getstream/chat/android/Configuration.kt
index b37e939b730..e8bc508d933 100644
--- a/buildSrc/src/main/kotlin/io/getstream/chat/android/Configuration.kt
+++ b/buildSrc/src/main/kotlin/io/getstream/chat/android/Configuration.kt
@@ -3,7 +3,7 @@ package io.getstream.chat.android
 object Configuration {
     const val compileSdk = 35
     const val targetSdk = 34
-    const val sampleTargetSdk = 34
+    const val sampleTargetSdk = 35
     const val minSdk = 21
     const val majorVersion = 6
     const val minorVersion = 12
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/AddChannelScreen.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/AddChannelScreen.kt
index 074a241de85..da048d29db9 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/AddChannelScreen.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/AddChannelScreen.kt
@@ -29,8 +29,8 @@ import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.foundation.layout.fillMaxWidth
 import androidx.compose.foundation.layout.height
 import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.layout.safeDrawingPadding
 import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.layout.statusBarsPadding
 import androidx.compose.foundation.shape.RoundedCornerShape
 import androidx.compose.material3.HorizontalDivider
 import androidx.compose.material3.Icon
@@ -89,8 +89,7 @@ fun AddChannelScreen(
     Scaffold(
         modifier = Modifier
             .fillMaxSize()
-            .background(ChatTheme.colors.appBackground)
-            .safeDrawingPadding(),
+            .statusBarsPadding(),
         topBar = {
             AddChannelToolbar(
                 state = state.searchUsersState,
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/component/SearchUserResultsContent.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/component/SearchUserResultsContent.kt
index 7c5d6782807..dec8aec335e 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/component/SearchUserResultsContent.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/component/SearchUserResultsContent.kt
@@ -26,6 +26,7 @@ import androidx.compose.foundation.layout.Column
 import androidx.compose.foundation.layout.PaddingValues
 import androidx.compose.foundation.layout.Row
 import androidx.compose.foundation.layout.Spacer
+import androidx.compose.foundation.layout.consumeWindowInsets
 import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.foundation.layout.fillMaxWidth
 import androidx.compose.foundation.layout.height
@@ -173,7 +174,8 @@ private fun SearchUserResultList(
         modifier = Modifier
             .fillMaxSize()
             .background(ChatTheme.colors.appBackground)
-            .padding(padding),
+            .consumeWindowInsets(padding),
+        contentPadding = padding,
         state = listState,
     ) {
         users.forEach { (group, users) ->
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/group/AddGroupChannelScreen.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/group/AddGroupChannelScreen.kt
index bf926c89b77..a2fb13d2741 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/group/AddGroupChannelScreen.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/group/AddGroupChannelScreen.kt
@@ -29,8 +29,8 @@ import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.foundation.layout.fillMaxWidth
 import androidx.compose.foundation.layout.height
 import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.layout.safeDrawingPadding
 import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.layout.statusBarsPadding
 import androidx.compose.foundation.layout.width
 import androidx.compose.foundation.lazy.LazyColumn
 import androidx.compose.foundation.lazy.LazyRow
@@ -94,8 +94,7 @@ fun AddGroupChannelScreen(
     Scaffold(
         modifier = Modifier
             .fillMaxSize()
-            .background(ChatTheme.colors.appBackground)
-            .safeDrawingPadding(),
+            .statusBarsPadding(),
         topBar = {
             when (state.step) {
                 AddGroupChannelViewModel.AddGroupChannelStep.SELECT_USERS -> {
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/list/ChannelsActivity.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/list/ChannelsActivity.kt
index 641b33346f4..7cbf1803044 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/list/ChannelsActivity.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/list/ChannelsActivity.kt
@@ -29,6 +29,7 @@ import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.foundation.layout.fillMaxWidth
 import androidx.compose.foundation.layout.height
 import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.systemBarsPadding
 import androidx.compose.foundation.layout.width
 import androidx.compose.foundation.layout.wrapContentHeight
 import androidx.compose.foundation.shape.RoundedCornerShape
@@ -135,6 +136,7 @@ class ChannelsActivity : BaseConnectedActivity() {
                 ),
             ) {
                 Scaffold(
+                    modifier = Modifier.systemBarsPadding(),
                     bottomBar = {
                         AppBottomBar(
                             unreadChannelsCount = unreadChannelsCount,
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/ChannelInfoActivity.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/ChannelInfoActivity.kt
index a4154433472..b66cefbf5f8 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/ChannelInfoActivity.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/ChannelInfoActivity.kt
@@ -26,9 +26,9 @@ import androidx.compose.foundation.background
 import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.statusBarsPadding
 import androidx.compose.foundation.lazy.LazyColumn
 import androidx.compose.material3.Scaffold
-import androidx.compose.material3.Surface
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.LaunchedEffect
 import androidx.compose.runtime.collectAsState
@@ -84,15 +84,13 @@ class ChannelInfoActivity : BaseConnectedActivity() {
         super.onCreate(savedInstanceState)
         setContent {
             ChatTheme {
-                Surface {
-                    val state by viewModel.state.collectAsState()
-                    ChannelInfoScreen(
-                        state = state,
-                        onBack = ::finish,
-                        onPinnedMessagesClick = ::openPinnedMessages,
-                        onConfirmDelete = viewModel::onDeleteChannel,
-                    )
-                }
+                val state by viewModel.state.collectAsState()
+                ChannelInfoScreen(
+                    state = state,
+                    onBack = ::finish,
+                    onPinnedMessagesClick = ::openPinnedMessages,
+                    onConfirmDelete = viewModel::onDeleteChannel,
+                )
             }
             LaunchedEffect(Unit) {
                 lifecycleScope.launch {
@@ -135,6 +133,7 @@ class ChannelInfoActivity : BaseConnectedActivity() {
         onConfirmDelete: () -> Unit,
     ) {
         Scaffold(
+            modifier = Modifier.statusBarsPadding(),
             topBar = {
                 state.member?.let { member ->
                     ChannelInfoHeader(member = member, onBack = onBack)
@@ -180,10 +179,8 @@ class ChannelInfoActivity : BaseConnectedActivity() {
                     }
 
                     if (showConfirmDeleteDialog) {
-                        SimpleDialog(
-                            title = stringResource(id = R.string.channel_info_option_delete_conversation),
-                            message = stringResource(id = R.string.channel_info_delete_conversation_confirm),
-                            onPositiveAction = {
+                        ConfirmDeleteDialog(
+                            onConfirm = {
                                 onConfirmDelete()
                                 showConfirmDeleteDialog = false
                             },
@@ -197,3 +194,16 @@ class ChannelInfoActivity : BaseConnectedActivity() {
         )
     }
 }
+
+@Composable
+private fun ConfirmDeleteDialog(
+    onConfirm: () -> Unit,
+    onDismiss: () -> Unit,
+) {
+    SimpleDialog(
+        title = stringResource(id = R.string.channel_info_option_delete_conversation),
+        message = stringResource(id = R.string.channel_info_delete_conversation_confirm),
+        onPositiveAction = onConfirm,
+        onDismiss = onDismiss,
+    )
+}
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/GroupChannelInfoActivity.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/GroupChannelInfoActivity.kt
index fb341fba949..bef72a901af 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/GroupChannelInfoActivity.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/GroupChannelInfoActivity.kt
@@ -26,11 +26,11 @@ import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.Spacer
 import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.statusBarsPadding
 import androidx.compose.foundation.layout.width
 import androidx.compose.foundation.lazy.LazyColumn
 import androidx.compose.foundation.lazy.items
 import androidx.compose.material3.Scaffold
-import androidx.compose.material3.Surface
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.collectAsState
 import androidx.compose.runtime.getValue
@@ -85,14 +85,12 @@ class GroupChannelInfoActivity : BaseConnectedActivity() {
         super.onCreate(savedInstanceState)
         setContent {
             ChatTheme {
-                Surface {
-                    val state by viewModel.state.collectAsState()
-                    GroupChannelInfoScreen(
-                        state = state,
-                        onBack = ::finish,
-                        onPinnedMessagesClick = ::openPinnedMessages,
-                    )
-                }
+                val state by viewModel.state.collectAsState()
+                GroupChannelInfoScreen(
+                    state = state,
+                    onBack = ::finish,
+                    onPinnedMessagesClick = ::openPinnedMessages,
+                )
             }
         }
     }
@@ -112,6 +110,7 @@ class GroupChannelInfoActivity : BaseConnectedActivity() {
         onPinnedMessagesClick: () -> Unit,
     ) {
         Scaffold(
+            modifier = Modifier.statusBarsPadding(),
             topBar = {
                 GroupChannelHeader(onBack)
             },
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/UserLoginActivity.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/UserLoginActivity.kt
index 6f06ab02d72..37e87ab7690 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/UserLoginActivity.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/login/UserLoginActivity.kt
@@ -33,6 +33,7 @@ import androidx.compose.foundation.layout.fillMaxWidth
 import androidx.compose.foundation.layout.height
 import androidx.compose.foundation.layout.padding
 import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.layout.systemBarsPadding
 import androidx.compose.foundation.layout.wrapContentHeight
 import androidx.compose.foundation.layout.wrapContentSize
 import androidx.compose.foundation.lazy.LazyColumn
@@ -98,7 +99,9 @@ class UserLoginActivity : AppCompatActivity() {
         onCustomLoginClick: () -> Unit,
     ) {
         Column(
-            modifier = Modifier.fillMaxSize(),
+            modifier = Modifier
+                .fillMaxSize()
+                .systemBarsPadding(),
             horizontalAlignment = Alignment.CenterHorizontally,
         ) {
             Spacer(modifier = Modifier.height(32.dp))
diff --git a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/pinned/PinnedMessagesActivity.kt b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/pinned/PinnedMessagesActivity.kt
index 1ce6c509aaa..313152fc131 100644
--- a/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/pinned/PinnedMessagesActivity.kt
+++ b/stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/pinned/PinnedMessagesActivity.kt
@@ -21,11 +21,12 @@ import android.content.Intent
 import android.os.Bundle
 import androidx.activity.compose.setContent
 import androidx.activity.viewModels
+import androidx.compose.foundation.background
 import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.fillMaxSize
 import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.statusBarsPadding
 import androidx.compose.material3.Scaffold
-import androidx.compose.material3.Surface
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.res.stringResource
 import io.getstream.chat.android.compose.sample.R
@@ -68,29 +69,29 @@ class PinnedMessagesActivity : BaseConnectedActivity() {
         super.onCreate(savedInstanceState)
         setContent {
             ChatTheme {
-                Surface {
-                    Scaffold(
-                        topBar = {
-                            AppToolbar(
-                                title = stringResource(id = R.string.channel_info_option_pinned_messages),
-                                onBack = ::finish,
+                Scaffold(
+                    modifier = Modifier.statusBarsPadding(),
+                    topBar = {
+                        AppToolbar(
+                            title = stringResource(id = R.string.channel_info_option_pinned_messages),
+                            onBack = ::finish,
+                        )
+                    },
+                    content = { padding ->
+                        Box(
+                            modifier = Modifier
+                                .fillMaxSize()
+                                .background(ChatTheme.colors.appBackground)
+                                .padding(padding),
+                        ) {
+                            PinnedMessageList(
+                                modifier = Modifier.fillMaxSize(),
+                                viewModel = viewModel,
+                                onPinnedMessageClick = ::openMessage,
                             )
-                        },
-                        content = { padding ->
-                            Box(
-                                modifier = Modifier
-                                    .fillMaxSize()
-                                    .padding(padding),
-                            ) {
-                                PinnedMessageList(
-                                    modifier = Modifier.fillMaxSize(),
-                                    viewModel = viewModel,
-                                    onPinnedMessageClick = ::openMessage,
-                                )
-                            }
-                        },
-                    )
-                }
+                        }
+                    },
+                )
             }
         }
     }
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentsPicker.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentsPicker.kt
index 008f60244c7..2a501009ee9 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentsPicker.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/attachments/AttachmentsPicker.kt
@@ -121,7 +121,6 @@ public fun AttachmentsPicker(
                 onClick = {},
                 interactionSource = null,
             ),
-            elevation = CardDefaults.cardElevation(defaultElevation = 4.dp),
             shape = if (selectedAttachmentsPickerMode?.isFullContent == true) {
                 RoundedCornerShape(0.dp)
             } else {
diff --git a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/MessageComposer.kt b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/MessageComposer.kt
index 5172ca721e2..f714defd2e7 100644
--- a/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/MessageComposer.kt
+++ b/stream-chat-android-compose/src/main/java/io/getstream/chat/android/compose/ui/messages/composer/MessageComposer.kt
@@ -28,7 +28,6 @@ import androidx.compose.foundation.layout.Spacer
 import androidx.compose.foundation.layout.fillMaxWidth
 import androidx.compose.foundation.layout.heightIn
 import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.layout.safeDrawingPadding
 import androidx.compose.foundation.layout.size
 import androidx.compose.foundation.layout.width
 import androidx.compose.material3.Checkbox
@@ -202,7 +201,7 @@ public fun MessageComposer(
     val messageComposerState by viewModel.messageComposerState.collectAsState()
 
     ChatTheme.componentFactory.MessageComposer(
-        modifier = modifier.safeDrawingPadding(),
+        modifier = modifier,
         onSendMessage = { text, attachments ->
             val messageWithData = viewModel.buildNewMessage(text, attachments)
 
diff --git a/stream-chat-android-ui-components-sample/src/main/kotlin/io/getstream/chat/ui/sample/feature/HostActivity.kt b/stream-chat-android-ui-components-sample/src/main/kotlin/io/getstream/chat/ui/sample/feature/HostActivity.kt
index 45de3662800..eedb8e47fbb 100644
--- a/stream-chat-android-ui-components-sample/src/main/kotlin/io/getstream/chat/ui/sample/feature/HostActivity.kt
+++ b/stream-chat-android-ui-components-sample/src/main/kotlin/io/getstream/chat/ui/sample/feature/HostActivity.kt
@@ -19,7 +19,11 @@ package io.getstream.chat.ui.sample.feature
 import android.content.Context
 import android.content.Intent
 import android.os.Bundle
+import android.view.View
 import androidx.appcompat.app.AppCompatActivity
+import androidx.core.view.ViewCompat
+import androidx.core.view.WindowInsetsCompat
+import androidx.core.view.updatePadding
 import io.getstream.chat.ui.sample.R
 
 const val EXTRA_CHANNEL_ID = "extra_channel_id"
@@ -31,6 +35,7 @@ class HostActivity : AppCompatActivity(R.layout.activity_main) {
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
+        setupEdgeToEdge()
         if (savedInstanceState != null && lastNonConfigurationInstance == null) {
             // the application process was killed by the OS
             startActivity(packageManager.getLaunchIntentForPackage(packageName))
@@ -38,6 +43,15 @@ class HostActivity : AppCompatActivity(R.layout.activity_main) {
         }
     }
 
+    private fun setupEdgeToEdge() {
+        val root = findViewById<View>(android.R.id.content).rootView
+        ViewCompat.setOnApplyWindowInsetsListener(root) { view, windowInsets ->
+            val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars() or WindowInsetsCompat.Type.ime())
+            root.updatePadding(left = insets.left, top = insets.top, right = insets.right, bottom = insets.bottom)
+            WindowInsetsCompat.CONSUMED
+        }
+    }
+
     companion object {
 
         fun createLaunchIntent(


Reviews:
user: login: JcMinarro
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-05T08:21:17Z
user: login: VelikovPetar
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-05T09:46:16Z
user: login: VelikovPetar
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-05T09:52:07Z
user: login: JcMinarro
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-03-10T11:33:26Z

Review comments:
diff_hunk: @@ -89,8 +89,7 @@ fun AddChannelScreen(
     Scaffold(
         modifier = Modifier
             .fillMaxSize()
-            .background(ChatTheme.colors.appBackground)
path: stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/AddChannelScreen.kt
user: login: JcMinarro
body: Do we need to remove the background?
created_at: 2025-03-05T08:03:19Z
author_association: CONTRIBUTOR
diff_hunk: @@ -68,8 +68,7 @@ class ChannelInfoActivity : BaseConnectedActivity() {
          * @param channelId The ID of the channel for which the pinned messages are shown.
          */
         fun createIntent(context: Context, channelId: String) =
-            Intent(context, ChannelInfoActivity::class.java)
-                .putExtra(KEY_CHANNEL_ID, channelId)
+            Intent(context, ChannelInfoActivity::class.java).putExtra(KEY_CHANNEL_ID, channelId)
path: stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/ChannelInfoActivity.kt
user: login: JcMinarro
body: Can we revert this change?
Having `extra` in a new line helps us with PR Conflicts in case new extras need to be added
created_at: 2025-03-05T08:14:43Z
author_association: CONTRIBUTOR
diff_hunk: @@ -68,8 +68,7 @@ class ChannelInfoActivity : BaseConnectedActivity() {
          * @param channelId The ID of the channel for which the pinned messages are shown.
          */
         fun createIntent(context: Context, channelId: String) =
-            Intent(context, ChannelInfoActivity::class.java)
-                .putExtra(KEY_CHANNEL_ID, channelId)
+            Intent(context, ChannelInfoActivity::class.java).putExtra(KEY_CHANNEL_ID, channelId)
path: stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/ui/channel/ChannelInfoActivity.kt
user: login: VelikovPetar
body: Ah yes, this was most likely done by the auto formatter, I will revert it.
created_at: 2025-03-05T09:46:16Z
author_association: CONTRIBUTOR
diff_hunk: @@ -89,8 +89,7 @@ fun AddChannelScreen(
     Scaffold(
         modifier = Modifier
             .fillMaxSize()
-            .background(ChatTheme.colors.appBackground)
path: stream-chat-android-compose-sample/src/main/java/io/getstream/chat/android/compose/sample/feature/channel/add/AddChannelScreen.kt
user: login: VelikovPetar
body: It is actually not needed, because the components apply their own background, and it obstructs the root background. 
Example on Android 14/15:
| Android 14 | Android 15 |
| ----------- | ----------- |
| ![and14](https://github.com/user-attachments/assets/0370b4b1-bee7-4f4d-8d8d-71a6992cd818) | ![and15](https://github.com/user-attachments/assets/c7d13cd3-1de8-4f65-a80b-1530e0753150) |


created_at: 2025-03-05T09:52:07Z
author_association: CONTRIBUTOR

PR comments:
user: login: github-actions[bot]
created_at: 2025-03-03T09:24:35Z
body: 
## SDK Size Comparison 📏

| SDK | Before | After | Difference | Status |
|-|-|-|-|-|
| stream-chat-android-client | 3.17 MB | 3.17 MB | 0.00 MB | 🟢 |
| stream-chat-android-offline | 3.38 MB | 3.38 MB | 0.00 MB | 🟢 |
| stream-chat-android-ui-components | 7.87 MB | 7.87 MB | 0.00 MB | 🟢 |
| stream-chat-android-compose | 9.86 MB | 9.86 MB | 0.00 MB | 🟢 |

author_association: CONTRIBUTOR
user: login: sonarqubecloud[bot]
created_at: 2025-03-11T12:13:31Z
body: ## [![Quality Gate Failed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-failed-20px.png 'Quality Gate Failed')](https://sonarcloud.io/dashboard?id=GetStream_stream-chat-android&pullRequest=5659) **Quality Gate failed**  
Failed conditions  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/failed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=GetStream_stream-chat-android&pullRequest=5659&metric=new_coverage&view=list) (required ≥ 80%)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=GetStream_stream-chat-android&pullRequest=5659)


author_association: NONE