parent
ae378409b9
commit
b3351ceb8b
|
@ -1,22 +1,38 @@
|
||||||
package kr.co.vividnext.sodalive.audio_content.box
|
package kr.co.vividnext.sodalive.audio_content.box
|
||||||
|
|
||||||
|
import android.os.Handler
|
||||||
|
import android.os.Looper
|
||||||
import android.widget.LinearLayout
|
import android.widget.LinearLayout
|
||||||
import com.google.android.material.tabs.TabLayout
|
import com.google.android.material.tabs.TabLayout
|
||||||
import kr.co.vividnext.sodalive.R
|
import kr.co.vividnext.sodalive.R
|
||||||
import kr.co.vividnext.sodalive.audio_content.order.AudioContentOrderListFragment
|
import kr.co.vividnext.sodalive.audio_content.order.AudioContentOrderListFragment
|
||||||
import kr.co.vividnext.sodalive.audio_content.playlist.AudioContentPlaylistListFragment
|
import kr.co.vividnext.sodalive.audio_content.playlist.AudioContentPlaylistListFragment
|
||||||
import kr.co.vividnext.sodalive.base.BaseActivity
|
import kr.co.vividnext.sodalive.base.BaseActivity
|
||||||
|
import kr.co.vividnext.sodalive.common.Constants
|
||||||
import kr.co.vividnext.sodalive.databinding.ActivityAudioContentBoxBinding
|
import kr.co.vividnext.sodalive.databinding.ActivityAudioContentBoxBinding
|
||||||
|
|
||||||
class AudioContentBoxActivity : BaseActivity<ActivityAudioContentBoxBinding>(
|
class AudioContentBoxActivity : BaseActivity<ActivityAudioContentBoxBinding>(
|
||||||
ActivityAudioContentBoxBinding::inflate
|
ActivityAudioContentBoxBinding::inflate
|
||||||
) {
|
) {
|
||||||
|
private var startTabPosition = 0
|
||||||
|
|
||||||
override fun setupView() {
|
override fun setupView() {
|
||||||
|
startTabPosition = intent.getIntExtra(Constants.EXTRA_START_TAB_POSITION, 0)
|
||||||
|
|
||||||
setupToolbar()
|
setupToolbar()
|
||||||
setupTabs()
|
setupTabs()
|
||||||
|
|
||||||
|
binding.tabs.getTabAt(startTabPosition)?.select()
|
||||||
|
|
||||||
supportFragmentManager.beginTransaction()
|
supportFragmentManager.beginTransaction()
|
||||||
.replace(R.id.fl_container, AudioContentOrderListFragment())
|
.replace(
|
||||||
|
R.id.fl_container,
|
||||||
|
if (startTabPosition == 1) {
|
||||||
|
AudioContentPlaylistListFragment()
|
||||||
|
} else {
|
||||||
|
AudioContentOrderListFragment()
|
||||||
|
}
|
||||||
|
)
|
||||||
.commit()
|
.commit()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -30,6 +30,7 @@ object Constants {
|
||||||
const val EXTRA_USER_ID = "extra_user_id"
|
const val EXTRA_USER_ID = "extra_user_id"
|
||||||
const val EXTRA_THEME_ID = "extra_theme_id"
|
const val EXTRA_THEME_ID = "extra_theme_id"
|
||||||
const val EXTRA_SERIES_ID = "extra_series_id"
|
const val EXTRA_SERIES_ID = "extra_series_id"
|
||||||
|
const val EXTRA_START_TAB_POSITION = "extra_start_tab"
|
||||||
const val EXTRA_NICKNAME = "extra_nickname"
|
const val EXTRA_NICKNAME = "extra_nickname"
|
||||||
const val EXTRA_MESSAGE_ID = "extra_message_id"
|
const val EXTRA_MESSAGE_ID = "extra_message_id"
|
||||||
const val EXTRA_AUDITION_ID = "extra_audition_id"
|
const val EXTRA_AUDITION_ID = "extra_audition_id"
|
||||||
|
|
|
@ -2,29 +2,23 @@ package kr.co.vividnext.sodalive.mypage
|
||||||
|
|
||||||
import android.annotation.SuppressLint
|
import android.annotation.SuppressLint
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.graphics.Rect
|
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.View
|
import android.view.View
|
||||||
import android.webkit.URLUtil
|
import android.webkit.URLUtil
|
||||||
import android.widget.LinearLayout
|
import android.widget.LinearLayout
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.recyclerview.widget.LinearLayoutManager
|
|
||||||
import androidx.recyclerview.widget.RecyclerView
|
|
||||||
import coil.load
|
import coil.load
|
||||||
import coil.transform.CircleCropTransformation
|
import coil.transform.CircleCropTransformation
|
||||||
import com.google.gson.Gson
|
import com.google.gson.Gson
|
||||||
import kr.co.vividnext.sodalive.R
|
import kr.co.vividnext.sodalive.R
|
||||||
import kr.co.vividnext.sodalive.audio_content.detail.AudioContentDetailActivity
|
import kr.co.vividnext.sodalive.audio_content.box.AudioContentBoxActivity
|
||||||
import kr.co.vividnext.sodalive.audio_content.order.AudioContentOrderListActivity
|
|
||||||
import kr.co.vividnext.sodalive.audio_content.order.AudioContentOrderListAdapter
|
|
||||||
import kr.co.vividnext.sodalive.base.BaseFragment
|
import kr.co.vividnext.sodalive.base.BaseFragment
|
||||||
import kr.co.vividnext.sodalive.common.Constants
|
import kr.co.vividnext.sodalive.common.Constants
|
||||||
import kr.co.vividnext.sodalive.common.LoadingDialog
|
import kr.co.vividnext.sodalive.common.LoadingDialog
|
||||||
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
||||||
import kr.co.vividnext.sodalive.databinding.FragmentMyBinding
|
import kr.co.vividnext.sodalive.databinding.FragmentMyBinding
|
||||||
import kr.co.vividnext.sodalive.explorer.profile.UserProfileActivity
|
import kr.co.vividnext.sodalive.explorer.profile.UserProfileActivity
|
||||||
import kr.co.vividnext.sodalive.extensions.dpToPx
|
|
||||||
import kr.co.vividnext.sodalive.extensions.moneyFormat
|
import kr.co.vividnext.sodalive.extensions.moneyFormat
|
||||||
import kr.co.vividnext.sodalive.following.FollowingCreatorActivity
|
import kr.co.vividnext.sodalive.following.FollowingCreatorActivity
|
||||||
import kr.co.vividnext.sodalive.live.reservation_status.LiveReservationStatusActivity
|
import kr.co.vividnext.sodalive.live.reservation_status.LiveReservationStatusActivity
|
||||||
|
@ -47,7 +41,6 @@ class MyPageFragment : BaseFragment<FragmentMyBinding>(FragmentMyBinding::inflat
|
||||||
private val viewModel: MyPageViewModel by inject()
|
private val viewModel: MyPageViewModel by inject()
|
||||||
|
|
||||||
private lateinit var loadingDialog: LoadingDialog
|
private lateinit var loadingDialog: LoadingDialog
|
||||||
private lateinit var orderListAdapter: AudioContentOrderListAdapter
|
|
||||||
|
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
@ -63,42 +56,6 @@ class MyPageFragment : BaseFragment<FragmentMyBinding>(FragmentMyBinding::inflat
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun setupView() {
|
private fun setupView() {
|
||||||
orderListAdapter = AudioContentOrderListAdapter {
|
|
||||||
startActivity(
|
|
||||||
Intent(requireContext(), AudioContentDetailActivity::class.java)
|
|
||||||
.apply { putExtra(Constants.EXTRA_AUDIO_CONTENT_ID, it) }
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
binding.rvOrderList.layoutManager = LinearLayoutManager(
|
|
||||||
requireContext(),
|
|
||||||
LinearLayoutManager.VERTICAL,
|
|
||||||
false
|
|
||||||
)
|
|
||||||
|
|
||||||
binding.rvOrderList.addItemDecoration(object : RecyclerView.ItemDecoration() {
|
|
||||||
override fun getItemOffsets(
|
|
||||||
outRect: Rect,
|
|
||||||
view: View,
|
|
||||||
parent: RecyclerView,
|
|
||||||
state: RecyclerView.State
|
|
||||||
) {
|
|
||||||
super.getItemOffsets(outRect, view, parent, state)
|
|
||||||
|
|
||||||
when (parent.getChildAdapterPosition(view)) {
|
|
||||||
orderListAdapter.itemCount - 1 -> {
|
|
||||||
outRect.bottom = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
else -> {
|
|
||||||
outRect.bottom = 13.3f.dpToPx().toInt()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
binding.rvOrderList.adapter = orderListAdapter
|
|
||||||
|
|
||||||
binding.ivSettings.setOnClickListener {
|
binding.ivSettings.setOnClickListener {
|
||||||
startActivity(
|
startActivity(
|
||||||
Intent(
|
Intent(
|
||||||
|
@ -213,6 +170,20 @@ class MyPageFragment : BaseFragment<FragmentMyBinding>(FragmentMyBinding::inflat
|
||||||
startActivity(Intent(requireContext(), BlockMemberActivity::class.java))
|
startActivity(Intent(requireContext(), BlockMemberActivity::class.java))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
binding.tvOrderList.setOnClickListener {
|
||||||
|
startActivity(
|
||||||
|
Intent(requireContext(), AudioContentBoxActivity::class.java)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
binding.tvPlaylist.setOnClickListener {
|
||||||
|
startActivity(
|
||||||
|
Intent(requireContext(), AudioContentBoxActivity::class.java).apply {
|
||||||
|
putExtra(Constants.EXTRA_START_TAB_POSITION, 1)
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
val ivHowToUseLp = binding.ivHowToUse.layoutParams as LinearLayout.LayoutParams
|
val ivHowToUseLp = binding.ivHowToUse.layoutParams as LinearLayout.LayoutParams
|
||||||
ivHowToUseLp.width = screenWidth
|
ivHowToUseLp.width = screenWidth
|
||||||
ivHowToUseLp.height = (200 * screenWidth) / 1080
|
ivHowToUseLp.height = (200 * screenWidth) / 1080
|
||||||
|
@ -293,23 +264,6 @@ class MyPageFragment : BaseFragment<FragmentMyBinding>(FragmentMyBinding::inflat
|
||||||
|
|
||||||
binding.tvTotalCan.text = (it.chargeCan + it.rewardCan).moneyFormat()
|
binding.tvTotalCan.text = (it.chargeCan + it.rewardCan).moneyFormat()
|
||||||
binding.tvReservationLive.text = "${it.liveReservationCount}"
|
binding.tvReservationLive.text = "${it.liveReservationCount}"
|
||||||
|
|
||||||
if (it.orderList.totalCount > 0) {
|
|
||||||
binding.llOrderList.visibility = View.VISIBLE
|
|
||||||
orderListAdapter.items.addAll(it.orderList.items)
|
|
||||||
orderListAdapter.notifyDataSetChanged()
|
|
||||||
|
|
||||||
binding.tvAllOrderList.setOnClickListener {
|
|
||||||
startActivity(
|
|
||||||
Intent(
|
|
||||||
requireContext(),
|
|
||||||
AudioContentOrderListActivity::class.java
|
|
||||||
)
|
|
||||||
)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
binding.llOrderList.visibility = View.GONE
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,5 @@ data class MyPageResponse(
|
||||||
@SerializedName("blogUrl") val blogUrl: String?,
|
@SerializedName("blogUrl") val blogUrl: String?,
|
||||||
@SerializedName("liveReservationCount") val liveReservationCount: Int,
|
@SerializedName("liveReservationCount") val liveReservationCount: Int,
|
||||||
@SerializedName("likeCount") val likeCount: Int,
|
@SerializedName("likeCount") val likeCount: Int,
|
||||||
@SerializedName("isAuth") val isAuth: Boolean,
|
@SerializedName("isAuth") val isAuth: Boolean
|
||||||
@SerializedName("orderList") val orderList: GetAudioContentOrderListResponse
|
|
||||||
)
|
)
|
||||||
|
|
|
@ -167,28 +167,28 @@
|
||||||
android:id="@+id/tv_following_list"
|
android:id="@+id/tv_following_list"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginEnd="8dp"
|
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:background="@drawable/bg_round_corner_6_7_transparent_3bb9f1"
|
android:background="@drawable/bg_round_corner_6_7_13181b_3bb9f1"
|
||||||
android:fontFamily="@font/gmarket_sans_bold"
|
android:fontFamily="@font/gmarket_sans_bold"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:paddingVertical="13.3dp"
|
android:paddingVertical="13.3dp"
|
||||||
android:text="팔로잉 리스트"
|
android:text="팔로잉 리스트"
|
||||||
android:textColor="@color/color_3bb9f1"
|
android:textColor="@color/color_3bb9f1"
|
||||||
android:textSize="15.3sp" />
|
android:textSize="14.7sp" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/tv_block_member_list"
|
android:id="@+id/tv_block_member_list"
|
||||||
android:layout_width="0dp"
|
android:layout_width="0dp"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_weight="1"
|
android:layout_weight="1"
|
||||||
android:background="@drawable/bg_round_corner_6_7_transparent_3bb9f1"
|
android:background="@drawable/bg_round_corner_6_7_13181b_3bb9f1"
|
||||||
android:fontFamily="@font/gmarket_sans_bold"
|
android:fontFamily="@font/gmarket_sans_bold"
|
||||||
|
android:layout_marginStart="10.7dp"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:paddingVertical="13.3dp"
|
android:paddingVertical="13.3dp"
|
||||||
android:text="차단 리스트"
|
android:text="차단 리스트"
|
||||||
android:textColor="@color/color_3bb9f1"
|
android:textColor="@color/color_3bb9f1"
|
||||||
android:textSize="15.3sp" />
|
android:textSize="14.7sp" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
|
@ -327,6 +327,55 @@
|
||||||
android:src="@drawable/ic_forward" />
|
android:src="@drawable/ic_forward" />
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="40dp"
|
||||||
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:layout_width="wrap_content"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:fontFamily="@font/gmarket_sans_bold"
|
||||||
|
android:text="내 보관함"
|
||||||
|
android:textColor="@color/color_eeeeee"
|
||||||
|
android:textSize="18.3sp" />
|
||||||
|
|
||||||
|
<LinearLayout
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="13.3dp"
|
||||||
|
android:orientation="horizontal">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_order_list"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:background="@drawable/bg_round_corner_6_7_13181b_3bb9f1"
|
||||||
|
android:fontFamily="@font/gmarket_sans_bold"
|
||||||
|
android:gravity="center"
|
||||||
|
android:paddingVertical="13.3dp"
|
||||||
|
android:text="구매목록"
|
||||||
|
android:textColor="@color/color_3bb9f1"
|
||||||
|
android:textSize="14.7sp" />
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/tv_playlist"
|
||||||
|
android:layout_width="0dp"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginStart="10.7dp"
|
||||||
|
android:layout_weight="1"
|
||||||
|
android:background="@drawable/bg_round_corner_6_7_13181b_3bb9f1"
|
||||||
|
android:fontFamily="@font/gmarket_sans_bold"
|
||||||
|
android:gravity="center"
|
||||||
|
android:paddingVertical="13.3dp"
|
||||||
|
android:text="재생목록"
|
||||||
|
android:textColor="@color/color_3bb9f1"
|
||||||
|
android:textSize="14.7sp" />
|
||||||
|
</LinearLayout>
|
||||||
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
|
@ -363,7 +412,7 @@
|
||||||
android:layout_marginEnd="4dp"
|
android:layout_marginEnd="4dp"
|
||||||
android:fontFamily="@font/gmarket_sans_bold"
|
android:fontFamily="@font/gmarket_sans_bold"
|
||||||
android:text="라이브"
|
android:text="라이브"
|
||||||
android:textColor="@color/color_80d8ff"
|
android:textColor="@color/color_3bb9f1"
|
||||||
android:textSize="14.7sp" />
|
android:textSize="14.7sp" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -371,52 +420,12 @@
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:fontFamily="@font/gmarket_sans_medium"
|
android:fontFamily="@font/gmarket_sans_medium"
|
||||||
android:textColor="@color/color_80d8ff"
|
android:textColor="@color/color_3bb9f1"
|
||||||
android:textSize="14.7sp"
|
android:textSize="14.7sp"
|
||||||
tools:text="3" />
|
tools:text="3" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<LinearLayout
|
|
||||||
android:id="@+id/ll_order_list"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="40dp"
|
|
||||||
android:orientation="vertical"
|
|
||||||
android:visibility="gone">
|
|
||||||
|
|
||||||
<RelativeLayout
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content">
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:fontFamily="@font/gmarket_sans_bold"
|
|
||||||
android:text="콘텐츠 보관함"
|
|
||||||
android:textColor="@color/color_eeeeee"
|
|
||||||
android:textSize="18sp" />
|
|
||||||
|
|
||||||
<TextView
|
|
||||||
android:id="@+id/tv_all_order_list"
|
|
||||||
android:layout_width="wrap_content"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignParentEnd="true"
|
|
||||||
android:layout_centerVertical="true"
|
|
||||||
android:fontFamily="@font/gmarket_sans_medium"
|
|
||||||
android:text="전체보기"
|
|
||||||
android:textColor="@color/color_bbbbbb"
|
|
||||||
android:textSize="11sp" />
|
|
||||||
</RelativeLayout>
|
|
||||||
|
|
||||||
<androidx.recyclerview.widget.RecyclerView
|
|
||||||
android:id="@+id/rv_order_list"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_marginTop="26.7dp" />
|
|
||||||
|
|
||||||
</LinearLayout>
|
|
||||||
|
|
||||||
<RelativeLayout
|
<RelativeLayout
|
||||||
android:id="@+id/rl_service_center"
|
android:id="@+id/rl_service_center"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|
Loading…
Reference in New Issue