From 87e3bcce133717068ee33674272f48905f1b69c6 Mon Sep 17 00:00:00 2001 From: xbzk Date: Sun, 1 Mar 2026 11:48:57 -0300 Subject: [PATCH] fixed landscape right column top spacing --- .../features/fetcher/SpacingItemDecoration.kt | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) 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 } }