ADFA-3070 Turns off nested scrolling for the chat list. #1013
ADFA-3070 Turns off nested scrolling for the chat list. #1013hal-eisen-adfa wants to merge 1 commit intostagefrom
Conversation
…normally, but it no longer dispatches nested scroll events to the CoordinatorLayout, so the app bar and the rest of the editor UI stay fixed.
📝 WalkthroughRelease NotesChat List Scrolling Improvements
|
| Cohort / File(s) | Summary |
|---|---|
Chat Fragment Scroll Behavior app/src/main/java/com/itsaky/androidide/agent/fragments/ChatFragment.kt |
Disables nested scrolling on RecyclerView and adds OnItemTouchListener to intercept ACTION_DOWN events, preventing parent containers from intercepting touch events. New imports added for ViewGroup and ViewCompat support. |
Estimated code review effort
🎯 2 (Simple) | ⏱️ ~12 minutes
Suggested reviewers
- itsaky-adfa
- jomen-adfa
- Daniel-ADFA
Poem
🐰 Whiskers twitch with delight,
Scrolling smooth, oh what a sight!
No more fighting with parent views,
Chat bubbles float, no more blues,
A gentle touch, the list glides free,
Nested scrolling? No, not for thee! ✨
🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
| Check name | Status | Explanation | Resolution |
|---|---|---|---|
| Docstring Coverage | Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. | Write docstrings for the functions missing them to satisfy the coverage threshold. |
✅ Passed checks (2 passed)
| Check name | Status | Explanation |
|---|---|---|
| Title check | ✅ Passed | The title clearly and specifically describes the main change: disabling nested scrolling for the chat list, which directly matches the primary objective of the changeset. |
| Description check | ✅ Passed | The description is directly related to the changeset, explaining that nested scrolling is disabled on the chat list so the app bar and editor UI remain fixed while the list scrolls. |
✏️ Tip: You can configure your own custom pre-merge checks in the settings.
✨ Finishing Touches
- 📝 Generate docstrings (stacked PR)
- 📝 Generate docstrings (commit on current branch)
🧪 Generate unit tests (beta)
- Create PR with unit tests
- Post copyable unit tests in a comment
- Commit unit tests in branch
ADFA-3070-The-agent-chat-is-not-scrollable-in-landscape
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.
Comment @coderabbitai help to get the list of available commands and usage tips.
There was a problem hiding this comment.
🧹 Nitpick comments (1)
app/src/main/java/com/itsaky/androidide/agent/fragments/ChatFragment.kt (1)
257-259: Clean up empty override blocks flagged by detekt.Line 257 and Line 259 are empty blocks (
EmptyFunctionBlock). Consider expression bodies to keep the intent explicit and silence warnings.Suggested cleanup
- override fun onTouchEvent(rv: RecyclerView, e: MotionEvent) {} + override fun onTouchEvent(rv: RecyclerView, e: MotionEvent) = Unit - override fun onRequestDisallowInterceptTouchEvent(disallowIntercept: Boolean) {} + override fun onRequestDisallowInterceptTouchEvent(disallowIntercept: Boolean) = Unit🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@app/src/main/java/com/itsaky/androidide/agent/fragments/ChatFragment.kt` around lines 257 - 259, Convert the empty override blocks in ChatFragment to explicit no-op expression bodies to satisfy detekt: replace the empty function bodies of the RecyclerView touch callbacks (onTouchEvent(rv: RecyclerView, e: MotionEvent) and onRequestDisallowInterceptTouchEvent(disallowIntercept: Boolean)) with expression bodies that return Unit (e.g., use = Unit) so the intent is explicit and EmptyFunctionBlock warnings are silenced; keep the method signatures and class (ChatFragment) unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@app/src/main/java/com/itsaky/androidide/agent/fragments/ChatFragment.kt`:
- Around line 257-259: Convert the empty override blocks in ChatFragment to
explicit no-op expression bodies to satisfy detekt: replace the empty function
bodies of the RecyclerView touch callbacks (onTouchEvent(rv: RecyclerView, e:
MotionEvent) and onRequestDisallowInterceptTouchEvent(disallowIntercept:
Boolean)) with expression bodies that return Unit (e.g., use = Unit) so the
intent is explicit and EmptyFunctionBlock warnings are silenced; keep the method
signatures and class (ChatFragment) unchanged.
The list still scrolls normally, but it no longer dispatches nested scroll events to the CoordinatorLayout, so the app bar and the rest of the editor UI stay fixed.