mirror of
https://github.com/mediathekview/zapp.git
synced 2024-09-20 04:12:14 +02:00
Show same context menu for all mediathek items
This commit is contained in:
parent
09b6eeee97
commit
489ddb2a44
@ -2,7 +2,6 @@ package de.christinecoenen.code.zapp.app.mediathek.ui.list
|
||||
|
||||
import android.os.Bundle
|
||||
import android.view.*
|
||||
import android.widget.PopupMenu
|
||||
import androidx.activity.OnBackPressedCallback
|
||||
import androidx.core.view.MenuProvider
|
||||
import androidx.core.view.isVisible
|
||||
@ -24,6 +23,7 @@ import de.christinecoenen.code.zapp.app.mediathek.ui.list.adapter.FooterLoadStat
|
||||
import de.christinecoenen.code.zapp.app.mediathek.ui.list.adapter.MediathekItemAdapter
|
||||
import de.christinecoenen.code.zapp.app.mediathek.ui.list.adapter.MediathekShowComparator
|
||||
import de.christinecoenen.code.zapp.app.mediathek.ui.list.adapter.MediathekShowListItemListener
|
||||
import de.christinecoenen.code.zapp.app.mediathek.ui.list.helper.ShowMenuHelper
|
||||
import de.christinecoenen.code.zapp.databinding.MediathekListFragmentBinding
|
||||
import de.christinecoenen.code.zapp.databinding.ViewNoShowsBinding
|
||||
import de.christinecoenen.code.zapp.models.shows.MediathekShow
|
||||
@ -64,8 +64,6 @@ class MediathekListFragment : Fragment(),
|
||||
private val viewmodel: MediathekListFragmentViewModel by viewModel()
|
||||
private lateinit var adapter: MediathekItemAdapter
|
||||
|
||||
private var longClickShow: MediathekShow? = null
|
||||
|
||||
private val backPressedCallback = object : OnBackPressedCallback(false) {
|
||||
override fun handleOnBackPressed() {
|
||||
// close bottom sheet first, before using system back button setting
|
||||
@ -210,12 +208,8 @@ class MediathekListFragment : Fragment(),
|
||||
}
|
||||
|
||||
override fun onShowLongClicked(show: MediathekShow, view: View) {
|
||||
longClickShow = show
|
||||
|
||||
PopupMenu(context, view, Gravity.TOP or Gravity.END).apply {
|
||||
inflate(R.menu.mediathek_detail_fragment)
|
||||
show()
|
||||
setOnMenuItemClickListener(::onContextMenuItemClicked)
|
||||
ShowMenuHelper(this, show).apply {
|
||||
showContextMenu(view)
|
||||
}
|
||||
}
|
||||
|
||||
@ -231,16 +225,6 @@ class MediathekListFragment : Fragment(),
|
||||
}
|
||||
}
|
||||
|
||||
private fun onContextMenuItemClicked(menuItem: MenuItem): Boolean {
|
||||
when (menuItem.itemId) {
|
||||
R.id.menu_share -> {
|
||||
longClickShow?.shareExternally(requireContext())
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
private fun onQueryInfoResultChanged(queryInfoResult: QueryInfoResult?) {
|
||||
if (queryInfoResult == null) {
|
||||
binding.filter.queryInfo.visibility = View.INVISIBLE
|
||||
|
@ -11,6 +11,7 @@ import androidx.recyclerview.widget.ConcatAdapter
|
||||
import de.christinecoenen.code.zapp.R
|
||||
import de.christinecoenen.code.zapp.app.mediathek.ui.list.adapter.MediathekItemType
|
||||
import de.christinecoenen.code.zapp.app.mediathek.ui.list.adapter.MediathekShowListItemListener
|
||||
import de.christinecoenen.code.zapp.app.mediathek.ui.list.helper.ShowMenuHelper
|
||||
import de.christinecoenen.code.zapp.app.personal.adapter.HeaderAdapater
|
||||
import de.christinecoenen.code.zapp.app.personal.adapter.LoadStatusAdapter
|
||||
import de.christinecoenen.code.zapp.app.personal.adapter.MediathekShowListAdapter
|
||||
@ -41,7 +42,9 @@ class PersonalFragment : Fragment(), MenuProvider {
|
||||
}
|
||||
|
||||
override fun onShowLongClicked(show: MediathekShow, view: View) {
|
||||
// TODO: implement
|
||||
ShowMenuHelper(this@PersonalFragment, show).apply {
|
||||
showContextMenu(view)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -51,7 +54,11 @@ class PersonalFragment : Fragment(), MenuProvider {
|
||||
downloadsAdapter =
|
||||
MediathekShowListAdapter(lifecycleScope, MediathekItemType.Download, showClickListener)
|
||||
continueWatchingAdapter =
|
||||
MediathekShowListAdapter(lifecycleScope, MediathekItemType.ContinueWatching, showClickListener)
|
||||
MediathekShowListAdapter(
|
||||
lifecycleScope,
|
||||
MediathekItemType.ContinueWatching,
|
||||
showClickListener
|
||||
)
|
||||
bookmarkAdapter =
|
||||
MediathekShowListAdapter(lifecycleScope, MediathekItemType.Bookmark, showClickListener)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user