diff --git a/app/src/main/java/com/futo/platformplayer/UISlideOverlays.kt b/app/src/main/java/com/futo/platformplayer/UISlideOverlays.kt index 671dcb65..f846cd97 100644 --- a/app/src/main/java/com/futo/platformplayer/UISlideOverlays.kt +++ b/app/src/main/java/com/futo/platformplayer/UISlideOverlays.kt @@ -739,7 +739,7 @@ class UISlideOverlays { } - fun showMoreButtonOverlay(container: ViewGroup, buttonGroup: RoundButtonGroup, ignoreTags: List = listOf(), onPinnedbuttons: ((List)->Unit)? = null): SlideUpMenuOverlay { + fun showMoreButtonOverlay(container: ViewGroup, buttonGroup: RoundButtonGroup, ignoreTags: List = listOf(), invokeParents: Boolean = true, onPinnedbuttons: ((List)->Unit)? = null): SlideUpMenuOverlay { val visible = buttonGroup.getVisibleButtons().filter { !ignoreTags.contains(it.tagRef) }; val hidden = buttonGroup.getInvisibleButtons().filter { !ignoreTags.contains(it.tagRef) }; @@ -747,7 +747,7 @@ class UISlideOverlays { hidden .map { btn -> SlideUpMenuItem(container.context, btn.iconResource, btn.text.text.toString(), "", "", { btn.handler?.invoke(btn); - }, true) as View }.toTypedArray(), + }, invokeParents) as View }.toTypedArray(), arrayOf(SlideUpMenuItem(container.context, R.drawable.ic_pin, container.context.getString(R.string.change_pins), container.context.getString(R.string.decide_which_buttons_should_be_pinned), "", { showOrderOverlay(container, container.context.getString(R.string.select_your_pins_in_order), (visible + hidden).map { Pair(it.text.text.toString(), it.tagRef!!) }) { val selected = it diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt index aa8cb71b..de122c1d 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt @@ -437,11 +437,11 @@ class VideoDetailView : ConstraintLayout { var buttonMore: RoundButton? = null; buttonMore = RoundButton(context, R.drawable.ic_menu, context.getString(R.string.more), TAG_MORE) { - _slideUpOverlay = UISlideOverlays.showMoreButtonOverlay(_overlayContainer, _buttonPins, listOf(TAG_MORE)) {selected -> + _slideUpOverlay = UISlideOverlays.showMoreButtonOverlay(_overlayContainer, _buttonPins, listOf(TAG_MORE), false) {selected -> _buttonPins.setButtons(*(selected + listOf(buttonMore!!)).toTypedArray()); _buttonPinStore.set(*selected.filter { it.tagRef is String }.map{ it.tagRef as String }.toTypedArray()) _buttonPinStore.save(); - } + }; }; _buttonMore = buttonMore; updateMoreButtons(); @@ -769,6 +769,7 @@ class VideoDetailView : ConstraintLayout { Logger.e(TAG, "Failed to reopen live chat", ex); } } + _slideUpOverlay?.hide(); } else null, RoundButton(context, R.drawable.ic_screen_share, context.getString(R.string.background), TAG_BACKGROUND) { if(!allowBackground) { @@ -781,6 +782,7 @@ class VideoDetailView : ConstraintLayout { allowBackground = false; it.text.text = resources.getString(R.string.background); } + _slideUpOverlay?.hide(); }, RoundButton(context, R.drawable.ic_download, context.getString(R.string.download), TAG_DOWNLOAD) { video?.let { @@ -793,11 +795,13 @@ class VideoDetailView : ConstraintLayout { preventPictureInPicture = true; shareVideo(); }; + _slideUpOverlay?.hide(); }, RoundButton(context, R.drawable.ic_screen_share, context.getString(R.string.overlay), TAG_OVERLAY) { this.startPictureInPicture(); fragment.forcePictureInPicture(); //PiPActivity.startPiP(context); + _slideUpOverlay?.hide(); }, RoundButton(context, R.drawable.ic_export, context.getString(R.string.page), TAG_OPEN) { video?.let { @@ -805,9 +809,11 @@ class VideoDetailView : ConstraintLayout { fragment.navigate(url); fragment.minimizeVideoDetail(); }; + _slideUpOverlay?.hide(); }, RoundButton(context, R.drawable.ic_refresh, context.getString(R.string.reload), "Reload") { reloadVideo(); + _slideUpOverlay?.hide(); }).filterNotNull(); if(!_buttonPinStore.getAllValues().any()) _buttonPins.setButtons(*(buttons + listOf(_buttonMore)).toTypedArray());