|
|
@@ -2,7 +2,6 @@ package com.adealink.weparty.room.applymic
|
|
|
|
|
|
import android.graphics.Color
|
|
|
import android.os.Bundle
|
|
|
-import androidx.fragment.app.activityViewModels
|
|
|
import androidx.fragment.app.viewModels
|
|
|
import androidx.recyclerview.widget.LinearLayoutManager
|
|
|
import androidx.recyclerview.widget.RecyclerView
|
|
|
@@ -17,11 +16,11 @@ import com.adealink.weparty.commonui.ext.show
|
|
|
import com.adealink.weparty.commonui.recycleview.adapter.MultiTypeListAdapter
|
|
|
import com.adealink.weparty.commonui.toast.util.showFailedToast
|
|
|
import com.adealink.weparty.commonui.widget.BottomDialogFragment
|
|
|
+import com.adealink.weparty.module.playmate.data.PlaymateCategoryData
|
|
|
import com.adealink.weparty.module.room.Room
|
|
|
import com.adealink.weparty.room.R
|
|
|
import com.adealink.weparty.room.applymic.adapter.HostApplyMemberViewBinder
|
|
|
import com.adealink.weparty.room.applymic.data.APPLY_MIC_LIST_TYPE_ALL
|
|
|
-import com.adealink.weparty.room.applymic.data.APPLY_MIC_LIST_TYPE_GUEST
|
|
|
import com.adealink.weparty.room.applymic.data.ApplyMicItemData
|
|
|
import com.adealink.weparty.room.applymic.viewmodel.ApplyMicViewModel
|
|
|
import com.adealink.weparty.room.databinding.FragmentRoomApplyMicListBinding
|
|
|
@@ -39,16 +38,23 @@ class HostApplyListFragment : BaseFragment(R.layout.fragment_room_apply_mic_list
|
|
|
private val listViewModel by viewModels<ApplyMicViewModel>()
|
|
|
|
|
|
private var searchType: Int = APPLY_MIC_LIST_TYPE_ALL
|
|
|
+
|
|
|
+ private var showFilter: Boolean = false
|
|
|
private var skillCategories: List<String>? = null
|
|
|
|
|
|
- fun setSearchType(searchType: Int, skillCategories: List<String>?) {
|
|
|
+ fun setSearchType(searchType: Int, showFilter: Boolean) {
|
|
|
this.searchType = searchType
|
|
|
- this.skillCategories = skillCategories
|
|
|
+ this.showFilter = showFilter
|
|
|
}
|
|
|
|
|
|
override fun initViews() {
|
|
|
super.initViews()
|
|
|
|
|
|
+ binding.btnFilter.show(showFilter)
|
|
|
+ binding.btnFilter.onClick {
|
|
|
+ showFilter()
|
|
|
+ }
|
|
|
+
|
|
|
binding.vRefresh.setEnableRefresh(true)
|
|
|
binding.vRefresh.setEnableLoadMore(true)
|
|
|
binding.vRefresh.setEnableAutoLoadMore(true)
|
|
|
@@ -113,7 +119,7 @@ class HostApplyListFragment : BaseFragment(R.layout.fragment_room_apply_mic_list
|
|
|
if (roomId.isNullOrEmpty()) {
|
|
|
return
|
|
|
}
|
|
|
- listViewModel.pullList(roomId, searchType, null)
|
|
|
+ listViewModel.pullList(roomId, searchType, skillCategories)
|
|
|
}
|
|
|
|
|
|
private fun onAvatarClick(item: ApplyMicItemData) {
|
|
|
@@ -137,6 +143,28 @@ class HostApplyListFragment : BaseFragment(R.layout.fragment_room_apply_mic_list
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private fun showFilter() {
|
|
|
+ ApplyMicFilterDialog().apply {
|
|
|
+ setListener(object : ApplyMicFilterDialog.OnCategorySelectListener {
|
|
|
+ override fun onSelect(skill: PlaymateCategoryData) {
|
|
|
+ notifyMemberListRefresh(skill.code)
|
|
|
+ }
|
|
|
+
|
|
|
+ override fun onSelectAll() {
|
|
|
+ notifyMemberListRefresh(null)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ setCurrentSelect(skillCategories?.firstOrNull())
|
|
|
+ }.show(childFragmentManager)
|
|
|
+ }
|
|
|
+
|
|
|
+ private fun notifyMemberListRefresh(category: String?) {
|
|
|
+ this.skillCategories = category?.let {
|
|
|
+ listOf(it)
|
|
|
+ }
|
|
|
+ binding.vRefresh.autoRefresh()
|
|
|
+ }
|
|
|
+
|
|
|
private fun clearAllApply() {
|
|
|
val roomId = roomService.joinController.getJoinedRoomId()
|
|
|
if (roomId.isNullOrEmpty()) {
|