마이페이지
- 내 보관함 이동 버튼 추가
This commit is contained in:
@@ -1,22 +1,38 @@
|
||||
package kr.co.vividnext.sodalive.audio_content.box
|
||||
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
import android.widget.LinearLayout
|
||||
import com.google.android.material.tabs.TabLayout
|
||||
import kr.co.vividnext.sodalive.R
|
||||
import kr.co.vividnext.sodalive.audio_content.order.AudioContentOrderListFragment
|
||||
import kr.co.vividnext.sodalive.audio_content.playlist.AudioContentPlaylistListFragment
|
||||
import kr.co.vividnext.sodalive.base.BaseActivity
|
||||
import kr.co.vividnext.sodalive.common.Constants
|
||||
import kr.co.vividnext.sodalive.databinding.ActivityAudioContentBoxBinding
|
||||
|
||||
class AudioContentBoxActivity : BaseActivity<ActivityAudioContentBoxBinding>(
|
||||
ActivityAudioContentBoxBinding::inflate
|
||||
) {
|
||||
private var startTabPosition = 0
|
||||
|
||||
override fun setupView() {
|
||||
startTabPosition = intent.getIntExtra(Constants.EXTRA_START_TAB_POSITION, 0)
|
||||
|
||||
setupToolbar()
|
||||
setupTabs()
|
||||
|
||||
binding.tabs.getTabAt(startTabPosition)?.select()
|
||||
|
||||
supportFragmentManager.beginTransaction()
|
||||
.replace(R.id.fl_container, AudioContentOrderListFragment())
|
||||
.replace(
|
||||
R.id.fl_container,
|
||||
if (startTabPosition == 1) {
|
||||
AudioContentPlaylistListFragment()
|
||||
} else {
|
||||
AudioContentOrderListFragment()
|
||||
}
|
||||
)
|
||||
.commit()
|
||||
}
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@ object Constants {
|
||||
const val EXTRA_USER_ID = "extra_user_id"
|
||||
const val EXTRA_THEME_ID = "extra_theme_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_MESSAGE_ID = "extra_message_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.content.Intent
|
||||
import android.graphics.Rect
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.view.View
|
||||
import android.webkit.URLUtil
|
||||
import android.widget.LinearLayout
|
||||
import android.widget.Toast
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import coil.load
|
||||
import coil.transform.CircleCropTransformation
|
||||
import com.google.gson.Gson
|
||||
import kr.co.vividnext.sodalive.R
|
||||
import kr.co.vividnext.sodalive.audio_content.detail.AudioContentDetailActivity
|
||||
import kr.co.vividnext.sodalive.audio_content.order.AudioContentOrderListActivity
|
||||
import kr.co.vividnext.sodalive.audio_content.order.AudioContentOrderListAdapter
|
||||
import kr.co.vividnext.sodalive.audio_content.box.AudioContentBoxActivity
|
||||
import kr.co.vividnext.sodalive.base.BaseFragment
|
||||
import kr.co.vividnext.sodalive.common.Constants
|
||||
import kr.co.vividnext.sodalive.common.LoadingDialog
|
||||
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
||||
import kr.co.vividnext.sodalive.databinding.FragmentMyBinding
|
||||
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.following.FollowingCreatorActivity
|
||||
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 lateinit var loadingDialog: LoadingDialog
|
||||
private lateinit var orderListAdapter: AudioContentOrderListAdapter
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
@@ -63,42 +56,6 @@ class MyPageFragment : BaseFragment<FragmentMyBinding>(FragmentMyBinding::inflat
|
||||
}
|
||||
|
||||
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 {
|
||||
startActivity(
|
||||
Intent(
|
||||
@@ -213,6 +170,20 @@ class MyPageFragment : BaseFragment<FragmentMyBinding>(FragmentMyBinding::inflat
|
||||
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
|
||||
ivHowToUseLp.width = screenWidth
|
||||
ivHowToUseLp.height = (200 * screenWidth) / 1080
|
||||
@@ -293,23 +264,6 @@ class MyPageFragment : BaseFragment<FragmentMyBinding>(FragmentMyBinding::inflat
|
||||
|
||||
binding.tvTotalCan.text = (it.chargeCan + it.rewardCan).moneyFormat()
|
||||
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("liveReservationCount") val liveReservationCount: Int,
|
||||
@SerializedName("likeCount") val likeCount: Int,
|
||||
@SerializedName("isAuth") val isAuth: Boolean,
|
||||
@SerializedName("orderList") val orderList: GetAudioContentOrderListResponse
|
||||
@SerializedName("isAuth") val isAuth: Boolean
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user