Skip to content

Let marker list rows receive clicks with the Compose verse text - #303

Merged
yukuku merged 1 commit into
developfrom
claude/marker-list-verse-nav-bug-a3b7pt
Sep 23, 2026
Merged

yukuku merged 1 commit into
developfrom
claude/marker-list-verse-nav-bug-a3b7pt

Conversation

@yukuku

@yukuku yukuku commented Sep 23, 2026

Copy link
Copy Markdown
Owner

Problem

With the Compose verse rendering on (the default), tapping a row in the marker list (bookmarks, notes, highlights) does nothing: it does not open the verse. Long-press to enter selection mode is broken the same way.

Cause

VerseTextSlot swaps each row's snippet TextView for a VerseTextComposeView. The AndroidComposeView that Compose puts inside it is focusable. AbsListView skips item clicks and long clicks on any row where hasExplicitFocusable() is true, so MarkerListActivity's OnItemClickListener never fires. The search results and progress-mark list use a RecyclerView with setOnClickListener on the item view, so they were not affected. The marker list is the only screen still on ListView.

Fix

VerseTextComposeView now sets descendantFocusability = FOCUS_BLOCK_DESCENDANTS. The view only displays text, so nothing inside it needs focus.

Testing

  • New Robolectric test in VerseTextComposeTest attaches a row with a Compose slot to an activity and checks that row.hasExplicitFocusable() is false. It failed before the fix and passes after it.
  • ./gradlew assemblePlainDebug testPlainDebugUnitTest passes locally.
  • Not tried on a device.

🤖 Generated with Claude Code

https://claude.ai/code/session_01WA4GsUvVWoZX8kwb2ESu6R


Generated by Claude Code

The AndroidComposeView inside VerseTextComposeView is focusable, and
AbsListView skips item clicks and long clicks on a row that has a
focusable descendant. The marker list is the one screen still on
ListView, so tapping a marker stopped opening its verse. Block
descendant focus on the display-only view.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WA4GsUvVWoZX8kwb2ESu6R
@github-actions

Copy link
Copy Markdown

📱 Preview builds

Signed release builds of 1902685 — version 5.0.0-dev.102 (23819810) — from this run.

Flavor Application ID APK
Alkitab yuku.alkitab Download (7.7 MB)
Quick Bible yuku.alkitab.kjv Download (7.5 MB)
Sabda Alkitab org.sabda.alkitab Download (7.7 MB)

Or open https://75fe00e9-alkitab-pr.yukuku.workers.dev on an Android device.

These share their application IDs and signature with the Play Store builds, so installing one replaces the corresponding installed app (data is kept).

This comment tracks the latest build for this PR; earlier builds keep their own URLs.

@yukuku
yukuku merged commit 04b6783 into develop Sep 23, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants