Skip to content

Add Android web view cache warming#3501

Draft
JZDesign wants to merge 4 commits into
mainfrom
cursor/android-web-warming-cb6a
Draft

Add Android web view cache warming#3501
JZDesign wants to merge 4 commits into
mainfrom
cursor/android-web-warming-cb6a

Conversation

@JZDesign
Copy link
Copy Markdown
Contributor

@JZDesign JZDesign commented May 21, 2026

Checklist

  • If applicable, unit tests
  • If applicable, create follow-up issues for purchases-ios and hybrids

Motivation

Bring the Android Paywalls V2 asset pre-download path in line with the iOS jzdesign/test-web-warming concept by recognizing web view components and warming their content before rendering.

Description

  • Adds an internal web_view paywall component model.
  • Collects web view URLs during V2 paywall and workflow asset pre-download traversal, including nested stacks, headers, sticky footers, and sheet destination stacks.
  • Adds a WebView-based pre-downloader with HTTPS-only loading, blocked mixed content, disabled file/content access, and bounded cleanup.
  • Adds minimal RevenueCatUI rendering support for decoded web view components with matching URL hardening and WebView release cleanup.
  • Adds targeted tests for component decoding and web view pre-download collection.

Verified with:

  • ./gradlew :purchases:testDefaultsBc8DebugUnitTest --tests "com.revenuecat.purchases.utils.OfferingImagePreDownloaderTest" --tests "com.revenuecat.purchases.paywalls.components.WebViewComponentTests" :ui:revenuecatui:testDefaultsBc8DebugUnitTest --tests "com.revenuecat.purchases.ui.revenuecatui.helpers.ContainsUnsupportedConditionTests"
  • ./gradlew detektAll
Open in Web Open in Cursor 

Co-authored-by: jacob.rakidzich <jacob.rakidzich@revenuecat.com>
@RevenueCat-Danger-Bot
Copy link
Copy Markdown

1 Error
🚫 Label the PR using one of the change type labels. If you are not sure which label to use, choose pr:other.
Label Description
pr:feat A new feature. Use along with pr:breaking to force a major release.
pr:fix A bug fix. Use along with pr:force_minor to force a minor release.
pr:other Other changes. Catch-all for anything that doesn't fit the above categories. Releases that only contain this label will not be released. Use along with pr:force_patch, or pr:force_minor to force a patch or minor release.
pr:RevenueCatUI Use along any other tag to mark a PR that only contains RevenueCatUI changes
pr:next_release Preparing a new release
pr:dependencies Updating a dependency
pr:phc_dependencies Updating purchases-hybrid-common dependency
pr:changelog_ignore The PR will not be included in the changelog. This label doesn't determine the type of bump of the version and must be combined with pr:feat, pr:fix or pr:other.

Generated by 🚫 Danger

cursoragent and others added 3 commits May 21, 2026 04:41
Co-authored-by: jacob.rakidzich <jacob.rakidzich@revenuecat.com>
Co-authored-by: jacob.rakidzich <jacob.rakidzich@revenuecat.com>
Co-authored-by: jacob.rakidzich <jacob.rakidzich@revenuecat.com>
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.

3 participants