parent
b5546b4957
commit
87f02918f8
|
@ -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<GetAuditionRoleApplicantItem, AuditionApplicantListAdapter.ViewHolder>(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)
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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<ActivityAuditionRoleDetailBindin
|
|||
onClickPlayOrPause = { position, applicantId, voiceUrl ->
|
||||
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,
|
||||
|
|
|
@ -26,7 +26,9 @@ data class GetCreatorProfileResponse(
|
|||
@SerializedName("seriesList")
|
||||
val seriesList: List<GetSeriesListResponse.SeriesListItem>,
|
||||
@SerializedName("isBlock")
|
||||
val isBlock: Boolean
|
||||
val isBlock: Boolean,
|
||||
@SerializedName("isCreatorRole")
|
||||
val isCreator: Boolean
|
||||
)
|
||||
|
||||
@Keep
|
||||
|
|
|
@ -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<ActivityUserProfileBinding>(
|
|||
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<ActivityUserProfileBinding>(
|
|||
}
|
||||
|
||||
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()
|
||||
|
|
|
@ -55,6 +55,7 @@
|
|||
layout="@layout/layout_user_profile" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_activity_summary"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="13.3dp"
|
||||
|
@ -62,7 +63,8 @@
|
|||
android:background="@drawable/bg_round_corner_16_7_222222_3bb9f1"
|
||||
android:baselineAligned="false"
|
||||
android:gravity="center"
|
||||
android:padding="13.3dp">
|
||||
android:padding="13.3dp"
|
||||
android:visibility="gone">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_width="0dp"
|
||||
|
@ -209,7 +211,8 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="13.3dp"
|
||||
android:layout_marginTop="26.7dp" />
|
||||
android:layout_marginTop="26.7dp"
|
||||
android:visibility="gone" />
|
||||
|
||||
<include
|
||||
android:id="@+id/layout_creator_channel_series"
|
||||
|
@ -238,26 +241,36 @@
|
|||
android:layout_marginTop="26.7dp"
|
||||
android:visibility="gone" />
|
||||
|
||||
<include
|
||||
android:id="@+id/layout_user_profile_introduce"
|
||||
layout="@layout/layout_user_profile_introduce"
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_user_profile_introduce"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="13.3dp"
|
||||
android:layout_marginTop="26.7dp" />
|
||||
android:orientation="vertical"
|
||||
android:visibility="gone">
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginHorizontal="13.3dp"
|
||||
android:layout_marginVertical="26.7dp"
|
||||
android:background="@color/color_88909090" />
|
||||
<include
|
||||
android:id="@+id/layout_user_profile_introduce"
|
||||
layout="@layout/layout_user_profile_introduce"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="13.3dp"
|
||||
android:layout_marginTop="26.7dp" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:layout_marginHorizontal="13.3dp"
|
||||
android:layout_marginTop="26.7dp"
|
||||
android:background="@color/color_88909090" />
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/ll_user_profile_donation"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
android:layout_marginTop="26.7dp"
|
||||
android:orientation="vertical"
|
||||
android:visibility="gone">
|
||||
|
||||
<include
|
||||
android:id="@+id/layout_user_profile_donation"
|
||||
|
@ -269,7 +282,7 @@
|
|||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="6.7dp"
|
||||
android:layout_marginVertical="26.7dp"
|
||||
android:layout_marginTop="26.7dp"
|
||||
android:background="@color/color_232323" />
|
||||
</LinearLayout>
|
||||
|
||||
|
@ -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" />
|
||||
</LinearLayout>
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
</RelativeLayout>
|
||||
|
|
|
@ -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" />
|
||||
</RelativeLayout>
|
||||
|
||||
<TextView
|
||||
|
|
Loading…
Reference in New Issue