@@ -1079,6 +1079,7 @@ class BrowserTabViewModel @Inject constructor(
10791079 query : String ,
10801080 queryOrigin : QueryOrigin = QueryOrigin .FromUser ,
10811081 ) {
1082+ logcat { " Duck.ai: onUserSubmittedQuery $query " }
10821083 navigationAwareLoginDetector.onEvent(NavigationEvent .UserAction .NewQuerySubmitted )
10831084
10841085 if (query.isBlank()) {
@@ -1132,14 +1133,18 @@ class BrowserTabViewModel @Inject constructor(
11321133 val verticalParameter = extractVerticalParameter(url)
11331134 var urlToNavigate = queryUrlConverter.convertQueryToUrl(trimmedInput, verticalParameter, queryOrigin)
11341135
1136+ logcat { " Duck.ai: urlToNavigate $urlToNavigate " }
1137+
11351138 when (val type = specialUrlDetector.determineType(trimmedInput)) {
11361139 is ShouldLaunchDuckChatLink -> {
11371140 runCatching {
11381141 if (duckAiFeatureState.showFullScreenMode.value) {
1142+ logcat { " Duck.ai: ShouldLaunchDuckChatLink $urlToNavigate " }
11391143 site?.nextUrl = urlToNavigate
11401144 command.value = NavigationCommand .Navigate (urlToNavigate, getUrlHeaders(urlToNavigate))
11411145 } else {
11421146 val queryParameter = urlToNavigate.toUri().getQueryParameter(QUERY )
1147+ logcat { " Duck.ai: ShouldLaunchDuckChatLink queryParameter $queryParameter " }
11431148 if (queryParameter != null ) {
11441149 duckChat.openDuckChatWithPrefill(queryParameter)
11451150 } else {
@@ -1544,6 +1549,7 @@ class BrowserTabViewModel @Inject constructor(
15441549
15451550 when (stateChange) {
15461551 is WebNavigationStateChange .NewPage -> {
1552+ logcat { " Duck.ai: WebNavigationStateChange.NewPage ${stateChange.url.toUri()} " }
15471553 val uri = stateChange.url.toUri()
15481554 viewModelScope.launch(dispatchers.io()) {
15491555 if (duckPlayer.getDuckPlayerState() == ENABLED && duckPlayer.isSimulatedYoutubeNoCookie(uri)) {
@@ -1569,6 +1575,7 @@ class BrowserTabViewModel @Inject constructor(
15691575
15701576 is WebNavigationStateChange .PageCleared -> pageCleared()
15711577 is WebNavigationStateChange .UrlUpdated -> {
1578+ logcat { " Duck.ai: urlUpdated ${stateChange.url} " }
15721579 val uri = stateChange.url.toUri()
15731580 viewModelScope.launch(dispatchers.io()) {
15741581 if (duckPlayer.getDuckPlayerState() == ENABLED && duckPlayer.isSimulatedYoutubeNoCookie(uri)) {
@@ -1626,7 +1633,7 @@ class BrowserTabViewModel @Inject constructor(
16261633 url : String ,
16271634 title : String? ,
16281635 ) {
1629- logcat(VERBOSE ) { " Page changed: $url " }
1636+ logcat(VERBOSE ) { " Duck.ai: Page changed: $url " }
16301637 cleanupBlobDownloadReplyProxyMaps()
16311638
16321639 hasCtaBeenShownForCurrentPage.set(false )
@@ -1899,6 +1906,7 @@ class BrowserTabViewModel @Inject constructor(
18991906 }
19001907
19011908 override fun pageRefreshed (refreshedUrl : String ) {
1909+ logcat { " Duck.ai pageRefreshed URL: $url refreshedUrl $refreshedUrl " }
19021910 if (url == null || refreshedUrl == url) {
19031911 logcat(VERBOSE ) { " Page refreshed: $refreshedUrl " }
19041912 pageChanged(refreshedUrl, title)
@@ -2185,6 +2193,7 @@ class BrowserTabViewModel @Inject constructor(
21852193 }
21862194
21872195 private fun onSiteChanged () {
2196+ logcat { " Duck.ai: onSiteChanged" }
21882197 httpsUpgraded = false
21892198 site?.isDesktopMode = currentBrowserViewState().isDesktopBrowsingMode
21902199 viewModelScope.launch {
@@ -4470,8 +4479,14 @@ class BrowserTabViewModel @Inject constructor(
44704479 val params = duckChat.createWasUsedBeforePixelParams()
44714480 pixel.fire(DuckChatPixelName .DUCK_CHAT_OPEN_BROWSER_MENU , parameters = params)
44724481 }
4473- val url = duckChat.getDuckChatUrl(" " , false )
4474- onUserSubmittedQuery(url)
4482+
4483+ if (duckAiFeatureState.showFullScreenMode.value) {
4484+ val url = duckChat.getDuckChatUrl(" " , false )
4485+ pageRefreshed(url)
4486+ onUserSubmittedQuery(url)
4487+ } else {
4488+ duckChat.openDuckChat()
4489+ }
44754490 }
44764491
44774492 fun onDuckChatOmnibarButtonClicked (
@@ -4483,13 +4498,20 @@ class BrowserTabViewModel @Inject constructor(
44834498 command.value = HideKeyboardForChat
44844499 }
44854500
4486- val url = when {
4487- hasFocus && isNtp && query.isNullOrBlank() -> duckChat.getDuckChatUrl(query ? : " " , false )
4488- hasFocus -> duckChat.getDuckChatUrl(query ? : " " , true )
4489- else -> duckChat.getDuckChatUrl(query ? : " " , false )
4501+ if (duckAiFeatureState.showFullScreenMode.value) {
4502+ val url = when {
4503+ hasFocus && isNtp && query.isNullOrBlank() -> duckChat.getDuckChatUrl(query ? : " " , false )
4504+ hasFocus -> duckChat.getDuckChatUrl(query ? : " " , true )
4505+ else -> duckChat.getDuckChatUrl(query ? : " " , false )
4506+ }
4507+ onUserSubmittedQuery(url)
4508+ } else {
4509+ when {
4510+ hasFocus && isNtp && query.isNullOrBlank() -> duckChat.openDuckChat()
4511+ hasFocus -> duckChat.openDuckChatWithAutoPrompt(query ? : " " )
4512+ else -> duckChat.openDuckChat()
4513+ }
44904514 }
4491-
4492- onUserSubmittedQuery(url)
44934515 }
44944516
44954517 fun onVpnMenuClicked () {
0 commit comments