From 24d0bb4d8f9ce2c3632bb8eec6b9f17a6a91e3e9 Mon Sep 17 00:00:00 2001 From: litetex <40789489+litetex@users.noreply.github.com> Date: Sat, 1 Jan 2022 16:42:49 +0100 Subject: [PATCH 1/3] Fixed search not accepting key input after closing player overlay --- .../newpipe/fragments/detail/VideoDetailFragment.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java index a5e590ba081..6828600008d 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java @@ -2206,12 +2206,19 @@ private void moveFocusToMainFragment(final boolean toMain) { mainFragment.setDescendantFocusability(afterDescendants); toolbar.setDescendantFocusability(afterDescendants); ((ViewGroup) requireView()).setDescendantFocusability(blockDescendants); - mainFragment.requestFocus(); + // Check if the mainFragment (search-results) or the toolbar (Textfield for search) + // have focus. If so then don't focus them again. + if (!mainFragment.hasFocus() && !toolbar.hasFocus()) { + mainFragment.requestFocus(); + } } else { mainFragment.setDescendantFocusability(blockDescendants); toolbar.setDescendantFocusability(blockDescendants); ((ViewGroup) requireView()).setDescendantFocusability(afterDescendants); - binding.detailThumbnailRootLayout.requestFocus(); + // Check if the player already has focus. If so don't focus again. + if (!binding.getRoot().hasFocus()) { + binding.detailThumbnailRootLayout.requestFocus(); + } } } From cdd632b5df78f3452dc3dc62c5e17280cc69e32d Mon Sep 17 00:00:00 2001 From: litetex <40789489+litetex@users.noreply.github.com> Date: Sun, 2 Jan 2022 14:19:00 +0100 Subject: [PATCH 2/3] Made comments easier to understand --- .../newpipe/fragments/detail/VideoDetailFragment.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java index 6828600008d..39aae2d52ef 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java @@ -2206,8 +2206,8 @@ private void moveFocusToMainFragment(final boolean toMain) { mainFragment.setDescendantFocusability(afterDescendants); toolbar.setDescendantFocusability(afterDescendants); ((ViewGroup) requireView()).setDescendantFocusability(blockDescendants); - // Check if the mainFragment (search-results) or the toolbar (Textfield for search) - // have focus. If so then don't focus them again. + // Only focus the mainFragment if the mainFragment (e.g. search-results) + // or the toolbar (e.g. Textfield for search) don't have focus. if (!mainFragment.hasFocus() && !toolbar.hasFocus()) { mainFragment.requestFocus(); } @@ -2215,7 +2215,7 @@ private void moveFocusToMainFragment(final boolean toMain) { mainFragment.setDescendantFocusability(blockDescendants); toolbar.setDescendantFocusability(blockDescendants); ((ViewGroup) requireView()).setDescendantFocusability(afterDescendants); - // Check if the player already has focus. If so don't focus again. + // Only focus the player if it not already has focus if (!binding.getRoot().hasFocus()) { binding.detailThumbnailRootLayout.requestFocus(); } From 874c84a168d88925954168faa655b794657d2036 Mon Sep 17 00:00:00 2001 From: litetex <40789489+litetex@users.noreply.github.com> Date: Sun, 2 Jan 2022 14:24:42 +0100 Subject: [PATCH 3/3] More comments --- .../org/schabi/newpipe/fragments/detail/VideoDetailFragment.java | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java index 39aae2d52ef..62dba47fd21 100644 --- a/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java +++ b/app/src/main/java/org/schabi/newpipe/fragments/detail/VideoDetailFragment.java @@ -2208,6 +2208,7 @@ private void moveFocusToMainFragment(final boolean toMain) { ((ViewGroup) requireView()).setDescendantFocusability(blockDescendants); // Only focus the mainFragment if the mainFragment (e.g. search-results) // or the toolbar (e.g. Textfield for search) don't have focus. + // This was done to fix problems with the keyboard input, see also #7490 if (!mainFragment.hasFocus() && !toolbar.hasFocus()) { mainFragment.requestFocus(); }