Skip to content

Commit 2197052

Browse files
committed
Fix errors
1 parent 3fdedc3 commit 2197052

File tree

3 files changed

+19
-17
lines changed

3 files changed

+19
-17
lines changed

app/src/main/java/org/wikipedia/WikipediaApp.kt

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import androidx.appcompat.app.AppCompatDelegate
1111
import kotlinx.coroutines.CoroutineExceptionHandler
1212
import kotlinx.coroutines.MainScope
1313
import kotlinx.coroutines.launch
14-
import kotlinx.coroutines.runBlocking
1514
import org.wikipedia.analytics.eventplatform.AppSessionEvent
1615
import org.wikipedia.analytics.eventplatform.EventPlatformClient
1716
import org.wikipedia.appshortcuts.AppShortcuts
@@ -30,7 +29,6 @@ import org.wikipedia.language.AcceptLanguageUtil
3029
import org.wikipedia.language.AppLanguageState
3130
import org.wikipedia.notifications.NotificationCategory
3231
import org.wikipedia.notifications.NotificationPollBroadcastReceiver
33-
import org.wikipedia.page.tabs.TabHelper
3432
import org.wikipedia.push.WikipediaFirebaseMessagingService
3533
import org.wikipedia.settings.Prefs
3634
import org.wikipedia.theme.Theme
@@ -140,11 +138,6 @@ class WikipediaApp : Application() {
140138

141139
setupLeakCanary()
142140

143-
// Initialize the tabs with runBlocking to ensure that the tabs are ready before showing the TabCountView.
144-
runBlocking {
145-
TabHelper.initTabs()
146-
}
147-
148141
// See Javadocs and http://developer.android.com/tools/support-library/index.html#rev23-4-0
149142
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true)
150143

app/src/main/java/org/wikipedia/page/PageFragmentLoadState.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ import org.wikipedia.notifications.AnonymousNotificationHelper
2424
import org.wikipedia.page.leadimages.LeadImagesHandler
2525
import org.wikipedia.page.tabs.PageBackStackItem
2626
import org.wikipedia.page.tabs.Tab
27-
import org.wikipedia.page.tabs.TabHelper
2827
import org.wikipedia.settings.Prefs
2928
import org.wikipedia.staticdata.UserTalkAliasData
3029
import org.wikipedia.util.DateUtil
@@ -259,7 +258,7 @@ class PageFragmentLoadState(private var model: PageViewModel,
259258
fragment.requireActivity().invalidateOptionsMenu()
260259

261260
// Update our tab list to prevent ZH variants issue.
262-
TabHelper.list.getOrNull(TabHelper.count - 1)?.setBackStackPositionTitle(title)
261+
currentTab.setBackStackPositionTitle(title)
263262

264263
// Update our history entry, in case the Title was changed (i.e. normalized)
265264
model.curEntry?.let {

app/src/main/java/org/wikipedia/search/SearchResultsViewModel.kt

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import org.wikipedia.database.AppDatabase
2020
import org.wikipedia.dataclient.ServiceFactory
2121
import org.wikipedia.dataclient.WikiSite
2222
import org.wikipedia.dataclient.mwapi.MwQueryResponse
23-
import org.wikipedia.page.tabs.TabHelper
2423
import org.wikipedia.util.StringUtil
2524

2625
class SearchResultsViewModel : ViewModel() {
@@ -126,15 +125,26 @@ class SearchResultsViewModel : ViewModel() {
126125
return null
127126
}
128127

129-
private fun getSearchResultsFromTabs(wikiSite: WikiSite, searchTerm: String): SearchResults {
130-
TabHelper.list.forEach { tab ->
131-
tab.getBackStackPositionTitle()?.let {
132-
if (wikiSite == it.wikiSite && StringUtil.fromHtml(it.displayText).contains(searchTerm, true)) {
133-
return SearchResults(mutableListOf(SearchResult(it, SearchResult.SearchResultType.TAB_LIST)))
134-
}
128+
private suspend fun getSearchResultsFromTabs(wikiSite: WikiSite, searchTerm: String): SearchResults {
129+
return withContext(Dispatchers.IO) {
130+
val tabs = AppDatabase.instance.tabDao().getTabs()
131+
tabs.forEach { tab ->
132+
// Use the backStackIds to get the full backStack items from the database
133+
val backStackItems = AppDatabase.instance.pageBackStackItemDao()
134+
.getPageBackStackItems(tab.getBackStackIds())
135+
tab.backStack = backStackItems.toMutableList()
136+
}
137+
return@withContext tabs.firstOrNull {
138+
it.getBackStackPositionTitle()?.let { title ->
139+
title.wikiSite == wikiSite && StringUtil.fromHtml(title.displayText).contains(searchTerm, true)
140+
} ?: false
141+
}?.let { tab ->
142+
SearchResults(mutableListOf(SearchResult(tab.getBackStackPositionTitle()!!, SearchResult.SearchResultType.TAB_LIST)))
143+
} ?: run {
144+
SearchResults()
135145
}
136146
}
137-
return SearchResults()
147+
138148
}
139149
}
140150
}

0 commit comments

Comments
 (0)