Task/Issue
URL:https://app.asana.com/1/137249556945/task/1217404652311184
### Description
Ship-review feedback on the Edit Message screen: the "editing will lose
the response" warning previously lived inside the shared
`NativeInputModeWidget` (as `editModeWarning`/`editModeWarningDivider`,
shown only via `configureForEdit`). That meant every consumer of the
shared widget carried edit-only view plumbing it never used.
This moves the warning out of the widget entirely.
`activity_edit_prompt.xml` now composes a second `MaterialCardView`
(`editPromptWarningCard`) positioned behind `editPromptInputCard`,
overlapping its bottom edge so only the label peeks out below with the
input card's rounded corners visible on top — a layered-card effect
instead of an inline divider+label row. The widget itself no longer
knows anything about the warning; `isEditWidget` still drives hiding the
model/reasoning/options/attach/voice/back controls as before.
Also:
- Updated the warning copy to "Editing will replace the response with a
new one."
- Swapped the icon from a duplicated `ic_info_feedback_color_24` (copied
into `-impl` because it can't depend on `:app`) to the design system's
`ic_info_16`, and deleted the now-unused duplicate.
### Steps to test
1. Trigger the Edit Message screen for a sent Duck.ai prompt.
2. Confirm the warning label sits in a card visually behind the input
card, with the input card's shadow/corners overlapping it.
3. Confirm the warning card has a stroke + elevation matching the input
card's style, and isn't clipped at the bottom.
4. Confirm the model/reasoning/attach/voice/options/back controls are
still hidden while editing (unchanged behavior).
### UI changes
Edit Message screen: warning label moved from an inline divider+row
inside the input card to a separate card layered behind it.
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> **Medium Risk**
> Changes edit-session JS bridge timing (cancel on `finish()` instead of
only `onDestroy()`), which can affect frontend leave-edit UX;
first-resolve-wins on submit should still hold.
>
> **Overview**
> **Edit Message** layout is reworked: the “lose responses” warning is
removed from `NativeInputModeWidget` and composed on
`activity_edit_prompt` as a second `MaterialCardView` tucked behind the
input card (overlap, stroke, Duck.ai background, bottom-weighted layout
with clip disabled so shadows aren’t clipped). Warning text becomes
*“Editing will replace the response with a new one.”* and the icon
switches to `ic_info_16`; the duplicate `ic_info_feedback_color_24`
drawable is deleted.
>
> `EditPromptActivity` now resolves `EditPromptResult.Cancelled` in
**`finish()`** so toolbar close, back, and predictive back notify the JS
bridge while the edit screen still covers the web view; `onDestroy()`
remains a backstop when teardown never went through `finish()`.
>
> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit
b0de8b4026cf5c4cec9dc85aa38d04539c53ccfd. Bugbot is set up for automated
code reviews on this repo. Configure
[here](https://www.cursor.com/dashboard/bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
---
- To see the specific tasks where the Asana app for GitHub is being
used, see below:
- https://app.asana.com/0/0/1217404652311184