Skip to content

Commit a083090

Browse files
Merge pull request #49 from sendbird/release/3.23.0
3.23.0
2 parents 24d86af + 15b96e4 commit a083090

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+363
-18
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
11
# Changelog
2+
### v3.23.0 (Apr 1, 2025) with Chat SDK `v4.24.1`
3+
- Added a new interface to set the status bar color in edge-to-edge mode.
4+
- Added `void setEdgeToEdgeConfig(EdgeToEdgeConfig)`
5+
- Added `EdgeToEdgeConfig getEdgeToEdgeConfig()`
6+
- Added `EdgeToEdgeConfig` which defines a configuration for UI styling in edge-to-edge mode
7+
- Fixed an issue where some UIKit components were unresponsive when both the status bar and navigation bar were hidden in edge-to-edge mode.
8+
- Fixed an issue where images, GIFs, and videos could not be downloaded while the network was offline.
29
### v3.22.2 (Feb 28, 2025) with Chat SDK `v4.24.0`
310
* Replaced `newIntent` methods, which had a channelUrl parameter, with one that does not include it. in `OpenChannelListActivity`
411
### v3.22.1 (Feb 20, 2025) with Chat SDK `v4.23.1`

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,5 +22,5 @@ android.nonTransitiveRClass=false
2222
android.nonFinalResIds=false
2323
android.enableR8.fullMode=false
2424

25-
UIKIT_VERSION = 3.22.2
25+
UIKIT_VERSION = 3.23.0
2626
UIKIT_VERSION_CODE = 1

