0
0
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:
Christine Coenen 2022-11-19 09:29:45 +01:00
parent 09b6eeee97
commit 489ddb2a44
2 changed files with 12 additions and 21 deletions

View File

@ -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

View File

@ -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)