diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/fantalk/CreatorChannelFanTalkFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/fantalk/CreatorChannelFanTalkFragment.kt
index 4fd67a17..7191f7aa 100644
--- a/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/fantalk/CreatorChannelFanTalkFragment.kt
+++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/fantalk/CreatorChannelFanTalkFragment.kt
@@ -61,9 +61,8 @@ class CreatorChannelFanTalkFragment : BaseFragment
-
-
-
-
-
-
+ android:orientation="vertical"
+ android:paddingHorizontal="@dimen/spacing_14"
+ tools:ignore="UselessParent">
+ android:lineSpacingMultiplier="1.45"
+ android:text="@string/creator_channel_fantalk_empty_message"
+ android:textColor="@color/gray_500" />
+
+
+
+
+
+
+
-
+
")
val countBar = requireNotNull(root.findViewById(R.id.layout_creator_channel_fantalk_count_bar))
val fanTalkList = requireNotNull(root.findViewById(R.id.rv_creator_channel_fantalk))
val emptyContainer = requireNotNull(root.findViewById(R.id.layout_creator_channel_fantalk_empty))
+ val emptyContent = requireNotNull(root.findViewById(R.id.layout_creator_channel_fantalk_empty_content))
val emptyMessage = requireNotNull(root.findViewById(R.id.tv_creator_channel_fantalk_empty_message))
val emptyButton = requireNotNull(root.findViewById(R.id.layout_creator_channel_fantalk_empty_write_button))
+ val emptyButtonLabel = requireNotNull(root.findViewById(R.id.tv_creator_channel_fantalk_empty_write_button))
val errorMessage = requireNotNull(root.findViewById(R.id.tv_creator_channel_fantalk_error_message))
val retryButton = requireNotNull(root.findViewById(R.id.btn_creator_channel_fantalk_retry))
val floatingWriteButton = requireNotNull(root.findViewById(R.id.btn_creator_channel_fantalk_write))
@@ -40,8 +47,9 @@ class CreatorChannelFanTalkFragmentLayoutTest {
assertSame(root, countBar.parent)
assertSame(root, fanTalkList.parent)
assertSame(root, emptyContainer.parent)
- assertSame(emptyContainer, emptyMessage.parent)
- assertSame(emptyContainer, emptyButton.parent)
+ assertSame(emptyContainer, emptyContent.parent)
+ assertSame(emptyContent, emptyMessage.parent)
+ assertSame(emptyContent, emptyButton.parent)
assertSame(root, errorMessage.parent)
assertSame(root, retryButton.parent)
assertSame(root, floatingWriteButton.parent)
@@ -54,11 +62,20 @@ class CreatorChannelFanTalkFragmentLayoutTest {
assertTrue(layout.contains("android:text=\"@string/creator_channel_fantalk_all_label\""))
assertTrue(layout.contains("android:text=\"@string/creator_channel_fantalk_empty_message\""))
assertTrue(layout.contains("android:gravity=\"center\""))
- assertTrue(layout.contains("android:layout_height=\"0dp\""))
- assertTrue(layout.contains("app:layout_constraintBottom_toBottomOf=\"parent\""))
+ assertEquals(ViewGroup.LayoutParams.WRAP_CONTENT, emptyContainer.layoutParams.height)
+ assertTrue(layout.contains("android:paddingTop=\"@dimen/spacing_48\""))
+ assertTrue(layout.contains("android:paddingBottom=\"@dimen/spacing_32\""))
+ assertTrue(layout.contains("android:layout_gravity=\"top|center_horizontal\""))
+ assertFalse(emptyContainerBlock.contains("app:layout_constraintBottom_toBottomOf=\"parent\""))
assertTrue(layout.contains("android:text=\"@string/creator_channel_fantalk_support_action\""))
+ assertTrue(layout.contains("android:layout_marginTop=\"@dimen/spacing_14\""))
+ assertTrue(layout.contains("android:background=\"@drawable/bg_creator_channel_fantalk_empty_button\""))
+ assertTrue(layout.contains("android:layout_marginStart=\"@dimen/spacing_6\""))
assertTrue(layout.contains("tools:listitem=\"@layout/item_creator_channel_fantalk\""))
assertTrue(layout.contains("@drawable/ic_new_fantalk_plus"))
+ assertEquals(ContextCompat.getColor(root.context, R.color.gray_500), emptyMessage.currentTextColor)
+ assertEquals(ContextCompat.getColor(root.context, R.color.white), emptyButtonLabel.currentTextColor)
+ assertTrue(projectFile("app/src/main/res/drawable/bg_creator_channel_fantalk_empty_button.xml").readText().contains("@color/gray_800"))
assertLocaleString("values/strings.xml", "아직 응원이 없습니다.\\n처음으로 크리에이터를 응원해 보세요!")
assertLocaleString("values-en/strings.xml", "No cheers yet.\\nBe the first to cheer for the creator!")
assertLocaleString("values-ja/strings.xml", "まだ応援がありません。\\n最初にクリエイターを応援してみましょう!")
@@ -157,7 +174,8 @@ class CreatorChannelFanTalkFragmentLayoutTest {
assertTrue(fragment.contains("onCreatorChannelFanTalkRefreshRequested()"))
assertTrue(fragment.contains("viewModel.refreshFanTalks()"))
assertTrue(fragment.contains("onCreatorChannelFanTalkViewportHeightChanged(minHeight: Int)"))
- assertTrue(fragment.contains("binding.root.minimumHeight = minHeight"))
+ assertTrue(fragment.contains("@Suppress(\"UNUSED_PARAMETER\")"))
+ assertFalse(fragment.contains("binding.root.minimumHeight = minHeight"))
assertTrue(fragment.contains("onCreatorChannelFanTalkDeleteConfirmed(fanTalkId: Long)"))
assertTrue(fragment.contains("viewModel.deleteFanTalk(fanTalkId)"))
assertTrue(fragment.contains("CheersReportDialog(requireActivity(), layoutInflater)"))