uikit-samples/src/main/java/com/sendbird/uikit/samples/basic/GroupChannelMainActivity.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import com.sendbird.uikit.samples.R
2323
import com.sendbird.uikit.samples.common.SampleSettingsFragment
2424
import com.sendbird.uikit.samples.common.consts.StringSet
2525
import com.sendbird.uikit.samples.common.extensions.isUsingDarkTheme
26+
import com.sendbird.uikit.samples.common.extensions.setInsetMargin
2627
import com.sendbird.uikit.samples.common.preferences.PreferenceUtils
2728
import com.sendbird.uikit.samples.common.widgets.CustomTabView
2829
import com.sendbird.uikit.samples.databinding.ActivityGroupChannelMainBinding
@@ -35,6 +36,7 @@ class GroupChannelMainActivity : AppCompatActivity() {
3536
setTheme(SendbirdUIKit.getDefaultThemeMode().resId)
3637
binding = ActivityGroupChannelMainBinding.inflate(layoutInflater).apply {
3738
setContentView(root)
39+
root.setInsetMargin(window)
3840
viewPager.adapter = MainAdapter(this@GroupChannelMainActivity)
3941
val isDarkMode = PreferenceUtils.themeMode.isUsingDarkTheme()
4042
val backgroundRedId = if (isDarkMode) R.color.background_600 else R.color.background_50

uikit-samples/src/main/java/com/sendbird/uikit/samples/basic/openchannel/OpenChannelMainActivity.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import com.sendbird.uikit.samples.basic.openchannel.livestream.LiveStreamListFra
2020
import com.sendbird.uikit.samples.common.SampleSettingsFragment
2121
import com.sendbird.uikit.samples.common.consts.StringSet
2222
import com.sendbird.uikit.samples.common.extensions.isUsingDarkTheme
23+
import com.sendbird.uikit.samples.common.extensions.setInsetMargin
2324
import com.sendbird.uikit.samples.common.preferences.PreferenceUtils
2425
import com.sendbird.uikit.samples.common.widgets.CustomTabView
2526
import com.sendbird.uikit.samples.databinding.ActivityOpenChannelMainBinding
@@ -46,6 +47,7 @@ class OpenChannelMainActivity : AppCompatActivity() {
4647
)
4748
)
4849
setSupportActionBar(titleBar)
50+
root.setInsetMargin(window)
4951
viewPager.adapter = MainAdapter(this@OpenChannelMainActivity)
5052
val backgroundRedId = if (isDarkMode) R.color.background_600 else R.color.background_50
5153
tabLayout.setBackgroundResource(backgroundRedId)

uikit-samples/src/main/java/com/sendbird/uikit/samples/basic/openchannel/livestream/LiveStreamActivity.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import com.sendbird.uikit.fragments.OpenChannelFragment
2626
import com.sendbird.uikit.samples.R
2727
import com.sendbird.uikit.samples.common.consts.StringSet
2828
import com.sendbird.uikit.samples.common.extensions.isUsingDarkTheme
29+
import com.sendbird.uikit.samples.common.extensions.setInsetMargin
2930
import com.sendbird.uikit.samples.common.extensions.toggleVisibility
3031
import com.sendbird.uikit.samples.common.preferences.PreferenceUtils
3132
import com.sendbird.uikit.samples.databinding.ActivityLiveStreamBinding
@@ -71,6 +72,7 @@ class LiveStreamActivity : AppCompatActivity() {
7172
super.onCreate(savedInstanceState)
7273
binding = ActivityLiveStreamBinding.inflate(layoutInflater).apply {
7374
setContentView(root)
75+
root.setInsetMargin(window)
7476
if (resources.configuration.orientation == Configuration.ORIENTATION_LANDSCAPE) {
7577
sbFragmentContainer.setBackgroundResource(android.R.color.transparent)
7678
} else {

uikit-samples/src/main/java/com/sendbird/uikit/samples/common/ThemeHomeActivity.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import androidx.appcompat.app.AppCompatActivity
55
import androidx.viewbinding.ViewBinding
66
import com.sendbird.uikit.samples.R
77
import com.sendbird.uikit.samples.common.extensions.isUsingDarkTheme
8+
import com.sendbird.uikit.samples.common.extensions.setInsetMargin
89
import com.sendbird.uikit.samples.common.preferences.PreferenceUtils
910

1011
abstract class ThemeHomeActivity : AppCompatActivity() {
@@ -18,6 +19,7 @@ abstract class ThemeHomeActivity : AppCompatActivity() {
1819
setTheme(if (PreferenceUtils.themeMode.isUsingDarkTheme()) R.style.AppTheme_Dark else R.style.AppTheme)
1920
setContentView(binding.root)
2021
applyTheme()
22+
binding.root.setInsetMargin(window)
2123
}
2224

2325
override fun onResume() {

uikit-samples/src/main/java/com/sendbird/uikit/samples/common/extensions/ViewExtentions.kt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,12 @@ package com.sendbird.uikit.samples.common.extensions
33
import android.content.Context
44
import android.os.Build
55
import android.view.View
6+
import android.view.Window
67
import android.widget.TextView
78
import androidx.annotation.ColorRes
9+
import androidx.core.view.ViewCompat
10+
import androidx.core.view.WindowCompat
11+
import androidx.core.view.WindowInsetsCompat
812

913
@Suppress("DEPRECATION")
1014
internal fun TextView.setAppearance(context: Context, res: Int) {
@@ -22,3 +26,20 @@ internal fun TextView.setTextColorResource(@ColorRes id: Int) {
2226
internal fun View.toggleVisibility() {
2327
visibility = if (visibility == View.VISIBLE) View.GONE else View.VISIBLE
2428
}
29+
30+
internal fun View.setInsetMargin(window: Window) {
31+
// For custom edge-to-edge system bar color
32+
// val edgeToEdgeConfig = EdgeToEdgeConfig(
33+
// statusBarColorLight = context.getColorResource(R.color.primary_300),
34+
// statusBarColorDark = context.getColorResource(R.color.primary_100)
35+
// )
36+
// SendbirdUIKit.setEdgeToEdgeConfig(edgeToEdgeConfig)
37+
38+
ViewCompat.setOnApplyWindowInsetsListener(this) { v, windowInsets ->
39+
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars() or WindowInsetsCompat.Type.ime())
40+
v.setPadding(insets.left, insets.top, insets.right, insets.bottom)
41+
WindowCompat.getInsetsController(window, window.decorView).isAppearanceLightStatusBars = true
42+
WindowInsetsCompat.CONSUMED
43+
}
44+
}
45+

uikit-samples/src/main/res/values/styles.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<resources>
22

33
<!-- Base application theme. -->
4-
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
4+
<style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
55
<!-- Customize your theme here. -->
66
<item name="colorPrimary">@color/primary_main</item>
77
<item name="colorPrimaryDark">@color/primary_extra_dark</item>

uikit-samples/src/main/res/values/styles_dark.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<resources>
22

33
<!-- Base application theme. -->
4-
<style name="AppTheme.Dark">
4+
<style name="AppTheme.Dark" parent="Theme.AppCompat.DayNight.NoActionBar">
55
<!-- Customize your theme here. -->
66
<item name="colorPrimary">@color/primary_light</item>
77
<item name="colorPrimaryDark">@color/background_500</item>

uikit/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ dependencies {
7070
implementation fileTree(dir: 'libs', include: ['*.jar'])
7171

7272
// Sendbird
73-
api 'com.sendbird.sdk:sendbird-chat:4.24.0'
73+
api 'com.sendbird.sdk:sendbird-chat:4.24.1'
7474
implementation "com.sendbird.sdk:message-template:1.0.0"
7575

7676
implementation 'com.github.bumptech.glide:glide:4.16.0'

0 commit comments

Comments
 (0)