Skip to content

Commit

Permalink
Merge pull request #232 from rubensousa/transfer_focus
Browse files Browse the repository at this point in the history
Fix focus not being retained in DpadRecyclerView when child count is 0
  • Loading branch information
rubensousa authored Jun 19, 2024
2 parents 8396d74 + 8c6df75 commit f689f65
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import com.rubensousa.dpadrecyclerview.ChildAlignment
import com.rubensousa.dpadrecyclerview.OnViewFocusedListener
import com.rubensousa.dpadrecyclerview.ParentAlignment
import com.rubensousa.dpadrecyclerview.test.TestLayoutConfiguration
import com.rubensousa.dpadrecyclerview.test.helpers.assertIsNotFocused
import com.rubensousa.dpadrecyclerview.test.helpers.assertIsFocused
import com.rubensousa.dpadrecyclerview.test.helpers.onRecyclerView
import com.rubensousa.dpadrecyclerview.test.helpers.selectPosition
import com.rubensousa.dpadrecyclerview.test.helpers.waitForCondition
Expand Down Expand Up @@ -158,7 +158,7 @@ class FocusListenerTest : DpadRecyclerViewTest() {
}

@Test
fun testRecyclerViewLosesFocusWhenItLosesContent() {
fun testRecyclerViewKeepsFocusWhenItLosesContent() {
// when
executeOnFragment { fragment ->
fragment.clearAdapter()
Expand All @@ -168,7 +168,7 @@ class FocusListenerTest : DpadRecyclerViewTest() {
}

// then
assertIsNotFocused()
assertIsFocused()
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -399,7 +399,7 @@ open class DpadRecyclerView @JvmOverloads constructor(
}

private fun postRemoveView() {
if (isRetainingFocus && childCount > 0 && !hasFocus()) {
if (isRetainingFocus && !hasFocus()) {
requestFocus()
}
isRetainingFocus = false
Expand Down

0 comments on commit f689f65

Please sign in to comment.