Skip to content

feature/cp-11483-make-banner-non-blocking#347

Open
unnaticleverpush wants to merge 2 commits into
masterfrom
feature/cp-11483-make-banner-non-blocking
Open

feature/cp-11483-make-banner-non-blocking#347
unnaticleverpush wants to merge 2 commits into
masterfrom
feature/cp-11483-make-banner-non-blocking

Conversation

@unnaticleverpush
Copy link
Copy Markdown
Contributor

@unnaticleverpush unnaticleverpush commented May 7, 2026

Added support for non-blocking in-app banners to allow background interaction while banners are visible.


Summary by cubic

Makes in‑app banners non‑blocking so users can interact with the app while a banner is visible. Adds an opt‑in flag, resizes HTML banner popups to wrap only the banner area, and ensures popup updates run on the UI thread. (Linear CP‑11483)

  • New Features

    • Added appBannersNonBlocking flag to CleverPush with setAppBannersNonBlocking/isAppBannersNonBlocking.
    • HTML banners inject a JS snippet to measure visible content and report bounds via setHtmlBannerBounds; AppBannerPopup.applyMeasuredHtmlBannerBounds shrinks the popup to that rect on the UI thread.
    • Non-full banners use WRAP_CONTENT and non-modal touch so background stays interactive; gravity-aware positioning for top/bottom.
    • Full-screen HTML banners keep fixed-position behavior with adjusted WebView/body layout.
    • Flag off keeps existing blocking behavior.
  • Migration

    • Opt-in: call CleverPush.getInstance(context).setAppBannersNonBlocking(true).
    • No other changes required; verify HTML banners that use fixed positioning.

Written for commit 74f3253. Summary will update on new commits.

Added support for non-blocking in-app banners to allow background interaction while banners are visible.
@unnaticleverpush unnaticleverpush self-assigned this May 7, 2026
Copy link
Copy Markdown

@cubic-dev-ai cubic-dev-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 3 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="cleverpush/src/main/java/com/cleverpush/banner/AppBannerPopup.java">

<violation number="1" location="cleverpush/src/main/java/com/cleverpush/banner/AppBannerPopup.java:801">
P1: `applyMeasuredHtmlBannerBounds` is invoked from the JavaScript bridge but updates `PopupWindow` views directly; Java bridge callbacks run off the UI thread, so this will throw `CalledFromWrongThreadException` when measurements arrive. Post the work to the main thread before mutating views.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Comment thread cleverpush/src/main/java/com/cleverpush/banner/AppBannerPopup.java
Fix non-blocking HTML banner popup updates to run on UI thread
@unnaticleverpush unnaticleverpush requested a review from snuricp May 12, 2026 10:23
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