Skip to content

Commit e9a0ef1

Browse files
committed
clean up tabs
1 parent 17a1d76 commit e9a0ef1

File tree

5 files changed

+43
-27
lines changed

5 files changed

+43
-27
lines changed

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

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -743,7 +743,6 @@ open class BrowserActivity : DuckDuckGoActivity() {
743743
command.duckChatSessionActive,
744744
command.withTransition,
745745
command.tabs,
746-
command.fullScreenMode,
747746
)
748747

749748
Command.LaunchTabSwitcher -> currentTab?.launchTabSwitcherAfterTabsUndeleted()
@@ -837,24 +836,19 @@ open class BrowserActivity : DuckDuckGoActivity() {
837836
duckChatSessionActive: Boolean,
838837
withTransition: Boolean,
839838
tabs: Int,
840-
fullScreenMode: Boolean,
841839
) {
842-
if (fullScreenMode) {
843-
currentTab?.submitQuery(url!!)
844-
} else {
845-
duckAiFragment?.let { fragment ->
846-
if (duckChatSessionActive) {
847-
restoreDuckChat(fragment, withTransition)
848-
} else {
849-
launchNewDuckChat(url, withTransition, tabs)
850-
}
851-
} ?: run {
840+
duckAiFragment?.let { fragment ->
841+
if (duckChatSessionActive) {
842+
restoreDuckChat(fragment, withTransition)
843+
} else {
852844
launchNewDuckChat(url, withTransition, tabs)
853845
}
846+
} ?: run {
847+
launchNewDuckChat(url, withTransition, tabs)
848+
}
854849

855-
currentTab?.getOmnibar()?.omnibarView?.omnibarTextInput?.let {
856-
hideKeyboard(it)
857-
}
850+
currentTab?.getOmnibar()?.omnibarView?.omnibarTextInput?.let {
851+
hideKeyboard(it)
858852
}
859853
}
860854

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

Lines changed: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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() {

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,6 @@ class BrowserViewModel @Inject constructor(
144144
val duckChatSessionActive: Boolean,
145145
val withTransition: Boolean,
146146
val tabs: Int,
147-
val fullScreenMode: Boolean,
148147
) : Command()
149148
}
150149

@@ -507,10 +506,9 @@ class BrowserViewModel @Inject constructor(
507506
duckChatSessionActive: Boolean,
508507
withTransition: Boolean,
509508
) {
510-
val duckAiFullScreenMode = duckAiFeatureState.showFullScreenMode.value
511509
logcat(INFO) { "Duck.ai openDuckChat duckChatSessionActive $duckChatSessionActive" }
512510
val tabsCount = tabs.value?.size ?: 0
513-
sendCommand(OpenDuckChat(duckChatUrl, duckChatSessionActive, withTransition, tabsCount, duckAiFullScreenMode))
511+
sendCommand(OpenDuckChat(duckChatUrl, duckChatSessionActive, withTransition, tabsCount))
514512
}
515513
}
516514

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -470,6 +470,7 @@ class BrowserWebViewClient @Inject constructor(
470470
url: String?,
471471
favicon: Bitmap?,
472472
) {
473+
logcat { "Duck.ai onPageStarted webViewUrl: ${webView.url} URL: $url lastPageStarted $lastPageStarted" }
473474
url?.let {
474475
// See https://app.asana.com/0/0/1206159443951489/f (WebView limitations)
475476
if (it != ABOUT_BLANK && start == null) {

app/src/main/java/com/duckduckgo/app/tabs/model/TabDataRepository.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,7 @@ class TabDataRepository @Inject constructor(
287287
site: Site?,
288288
) {
289289
databaseExecutor().scheduleDirect {
290+
logcat { "Duck.ai: updateUrlAndTitle url: ${site?.url} title: ${site?.title}" }
290291
tabsDao.updateUrlAndTitle(tabId, site?.url, site?.title, viewed = true)
291292
}
292293
}

0 commit comments

Comments
 (0)