Stops focus for Search button instead of looping

This commit is contained in:
KingLucius 2024-03-02 15:30:40 +02:00
parent 4b57297b6b
commit 4539ff5612

View file

@ -8,10 +8,8 @@ import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.view.animation.DecelerateInterpolator import android.view.animation.DecelerateInterpolator
import android.widget.LinearLayout
import android.widget.Toast import android.widget.Toast
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.core.view.children
import androidx.core.view.isGone import androidx.core.view.isGone
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.core.widget.NestedScrollView import androidx.core.widget.NestedScrollView
@ -42,7 +40,6 @@ import com.lagradost.cloudstream3.ui.search.SEARCH_ACTION_FOCUSED
import com.lagradost.cloudstream3.ui.search.SearchAdapter import com.lagradost.cloudstream3.ui.search.SearchAdapter
import com.lagradost.cloudstream3.ui.search.SearchHelper import com.lagradost.cloudstream3.ui.search.SearchHelper
import com.lagradost.cloudstream3.ui.settings.SettingsFragment.Companion.isEmulatorSettings import com.lagradost.cloudstream3.ui.settings.SettingsFragment.Companion.isEmulatorSettings
import com.lagradost.cloudstream3.utils.AppUtils.getNameFull
import com.lagradost.cloudstream3.utils.AppUtils.html import com.lagradost.cloudstream3.utils.AppUtils.html
import com.lagradost.cloudstream3.utils.AppUtils.isRtl import com.lagradost.cloudstream3.utils.AppUtils.isRtl
import com.lagradost.cloudstream3.utils.AppUtils.loadCache import com.lagradost.cloudstream3.utils.AppUtils.loadCache
@ -136,14 +133,6 @@ class ResultFragmentTv : Fragment() {
binding?.resultPlaySeriesButton?.requestFocus() binding?.resultPlaySeriesButton?.requestFocus()
binding?.resultResumeSeriesButton?.requestFocus() binding?.resultResumeSeriesButton?.requestFocus()
} }
private fun setFocusRotation(id: Int)
{
binding?.apply {
(resultPlayParent.children.filter { view ->
view.isVisible
}.toList().lastOrNull() as LinearLayout).getChildAt(0)?.nextFocusRightId = id
}
}
private fun setRecommendations(rec: List<SearchResponse>?, validApiName: String?) { private fun setRecommendations(rec: List<SearchResponse>?, validApiName: String?) {
currentRecommendations = rec ?: emptyList() currentRecommendations = rec ?: emptyList()
@ -484,7 +473,9 @@ class ResultFragmentTv : Fragment() {
resultResumeSeries.isVisible = true resultResumeSeries.isVisible = true
focusPlayButton() focusPlayButton()
if (resume.isMovie) setFocusRotation(R.id.result_resume_series_button) // Stops last button right focus if it is a movie
if (resume.isMovie)
resultSearchButton.nextFocusRightId = R.id.result_search_Button
resultResumeSeriesText.text = resultResumeSeriesText.text =
if (resume.isMovie) context?.getString(R.string.resume) else "${getString(R.string.season_short)}${resume.result.season}:${getString(R.string.episode_short)}${resume.result.episode}" if (resume.isMovie) context?.getString(R.string.resume) else "${getString(R.string.season_short)}${resume.result.season}:${getString(R.string.episode_short)}${resume.result.episode}"
@ -654,7 +645,9 @@ class ResultFragmentTv : Fragment() {
} }
//focusPlayButton() //focusPlayButton()
resultPlayMovieButton.requestFocus() resultPlayMovieButton.requestFocus()
setFocusRotation(R.id.result_play_movie_button)
// Stops last button right focus
resultSearchButton.nextFocusRightId = R.id.result_search_Button
} }
} }
//focusPlayButton() //focusPlayButton()