Skip to content

Commit 47b6f76

Browse files
committed
Optimize config
1 parent 7d2013c commit 47b6f76

File tree

1 file changed

+12
-16
lines changed

1 file changed

+12
-16
lines changed

app/src/main/java/com/duckduckgo/app/browser/WebViewCompatTestHelper.kt

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,9 @@ class RealWebViewCompatTestHelper @Inject constructor(
7373
val replyToInitialPing: Boolean,
7474
val jsSendsInitialPing: Boolean,
7575
val jsRepliesToNativeMessages: Boolean,
76+
val sendMessageOnPageStarted: Boolean,
77+
val sendMessageOnContextMenuOpen: Boolean,
78+
val sendMessagesUsingReplyProxy: Boolean,
7679
)
7780

7881
private var cachedConfig: WebViewCompatConfig? = null
@@ -89,6 +92,9 @@ class RealWebViewCompatTestHelper @Inject constructor(
8992
replyToInitialPing = webViewCompatFeature.replyToInitialPing().isEnabled(),
9093
jsSendsInitialPing = webViewCompatFeature.jsSendsInitialPing().isEnabled(),
9194
jsRepliesToNativeMessages = webViewCompatFeature.jsRepliesToNativeMessages().isEnabled(),
95+
sendMessageOnPageStarted = webViewCompatFeature.sendMessageOnPageStarted().isEnabled(),
96+
sendMessageOnContextMenuOpen = webViewCompatFeature.sendMessageOnContextMenuOpen().isEnabled(),
97+
sendMessagesUsingReplyProxy = webViewCompatFeature.sendMessagesUsingReplyProxy().isEnabled(),
9298
).also {
9399
cachedConfig = it
94100
}
@@ -161,16 +167,11 @@ class RealWebViewCompatTestHelper @Inject constructor(
161167
@SuppressLint("PostMessageUsage", "RequiresFeature")
162168
override suspend fun onPageStarted(webView: DuckDuckGoWebView?) {
163169
withContext(dispatchers.main()) {
164-
val flags = withContext(dispatchers.io()) {
165-
object {
166-
val sendMessageOnPageStarted = webViewCompatFeature.sendMessageOnPageStarted().isEnabled()
167-
val sendMessagesUsingReplyProxy = webViewCompatFeature.sendMessagesUsingReplyProxy().isEnabled()
168-
}
169-
}
170+
val config = getWebViewCompatConfig()
170171

171-
if (!flags.sendMessageOnPageStarted) return@withContext
172+
if (!config.sendMessageOnPageStarted) return@withContext
172173

173-
if (flags.sendMessagesUsingReplyProxy) {
174+
if (config.sendMessagesUsingReplyProxy) {
174175
postMessage("PageStarted")
175176
} else {
176177
webView?.url?.let {
@@ -187,16 +188,11 @@ class RealWebViewCompatTestHelper @Inject constructor(
187188
@SuppressLint("RequiresFeature")
188189
override suspend fun onBrowserMenuButtonPressed(webView: DuckDuckGoWebView?) {
189190
withContext(dispatchers.main()) {
190-
val flags = withContext(dispatchers.io()) {
191-
object {
192-
val sendMessageOnContextMenuOpen = webViewCompatFeature.sendMessageOnContextMenuOpen().isEnabled()
193-
val sendMessagesUsingReplyProxy = webViewCompatFeature.sendMessagesUsingReplyProxy().isEnabled()
194-
}
195-
}
191+
val config = getWebViewCompatConfig()
196192

197-
if (!flags.sendMessageOnContextMenuOpen) return@withContext
193+
if (!config.sendMessageOnContextMenuOpen) return@withContext
198194

199-
if (flags.sendMessagesUsingReplyProxy) {
195+
if (config.sendMessagesUsingReplyProxy) {
200196
postMessage("ContextMenuOpened")
201197
} else {
202198
webView?.url?.let {

0 commit comments

Comments
 (0)