@@ -366,7 +366,8 @@ class HomeScreenViewModel(
366
366
private fun loadPage (
367
367
title : String? ,
368
368
lang : String? = null,
369
- random : Boolean = false
369
+ random : Boolean = false,
370
+ replaceBackstackEntry : Boolean = false
370
371
) {
371
372
loaderJob.cancel()
372
373
viewModelScope.launch(loaderJob + Dispatchers .IO ) {
@@ -447,7 +448,7 @@ class HomeScreenViewModel(
447
448
}
448
449
}
449
450
450
- backStack.add(
451
+ if ( ! replaceBackstackEntry) backStack.add(
451
452
HomeSubscreen .Article (
452
453
title = apiResponse?.title ? : " Error" ,
453
454
photo = apiResponse?.photo,
@@ -460,6 +461,18 @@ class HomeScreenViewModel(
460
461
sections = articleSections
461
462
)
462
463
)
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
+ )
463
476
464
477
// Reset refList
465
478
refCount = 1
@@ -529,12 +542,14 @@ class HomeScreenViewModel(
529
542
loadPage(
530
543
lastQuery?.first,
531
544
lang = lastQuery?.second,
532
- random = false
545
+ random = false ,
546
+ replaceBackstackEntry = true
533
547
)
534
548
else
535
549
loadPage(
536
550
lastQuery?.first,
537
- random = false
551
+ random = false ,
552
+ replaceBackstackEntry = true
538
553
)
539
554
}
540
555
}
0 commit comments