diff --git a/app/src/main/java/kr/co/vividnext/sodalive/chat/character/CharacterTabFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/chat/character/CharacterTabFragment.kt index 1092600b..95ca57ad 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/chat/character/CharacterTabFragment.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/chat/character/CharacterTabFragment.kt @@ -11,6 +11,7 @@ import androidx.core.content.ContextCompat import androidx.media3.common.util.UnstableApi import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView +import com.google.gson.Gson import com.zhpan.bannerview.BaseBannerAdapter import com.zhpan.indicator.enums.IndicatorSlideMode import com.zhpan.indicator.enums.IndicatorStyle @@ -19,8 +20,8 @@ import kr.co.vividnext.sodalive.base.BaseFragment import kr.co.vividnext.sodalive.chat.character.curation.CurationSectionAdapter import kr.co.vividnext.sodalive.chat.character.detail.CharacterDetailActivity import kr.co.vividnext.sodalive.chat.character.detail.CharacterDetailActivity.Companion.EXTRA_CHARACTER_ID -import kr.co.vividnext.sodalive.chat.character.recent.RecentCharacter import kr.co.vividnext.sodalive.chat.character.recent.RecentCharacterAdapter +import kr.co.vividnext.sodalive.chat.talk.room.ChatRoomActivity import kr.co.vividnext.sodalive.common.LoadingDialog import kr.co.vividnext.sodalive.common.SharedPreferenceManager import kr.co.vividnext.sodalive.databinding.FragmentCharacterTabBinding @@ -30,7 +31,6 @@ import kr.co.vividnext.sodalive.mypage.MyPageViewModel import kr.co.vividnext.sodalive.mypage.auth.Auth import kr.co.vividnext.sodalive.mypage.auth.AuthVerifyRequest import kr.co.vividnext.sodalive.splash.SplashActivity -import com.google.gson.Gson import org.koin.android.ext.android.inject // 캐릭터 탭 프래그먼트 @@ -412,8 +412,8 @@ class CharacterTabFragment : BaseFragment( } } - private fun onRecentCharacterClick(character: RecentCharacter) { - // TODO: 최근 대화한 캐릭터 클릭 처리 + private fun onRecentCharacterClick(roomId: Long) { + startActivity(ChatRoomActivity.newIntent(requireContext(), roomId)) } private fun onCharacterClick(characterId: Long) { diff --git a/app/src/main/java/kr/co/vividnext/sodalive/chat/character/detail/CharacterDetailActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/chat/character/detail/CharacterDetailActivity.kt index 85dfb314..533d513c 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/chat/character/detail/CharacterDetailActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/chat/character/detail/CharacterDetailActivity.kt @@ -137,8 +137,6 @@ class CharacterDetailActivity : BaseActivity( // 2-1) 채팅방 생성 성공 처리 (이벤트) state.chatRoomId?.let { roomId -> - showToast("채팅방이 생성되었습니다. (ID: $roomId)") - // 생성된 채팅방으로 이동 처리 startActivity(ChatRoomActivity.newIntent(this, roomId)) viewModel.consumeChatRoomCreated() } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/chat/character/recent/RecentCharacter.kt b/app/src/main/java/kr/co/vividnext/sodalive/chat/character/recent/RecentCharacter.kt index e8b0527a..f7ab5480 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/chat/character/recent/RecentCharacter.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/chat/character/recent/RecentCharacter.kt @@ -5,7 +5,7 @@ import com.google.gson.annotations.SerializedName @Keep data class RecentCharacter( - @SerializedName("id") val id: String, + @SerializedName("roomId") val roomId: Long, @SerializedName("name") val name: String, - @SerializedName("profileImageUrl") val profileImageUrl: String + @SerializedName("imageUrl") val imageUrl: String ) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/chat/character/recent/RecentCharacterAdapter.kt b/app/src/main/java/kr/co/vividnext/sodalive/chat/character/recent/RecentCharacterAdapter.kt index e4babdf4..13f0db43 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/chat/character/recent/RecentCharacterAdapter.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/chat/character/recent/RecentCharacterAdapter.kt @@ -13,7 +13,7 @@ import kr.co.vividnext.sodalive.extensions.dpToPx class RecentCharacterAdapter( private var characters: List = emptyList(), - private val onCharacterClick: (RecentCharacter) -> Unit = {} + private val onCharacterClick: (Long) -> Unit = {} ) : RecyclerView.Adapter() { inner class ViewHolder( @@ -23,7 +23,7 @@ class RecentCharacterAdapter( fun bind(character: RecentCharacter) { binding.tvName.text = character.name Glide.with(context) - .load(character.profileImageUrl) + .load(character.imageUrl) .apply( RequestOptions().transform( RoundedCorners( @@ -33,7 +33,7 @@ class RecentCharacterAdapter( ) .into(binding.ivProfile) - binding.root.setOnClickListener { onCharacterClick(character) } + binding.root.setOnClickListener { onCharacterClick(character.roomId) } } } diff --git a/app/src/main/res/layout/item_recent_character.xml b/app/src/main/res/layout/item_recent_character.xml index 63eaa677..aee9900b 100644 --- a/app/src/main/res/layout/item_recent_character.xml +++ b/app/src/main/res/layout/item_recent_character.xml @@ -9,7 +9,6 @@ android:id="@+id/iv_profile" android:layout_width="76dp" android:layout_height="76dp" - android:background="@color/color_777777" android:contentDescription="@null" android:scaleType="centerCrop" />