@@ -366,7 +366,8 @@ class HomeScreenViewModel(
366366 private fun loadPage (
367367 title : String? ,
368368 lang : String? = null,
369- random : Boolean = false
369+ random : Boolean = false,
370+ replaceBackstackEntry : Boolean = false
370371 ) {
371372 loaderJob.cancel()
372373 viewModelScope.launch(loaderJob + Dispatchers .IO ) {
@@ -447,7 +448,7 @@ class HomeScreenViewModel(
447448 }
448449 }
449450
450- backStack.add(
451+ if ( ! replaceBackstackEntry) backStack.add(
451452 HomeSubscreen .Article (
452453 title = apiResponse?.title ? : " Error" ,
453454 photo = apiResponse?.photo,
@@ -460,6 +461,18 @@ class HomeScreenViewModel(
460461 sections = articleSections
461462 )
462463 )
464+ else
465+ backStack[backStack.lastIndex] = HomeSubscreen .Article (
466+ title = apiResponse?.title ? : " Error" ,
467+ photo = apiResponse?.photo,
468+ photoDesc = apiResponse?.description,
469+ langs = apiResponse?.langs,
470+ currentLang = setLang,
471+ pageId = apiResponse?.pageId,
472+ savedStatus = saved,
473+ extract = parsedExtract,
474+ sections = articleSections
475+ )
463476
464477 // Reset refList
465478 refCount = 1
@@ -529,12 +542,14 @@ class HomeScreenViewModel(
529542 loadPage(
530543 lastQuery?.first,
531544 lang = lastQuery?.second,
532- random = false
545+ random = false ,
546+ replaceBackstackEntry = true
533547 )
534548 else
535549 loadPage(
536550 lastQuery?.first,
537- random = false
551+ random = false ,
552+ replaceBackstackEntry = true
538553 )
539554 }
540555 }
0 commit comments