Skip to content

Conversation

@enotniy
Copy link
Collaborator

@enotniy enotniy commented Jan 20, 2026

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR refactors the WebView in-app message implementation by introducing a WebViewController abstraction layer to replace direct WebView usage. The changes improve maintainability by separating platform-specific WebView logic from the business logic and add support for reattaching in-app messages when restoring activity state.

Changes:

  • Refactored WebViewInAppViewHolder to use WebViewController instead of direct WebView manipulation
  • Introduced WebViewJsBridge interface to replace the deleted WebAppInterface class
  • Added reattachment support for in-app messages through new reattach and canReuseOnRestore methods

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
WebViewInappViewHolder.kt Refactored to use WebViewController abstraction, replacing direct WebView manipulation with controller methods, and added reattachment logic
WebAppInterface.kt Deleted file - functionality moved to WebViewJsBridge interface
InAppViewHolder.kt Added reattach and canReuseOnRestore interface methods with default implementations
AbstractInAppViewHolder.kt Extracted common view attachment logic and implemented reattach method
InAppMessageViewDisplayerImpl.kt Added logic to restore and reattach previously paused in-app holders
kmp-common-sdk Updated subproject commit reference

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@enotniy enotniy merged commit 961f777 into mission/webview-inapp Jan 21, 2026
5 checks passed
@enotniy enotniy deleted the feature/MOBILEWEBVIEW-3 branch January 21, 2026 08:32
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