diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/order/AudioContentOrderListActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/order/AudioContentOrderListActivity.kt index 4796b26..8a0911f 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/order/AudioContentOrderListActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/order/AudioContentOrderListActivity.kt @@ -8,124 +8,32 @@ import android.view.View import android.widget.Toast import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView +import kr.co.vividnext.sodalive.R import kr.co.vividnext.sodalive.audio_content.detail.AudioContentDetailActivity import kr.co.vividnext.sodalive.base.BaseActivity import kr.co.vividnext.sodalive.common.Constants import kr.co.vividnext.sodalive.common.LoadingDialog import kr.co.vividnext.sodalive.databinding.ActivityAudioContentOrderListBinding import kr.co.vividnext.sodalive.extensions.dpToPx -import org.koin.android.ext.android.inject class AudioContentOrderListActivity : BaseActivity( ActivityAudioContentOrderListBinding::inflate ) { - private val viewModel: AudioContentOrderListViewModel by inject() - - private lateinit var loadingDialog: LoadingDialog - private lateinit var adapter: AudioContentOrderListAdapter - override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - bindData() - viewModel.getAudioContentOrderList { finish() } + supportFragmentManager.beginTransaction() + .replace(R.id.fl_container, AudioContentOrderListFragment()) + .commit() } override fun setupView() { - loadingDialog = LoadingDialog(this, layoutInflater) + setupToolbar() + } + + private fun setupToolbar() { binding.toolbar.tvBack.text = "콘텐츠 보관함" binding.toolbar.tvBack.setOnClickListener { finish() } - - adapter = AudioContentOrderListAdapter { - startActivity( - Intent(applicationContext, AudioContentDetailActivity::class.java) - .apply { putExtra(Constants.EXTRA_AUDIO_CONTENT_ID, it) } - ) - } - - binding.rvOrderList.layoutManager = LinearLayoutManager( - applicationContext, - 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) - - outRect.left = 13.3f.dpToPx().toInt() - outRect.right = 13.3f.dpToPx().toInt() - - when (parent.getChildAdapterPosition(view)) { - 0 -> { - outRect.top = 13.3f.dpToPx().toInt() - outRect.bottom = 6.7f.dpToPx().toInt() - } - - adapter.itemCount - 1 -> { - outRect.top = 6.7f.dpToPx().toInt() - outRect.bottom = 13.3f.dpToPx().toInt() - } - - else -> { - outRect.top = 6.7f.dpToPx().toInt() - outRect.bottom = 6.7f.dpToPx().toInt() - } - } - } - }) - - binding.rvOrderList.addOnScrollListener(object : RecyclerView.OnScrollListener() { - override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) { - super.onScrolled(recyclerView, dx, dy) - - val lastVisibleItemPosition = (recyclerView.layoutManager as LinearLayoutManager?)!! - .findLastCompletelyVisibleItemPosition() - val itemTotalCount = recyclerView.adapter!!.itemCount - 1 - - // 스크롤이 끝에 도달했는지 확인 - if (!recyclerView.canScrollVertically(1) && - lastVisibleItemPosition == itemTotalCount - ) { - viewModel.getAudioContentOrderList {} - } - } - }) - - binding.rvOrderList.adapter = adapter - } - - @SuppressLint("NotifyDataSetChanged") - private fun bindData() { - viewModel.toastLiveData.observe(this) { - it?.let { Toast.makeText(applicationContext, it, Toast.LENGTH_LONG).show() } - } - - viewModel.isLoading.observe(this) { - if (it) { - loadingDialog.show(screenWidth, "") - } else { - loadingDialog.dismiss() - } - } - - viewModel.orderList.observe(this) { - if (viewModel.page == 2) { - adapter.items.clear() - } - - adapter.items.addAll(it) - adapter.notifyDataSetChanged() - } - - viewModel.totalCount.observe(this) { - binding.tvTotalCount.text = "$it" - } } } diff --git a/app/src/main/res/layout/activity_audio_content_order_list.xml b/app/src/main/res/layout/activity_audio_content_order_list.xml index 7782e47..4dd4492 100644 --- a/app/src/main/res/layout/activity_audio_content_order_list.xml +++ b/app/src/main/res/layout/activity_audio_content_order_list.xml @@ -1,6 +1,6 @@ - - - - - - - - - - - - + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@+id/toolbar" /> +