Skip to content

Commit e581821

Browse files
Close correct tab when close window called (#1136)
1 parent a87aa70 commit e581821

File tree

5 files changed

+13
-13
lines changed

5 files changed

+13
-13
lines changed

app/src/androidTest/java/com/duckduckgo/app/browser/BrowserTabViewModelTest.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -553,7 +553,7 @@ class BrowserTabViewModelTest {
553553
testee.onUserSubmittedQuery("foo")
554554

555555
coroutineRule.runBlocking {
556-
verify(mockTabsRepository).delete(selectedTabLiveData.value!!)
556+
verify(mockTabsRepository).deleteTabAndSelectSource(selectedTabLiveData.value!!.tabId)
557557
}
558558
}
559559

@@ -1218,7 +1218,7 @@ class BrowserTabViewModelTest {
12181218
testee.onRefreshRequested()
12191219

12201220
coroutineRule.runBlocking {
1221-
verify(mockTabsRepository).delete(selectedTabLiveData.value!!)
1221+
verify(mockTabsRepository).deleteTabAndSelectSource(selectedTabLiveData.value!!.tabId)
12221222
}
12231223
}
12241224

@@ -1519,7 +1519,7 @@ class BrowserTabViewModelTest {
15191519
showErrorWithAction.action()
15201520

15211521
coroutineRule.runBlocking {
1522-
verify(mockTabsRepository).delete(selectedTabLiveData.value!!)
1522+
verify(mockTabsRepository).deleteTabAndSelectSource(selectedTabLiveData.value!!.tabId)
15231523
}
15241524
}
15251525

@@ -1691,7 +1691,7 @@ class BrowserTabViewModelTest {
16911691
fun whenCloseCurrentTabSelectedThenTabDeletedFromRepository() = runBlocking {
16921692
givenOneActiveTabSelected()
16931693
testee.closeCurrentTab()
1694-
verify(mockTabsRepository).delete(selectedTabLiveData.value!!)
1694+
verify(mockTabsRepository).deleteTabAndSelectSource(selectedTabLiveData.value!!.tabId)
16951695
}
16961696

16971697
@Test
@@ -1723,7 +1723,7 @@ class BrowserTabViewModelTest {
17231723

17241724
testee.onUserPressedBack()
17251725

1726-
verify(mockTabsRepository).deleteCurrentTabAndSelectSource()
1726+
verify(mockTabsRepository).deleteTabAndSelectSource("TAB_ID")
17271727
}
17281728

17291729
@Test

app/src/androidTest/java/com/duckduckgo/app/tabs/model/TabDataRepositoryTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -320,7 +320,7 @@ class TabDataRepositoryTest {
320320
}
321321

322322
@Test
323-
fun whenDeleteCurrentTabAndSelectSourceLiveSelectedTabReturnsToSourceTab() = runBlocking<Unit> {
323+
fun whenDeleteTabAndSelectSourceLiveSelectedTabReturnsToSourceTab() = runBlocking<Unit> {
324324
val db = createDatabase()
325325
val dao = db.tabsDao()
326326
val sourceTab = TabEntity(tabId = "sourceId", url = "http://www.example.com", position = 0)
@@ -331,7 +331,7 @@ class TabDataRepositoryTest {
331331
var currentSelectedTabId = testee.liveSelectedTab.blockingObserve()?.tabId
332332
assertEquals(currentSelectedTabId, tabToDelete.tabId)
333333

334-
testee.deleteCurrentTabAndSelectSource()
334+
testee.deleteTabAndSelectSource("tabToDeleteId")
335335

336336
currentSelectedTabId = testee.liveSelectedTab.blockingObserve()?.tabId
337337
assertEquals(currentSelectedTabId, sourceTab.tabId)

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -586,7 +586,7 @@ class BrowserTabViewModel(
586586
private suspend fun removeCurrentTabFromRepository() {
587587
val currentTab = tabRepository.liveSelectedTab.value
588588
currentTab?.let {
589-
tabRepository.delete(currentTab)
589+
tabRepository.deleteTabAndSelectSource(it.tabId)
590590
}
591591
}
592592

@@ -636,7 +636,7 @@ class BrowserTabViewModel(
636636
}
637637

638638
private suspend fun removeAndSelectTabFromRepository() {
639-
tabRepository.deleteCurrentTabAndSelectSource()
639+
removeCurrentTabFromRepository()
640640
}
641641

642642
fun onUserPressedForward() {
@@ -688,7 +688,7 @@ class BrowserTabViewModel(
688688
return true
689689
} else if (hasSourceTab) {
690690
viewModelScope.launch {
691-
tabRepository.deleteCurrentTabAndSelectSource()
691+
removeCurrentTabFromRepository()
692692
}
693693
return true
694694
} else if (!skipHome) {

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -216,9 +216,9 @@ class TabDataRepository @Inject constructor(
216216
}.join()
217217
}
218218

219-
override suspend fun deleteCurrentTabAndSelectSource() {
219+
override suspend fun deleteTabAndSelectSource(tabId: String) {
220220
databaseExecutor().scheduleDirect {
221-
val tabToDelete = tabsDao.selectedTab() ?: return@scheduleDirect
221+
val tabToDelete = tabsDao.tab(tabId) ?: return@scheduleDirect
222222

223223
deleteOldPreviewImages(tabToDelete.tabId)
224224
val tabToSelect = tabToDelete.sourceTabId

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ interface TabRepository {
6666
*/
6767
suspend fun purgeDeletableTabs()
6868

69-
suspend fun deleteCurrentTabAndSelectSource()
69+
suspend fun deleteTabAndSelectSource(tabId: String)
7070

7171
suspend fun deleteAll()
7272

0 commit comments

Comments
 (0)