diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/embed/EmbeddedTabLayer.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/embed/EmbeddedTabLayer.kt index d8441ae2ff..f0b00c2319 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/embed/EmbeddedTabLayer.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/embed/EmbeddedTabLayer.kt @@ -377,6 +377,7 @@ fun EmbeddedTabLayer(barFavoriteIds: List) { // Cancel any in-flight scroll-hide from the page phase: otherwise the field's own // selection-reveal scrolls keep it armed and the new field handles/toolbar never appear. sel.scrolling = false + sel.onFieldReadOnly(event.readOnly) sel.onFieldGeometry(event.geometry, event.text.isNotEmpty()) } ImeEvent.WantKeyboard -> { @@ -398,6 +399,7 @@ fun EmbeddedTabLayer(barFavoriteIds: List) { // Re-arm "the field has text" so a tap can show the insertion handle again (a tab // switch resets it). Geometry stays null here, so this can't pop a handle up on its // own — native shows nothing until the user touches the field. + sel.onFieldReadOnly(event.focus.readOnly) sel.onFieldGeometry(null, event.focus.text.isNotEmpty()) } ImeEvent.Blur -> { @@ -529,19 +531,29 @@ fun EmbeddedTabLayer(barFavoriteIds: List) { // In-field (/