diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/fetcher/SpacingItemDecoration.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/fetcher/SpacingItemDecoration.kt index f3d000a739..3c44894230 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/fetcher/SpacingItemDecoration.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/features/fetcher/SpacingItemDecoration.kt @@ -1,10 +1,11 @@ -// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-FileCopyrightText: Copyright 2026 Eden Emulator Project // SPDX-License-Identifier: GPL-3.0-or-later package org.yuzu.yuzu_emu.features.fetcher import android.graphics.Rect import android.view.View +import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.RecyclerView class SpacingItemDecoration(private val spacing: Int) : RecyclerView.ItemDecoration() { @@ -14,8 +15,19 @@ class SpacingItemDecoration(private val spacing: Int) : RecyclerView.ItemDecorat parent: RecyclerView, state: RecyclerView.State ) { + val position = parent.getChildAdapterPosition(view) + if (position == RecyclerView.NO_POSITION) { + return + } + outRect.bottom = spacing - if (parent.getChildAdapterPosition(view) == 0) { + val layoutManager = parent.layoutManager + val isFirstRow = if (layoutManager is GridLayoutManager) { + layoutManager.spanSizeLookup.getSpanGroupIndex(position, layoutManager.spanCount) == 0 + } else { + position == 0 + } + if (isFirstRow) { outRect.top = spacing } }