|
|
@@ -18,19 +18,21 @@ import com.adealink.weparty.commonui.ext.dp
|
|
|
import com.adealink.weparty.commonui.ext.gone
|
|
|
import com.adealink.weparty.commonui.ext.show
|
|
|
import com.adealink.weparty.commonui.recycleview.adapter.MultiTypeListAdapter
|
|
|
+import com.adealink.weparty.commonui.recycleview.diffutil.BaseListItemData
|
|
|
import com.adealink.weparty.commonui.recycleview.itemdecoration.VerticalSpaceItemDecoration
|
|
|
import com.adealink.weparty.commonui.toast.util.showFailedToast
|
|
|
import com.adealink.weparty.module.account.AccountModule
|
|
|
+import com.adealink.weparty.module.activity.data.BannerData
|
|
|
import com.adealink.weparty.module.playmate.Playmate
|
|
|
import com.adealink.weparty.module.playmate.data.PlaymateCategoryData
|
|
|
import com.adealink.weparty.module.playmate.data.TAG_PLAYMATE_LIST
|
|
|
import com.adealink.weparty.network.data.NoMoreDataError
|
|
|
import com.adealink.weparty.playmate.R
|
|
|
import com.adealink.weparty.playmate.data.PlaymateListData
|
|
|
-import com.adealink.weparty.playmate.data.PlaymateListItemData
|
|
|
import com.adealink.weparty.playmate.data.PriceSort
|
|
|
import com.adealink.weparty.playmate.data.StarOption
|
|
|
import com.adealink.weparty.playmate.databinding.FragmentPlaymateListBinding
|
|
|
+import com.adealink.weparty.playmate.list.adapter.PlaymateBannerItemViewBinder
|
|
|
import com.adealink.weparty.playmate.list.adapter.PlaymateListItemViewBinder
|
|
|
import com.adealink.weparty.playmate.list.comp.PlaymateListFilterComp
|
|
|
import com.adealink.weparty.playmate.list.viewmodel.GuestPlaymateListViewModel
|
|
|
@@ -42,7 +44,8 @@ import com.adealink.weparty.R as APP_R
|
|
|
|
|
|
@RouterUri(path = [Playmate.List.GUEST_PATH], desc = "(游客)陪玩列表")
|
|
|
class GuestPlaymateListFragment : BaseFragment(R.layout.fragment_playmate_list),
|
|
|
- PlaymateListItemViewBinder.OnPlaymateListListener {
|
|
|
+ PlaymateListItemViewBinder.OnPlaymateListListener,
|
|
|
+ PlaymateBannerItemViewBinder.OnBannerListener {
|
|
|
|
|
|
override val isLazyInit: Boolean = true
|
|
|
override val isLazyLoad: Boolean = true
|
|
|
@@ -54,7 +57,7 @@ class GuestPlaymateListFragment : BaseFragment(R.layout.fragment_playmate_list),
|
|
|
var category: PlaymateCategoryData? = null
|
|
|
|
|
|
private val binding by viewBinding(FragmentPlaymateListBinding::bind)
|
|
|
- private val listAdapter by fastLazy { MultiTypeListAdapter<PlaymateListItemData>() }
|
|
|
+ private val listAdapter by fastLazy { MultiTypeListAdapter<BaseListItemData>() }
|
|
|
private val playmateListViewModel by viewModels<GuestPlaymateListViewModel> { PlaymateViewModelFactory() }
|
|
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
|
@@ -91,6 +94,7 @@ class GuestPlaymateListFragment : BaseFragment(R.layout.fragment_playmate_list),
|
|
|
})
|
|
|
|
|
|
listAdapter.register(PlaymateListItemViewBinder(this, this))
|
|
|
+ listAdapter.register(PlaymateBannerItemViewBinder(this, this))
|
|
|
binding.vList.adapter = listAdapter
|
|
|
binding.vList.layoutManager = LinearLayoutManager(context, RecyclerView.VERTICAL, false)
|
|
|
binding.vList.addItemDecoration(VerticalSpaceItemDecoration(10.dp()))
|
|
|
@@ -167,9 +171,7 @@ class GuestPlaymateListFragment : BaseFragment(R.layout.fragment_playmate_list),
|
|
|
binding.vList.show()
|
|
|
binding.vErrorView.gone()
|
|
|
}
|
|
|
- listAdapter.submitList(list.map { data ->
|
|
|
- PlaymateListItemData(data)
|
|
|
- })
|
|
|
+ listAdapter.submitList(list)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -177,5 +179,8 @@ class GuestPlaymateListFragment : BaseFragment(R.layout.fragment_playmate_list),
|
|
|
AccountModule.showLoginDialog(activity?.supportFragmentManager)
|
|
|
}
|
|
|
|
|
|
+ override fun goBanner(bannerInfo: BannerData) {
|
|
|
+ AccountModule.showLoginDialog(activity?.supportFragmentManager)
|
|
|
+ }
|
|
|
|
|
|
}
|