diff --git a/app/src/main/java/app/simple/inure/adapters/ui/AdapterHome.kt b/app/src/main/java/app/simple/inure/adapters/ui/AdapterHome.kt index faf55de65..61bceda16 100644 --- a/app/src/main/java/app/simple/inure/adapters/ui/AdapterHome.kt +++ b/app/src/main/java/app/simple/inure/adapters/ui/AdapterHome.kt @@ -18,6 +18,7 @@ import app.simple.inure.preferences.AccessibilityPreferences import app.simple.inure.preferences.DevelopmentPreferences import app.simple.inure.preferences.HomePreferences import app.simple.inure.preferences.TrialPreferences +import app.simple.inure.util.ArrayUtils.circularGet import app.simple.inure.util.ConditionUtils.isZero import app.simple.inure.util.RecyclerViewUtils @@ -71,8 +72,8 @@ class AdapterHome(private val list: List>) : RecyclerView.Adapter holder.icon.imageTintList = ColorStateList(arrayOf(intArrayOf( android.R.attr.state_enabled ), intArrayOf()), intArrayOf( - Colors.getColors()[position], - Colors.getColors()[position] + Colors.getColors().circularGet(position)!!, + Colors.getColors().circularGet(position)!! )) if (AccessibilityPreferences.isHighlightMode()) { diff --git a/app/src/main/java/app/simple/inure/constants/Colors.kt b/app/src/main/java/app/simple/inure/constants/Colors.kt index a0ed5efba..dd1eb1857 100644 --- a/app/src/main/java/app/simple/inure/constants/Colors.kt +++ b/app/src/main/java/app/simple/inure/constants/Colors.kt @@ -1,8 +1,10 @@ package app.simple.inure.constants +import android.annotation.SuppressLint import android.graphics.Color import app.simple.inure.preferences.AccessibilityPreferences +@SuppressLint("UseKtx") @Suppress("MemberVisibilityCanBePrivate") object Colors { diff --git a/app/src/main/java/app/simple/inure/util/ArrayUtils.kt b/app/src/main/java/app/simple/inure/util/ArrayUtils.kt index 0c75b39b4..dbf54aa55 100644 --- a/app/src/main/java/app/simple/inure/util/ArrayUtils.kt +++ b/app/src/main/java/app/simple/inure/util/ArrayUtils.kt @@ -139,4 +139,9 @@ object ArrayUtils { fun List.second(): T { return this[1] } + + fun List?.circularGet(index: Int): T? { + if (this.isNullOrEmpty()) return null + return this[index % size] + } }