diff --git a/app/src/main/java/com/lagradost/cloudstream3/MainActivity.kt b/app/src/main/java/com/lagradost/cloudstream3/MainActivity.kt index 5d39f6554cd..99c5f189d37 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/MainActivity.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/MainActivity.kt @@ -746,7 +746,11 @@ class MainActivity : AppCompatActivity(), ColorPickerDialogListener, BiometricCa hierarchy.any { it.id == destId } private var lastNavTime = 0L - private fun onNavDestinationSelected(item: MenuItem, navController: NavController): Boolean { + private fun onNavDestinationSelected( + item: MenuItem, + navController: NavController, + navHostFragment: NavHostFragment, + ): Boolean { val currentTime = System.currentTimeMillis() // safeDebounce: Check if a previous tap happened within the last 400ms if (currentTime - lastNavTime < 400) return false @@ -755,7 +759,13 @@ class MainActivity : AppCompatActivity(), ColorPickerDialogListener, BiometricCa val destinationId = item.itemId // Check if we are already at the selected destination - if (navController.currentDestination?.id == destinationId) return false + if (navController.currentDestination?.id == destinationId) { + if (destinationId == R.id.navigation_search) { + (navHostFragment.childFragmentManager.primaryNavigationFragment as? SearchFragment) + ?.focusSearchInput() + } + return false + } // Make all nav buttons focus on this specific view when nextFocusRightId val targetView = when (destinationId) { @@ -1704,7 +1714,8 @@ class MainActivity : AppCompatActivity(), ColorPickerDialogListener, BiometricCa setOnItemSelectedListener { item -> onNavDestinationSelected( item, - navController + navController, + navHostFragment ) } @@ -1732,7 +1743,8 @@ class MainActivity : AppCompatActivity(), ColorPickerDialogListener, BiometricCa setOnItemSelectedListener { item -> onNavDestinationSelected( item, - navController + navController, + navHostFragment ) } diff --git a/app/src/main/java/com/lagradost/cloudstream3/ui/search/SearchFragment.kt b/app/src/main/java/com/lagradost/cloudstream3/ui/search/SearchFragment.kt index 5f5b064b543..644e2c6c457 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/ui/search/SearchFragment.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/ui/search/SearchFragment.kt @@ -157,6 +157,10 @@ class SearchFragment : BaseFragment( afterPluginsLoadedEvent -= ::reloadRepos } + internal fun focusSearchInput() { + binding?.mainSearch?.requestFocusFromTouch() + } + var selectedSearchTypes = mutableListOf() var selectedApis = mutableSetOf()