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" />