Skip to content

Commit aa3ba4f

Browse files
Calculate insertion index
1 parent 06f05e6 commit aa3ba4f

2 files changed

Lines changed: 6 additions & 2 deletions

File tree

app/src/main/java/org/stepic/droid/ui/fragments/HomeFragment.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ class HomeFragment : FragmentBase(), HomeStreakView, FastContinueNewHomeFragment
186186

187187
binding.bind(banner, bannerResourcesMapper)
188188

189-
val insertionIndex = min(banner.position + offset, homeMainContainer.childCount - 1)
189+
val insertionIndex = min(banner.position + offset, homeMainContainer.childCount)
190190
val previousFragment = homeMainContainer.getChildAt(insertionIndex - 1).findFragment<Fragment>()
191191

192192
homeMainContainer.addView(binding.root, insertionIndex)

app/src/main/java/org/stepik/android/view/catalog/ui/fragment/CatalogFragment.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ import ru.nobird.android.view.base.ui.extension.showIfNotExists
8383
import ru.nobird.android.view.redux.ui.extension.reduxViewModel
8484
import ru.nobird.app.core.model.mutate
8585
import javax.inject.Inject
86+
import kotlin.math.min
8687

8788
class CatalogFragment :
8889
Fragment(R.layout.fragment_catalog),
@@ -388,7 +389,10 @@ class CatalogFragment :
388389

389390
private fun resolveCatalogItems(banners: List<Banner>, collectionCatalogItems: List<CatalogItem>): List<CatalogItem> =
390391
collectionCatalogItems.mutate {
391-
banners.forEach { banner -> add(banner.position, CatalogItem.BannerBlock(banner)) }
392+
banners.forEach { banner ->
393+
val insertionIndex = min(banner.position, collectionCatalogItems.size)
394+
add(insertionIndex, CatalogItem.BannerBlock(banner))
395+
}
392396
}
393397

394398
private fun showStories(position: Int) {

0 commit comments

Comments
 (0)