From 87f02918f8aefd69255a42a218b62d6179a141f7 Mon Sep 17 00:00:00 2001 From: klaus Date: Sat, 4 Jan 2025 01:22:16 +0900 Subject: [PATCH] =?UTF-8?q?=EC=B1=84=EB=84=90=20=EC=83=81=EC=84=B8=20-=20?= =?UTF-8?q?=ED=81=AC=EB=A6=AC=EC=97=90=EC=9D=B4=ED=84=B0=EA=B0=80=20?= =?UTF-8?q?=EC=95=84=EB=8B=8C=20=EC=9C=A0=EC=A0=80=EC=9D=98=20=EC=B1=84?= =?UTF-8?q?=EB=84=90=EC=97=90=20=EC=A0=91=EA=B7=BC=ED=96=88=EC=9D=84=20?= =?UTF-8?q?=EB=95=8C=EB=8A=94=20=ED=8C=AC=ED=86=A1=EA=B3=BC=20=EC=9C=A0?= =?UTF-8?q?=EC=A0=80=20=EC=A0=95=EB=B3=B4=EB=A7=8C=20=EB=B3=B4=EC=9D=B4?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../applicant/AuditionApplicantListAdapter.kt | 3 ++ .../GetAuditionApplicantListResponse.kt | 1 + .../role/AuditionRoleDetailActivity.kt | 8 ++++ .../profile/GetCreatorProfileResponse.kt | 4 +- .../explorer/profile/UserProfileActivity.kt | 24 ++++++---- .../main/res/layout/activity_user_profile.xml | 46 ++++++++++++------- .../main/res/layout/layout_user_profile.xml | 3 +- 7 files changed, 63 insertions(+), 26 deletions(-) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audition/applicant/AuditionApplicantListAdapter.kt b/app/src/main/java/kr/co/vividnext/sodalive/audition/applicant/AuditionApplicantListAdapter.kt index 159f30b..f1115a8 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audition/applicant/AuditionApplicantListAdapter.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audition/applicant/AuditionApplicantListAdapter.kt @@ -15,6 +15,7 @@ import kr.co.vividnext.sodalive.databinding.ItemAuditionApplicantBinding class AuditionApplicantListAdapter( private val onClickVote: (Int) -> Unit, + private val onClickNickname: (Long) -> Unit, private val onClickPlayOrPause: (Int, Long, String) -> Unit ) : ListAdapter(DiffCallback()) { @@ -54,6 +55,8 @@ class AuditionApplicantListAdapter( } binding.tvNickname.text = item.nickname + binding.tvNickname.setOnClickListener { onClickNickname(item.memberId) } + binding.tvCountVote.text = item.voteCount.toString() binding.ivProfile.load(item.profileImageUrl) { crossfade(true) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audition/applicant/GetAuditionApplicantListResponse.kt b/app/src/main/java/kr/co/vividnext/sodalive/audition/applicant/GetAuditionApplicantListResponse.kt index 5771435..64a0a9f 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audition/applicant/GetAuditionApplicantListResponse.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audition/applicant/GetAuditionApplicantListResponse.kt @@ -12,6 +12,7 @@ data class GetAuditionApplicantListResponse( @Keep data class GetAuditionRoleApplicantItem( @SerializedName("applicantId") val applicantId: Long, + @SerializedName("memberId") val memberId: Long, @SerializedName("nickname") val nickname: String, @SerializedName("profileImageUrl") val profileImageUrl: String, @SerializedName("voiceUrl") val voiceUrl: String, diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audition/role/AuditionRoleDetailActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/audition/role/AuditionRoleDetailActivity.kt index 80e8427..f8b9777 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audition/role/AuditionRoleDetailActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audition/role/AuditionRoleDetailActivity.kt @@ -24,6 +24,7 @@ import kr.co.vividnext.sodalive.common.Constants import kr.co.vividnext.sodalive.common.LoadingDialog import kr.co.vividnext.sodalive.common.RealPathUtil import kr.co.vividnext.sodalive.databinding.ActivityAuditionRoleDetailBinding +import kr.co.vividnext.sodalive.explorer.profile.UserProfileActivity import kr.co.vividnext.sodalive.explorer.profile.creator_community.write.RecordingVoiceFragment import kr.co.vividnext.sodalive.extensions.dpToPx import org.koin.android.ext.android.inject @@ -179,6 +180,13 @@ class AuditionRoleDetailActivity : BaseActivity mediaPlayerManager.toggleContent(position, applicantId, voiceUrl) }, + onClickNickname = { memberId -> + startActivity( + Intent(applicationContext, UserProfileActivity::class.java).apply { + putExtra(Constants.EXTRA_USER_ID, memberId) + } + ) + }, onClickVote = { applicantId -> viewModel.voteApplicant( applicantId, diff --git a/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/GetCreatorProfileResponse.kt b/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/GetCreatorProfileResponse.kt index bec07ac..51c4092 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/GetCreatorProfileResponse.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/GetCreatorProfileResponse.kt @@ -26,7 +26,9 @@ data class GetCreatorProfileResponse( @SerializedName("seriesList") val seriesList: List, @SerializedName("isBlock") - val isBlock: Boolean + val isBlock: Boolean, + @SerializedName("isCreatorRole") + val isCreator: Boolean ) @Keep diff --git a/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/UserProfileActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/UserProfileActivity.kt index bc01df3..3d71e2f 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/UserProfileActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/UserProfileActivity.kt @@ -16,7 +16,9 @@ import android.view.inputmethod.InputMethodManager import android.webkit.URLUtil import android.widget.LinearLayout import android.widget.Toast +import androidx.annotation.OptIn import androidx.appcompat.widget.PopupMenu +import androidx.media3.common.util.UnstableApi import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import coil.load @@ -52,11 +54,11 @@ import kr.co.vividnext.sodalive.extensions.dpToPx import kr.co.vividnext.sodalive.extensions.loadUrl import kr.co.vividnext.sodalive.extensions.moneyFormat import kr.co.vividnext.sodalive.live.LiveViewModel -import kr.co.vividnext.sodalive.live.room.menu.MenuConfigActivity import kr.co.vividnext.sodalive.live.reservation.complete.LiveReservationCompleteActivity import kr.co.vividnext.sodalive.live.room.LiveRoomActivity import kr.co.vividnext.sodalive.live.room.dialog.LivePaymentDialog import kr.co.vividnext.sodalive.live.room.dialog.LiveRoomPasswordDialog +import kr.co.vividnext.sodalive.live.room.menu.MenuConfigActivity import kr.co.vividnext.sodalive.live.roulette.config.RouletteConfigActivity import kr.co.vividnext.sodalive.report.CheersReportDialog import kr.co.vividnext.sodalive.report.ProfileReportDialog @@ -494,6 +496,7 @@ class UserProfileActivity : BaseActivity( recyclerView.adapter = seriesAdapter } + @OptIn(UnstableApi::class) private fun setupAudioContentListView() { binding.layoutUserProfileAudioContent.tvAll.setOnClickListener { val intent = Intent(applicationContext, AudioContentActivity::class.java) @@ -595,18 +598,23 @@ class UserProfileActivity : BaseActivity( } viewModel.creatorProfileLiveData.observe(this) { - setCheers(it.cheers) - setSeriesList(it.seriesList) setCreatorProfile(it.creator) - setAudioContentList(it.contentList) - setLiveRoomList(it.liveRoomList) - setUserDonationRanking(it.userDonationRanking) - setActivitySummary(it.activitySummary) - setCommunityPostList(it.communityPostList) + setCheers(it.cheers) + + if (it.isCreator) { + binding.layoutUserProfile.ivShare.visibility = View.VISIBLE + setSeriesList(it.seriesList) + setAudioContentList(it.contentList) + setLiveRoomList(it.liveRoomList) + setUserDonationRanking(it.userDonationRanking) + setActivitySummary(it.activitySummary) + setCommunityPostList(it.communityPostList) + } } } private fun setActivitySummary(activitySummary: GetCreatorActivitySummary) { + binding.llActivitySummary.visibility = View.VISIBLE binding.tvLiveCount.text = activitySummary.liveCount.moneyFormat() binding.tvLiveContributorCount.text = activitySummary.liveContributorCount.moneyFormat() binding.tvLiveTime.text = activitySummary.liveTime.moneyFormat() diff --git a/app/src/main/res/layout/activity_user_profile.xml b/app/src/main/res/layout/activity_user_profile.xml index 56fe581..9a48a8f 100644 --- a/app/src/main/res/layout/activity_user_profile.xml +++ b/app/src/main/res/layout/activity_user_profile.xml @@ -55,6 +55,7 @@ layout="@layout/layout_user_profile" /> + android:padding="13.3dp" + android:visibility="gone"> + android:layout_marginTop="26.7dp" + android:visibility="gone" /> - + android:orientation="vertical" + android:visibility="gone"> - + + + + + android:layout_marginTop="26.7dp" + android:orientation="vertical" + android:visibility="gone"> @@ -277,7 +290,8 @@ android:id="@+id/layout_user_profile_fan_talk" layout="@layout/layout_user_profile_fan_talk" android:layout_width="match_parent" - android:layout_height="wrap_content" /> + android:layout_height="wrap_content" + android:layout_marginTop="26.7dp" /> diff --git a/app/src/main/res/layout/layout_user_profile.xml b/app/src/main/res/layout/layout_user_profile.xml index d9755bb..c36217c 100644 --- a/app/src/main/res/layout/layout_user_profile.xml +++ b/app/src/main/res/layout/layout_user_profile.xml @@ -58,7 +58,8 @@ android:layout_centerVertical="true" android:layout_marginStart="6.7dp" android:contentDescription="@null" - android:src="@drawable/btn_big_share" /> + android:src="@drawable/btn_big_share" + android:visibility="gone" />