From 943660f98e23244aa51ffbef70578bbc2ee547fa Mon Sep 17 00:00:00 2001 From: klaus Date: Fri, 29 Nov 2024 15:41:57 +0900 Subject: [PATCH] =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20=EB=B3=B4?= =?UTF-8?q?=EA=B4=80=ED=95=A8(=EA=B5=AC=EB=A7=A4=EB=AA=A9=EB=A1=9D)=20-=20?= =?UTF-8?q?=EC=A4=91=EB=B3=B5=EA=B5=AC=ED=98=84=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../order/AudioContentOrderListActivity.kt | 108 ++---------------- .../activity_audio_content_order_list.xml | 53 ++------- 2 files changed, 19 insertions(+), 142 deletions(-) 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" /> +