Skip to content

Commit 689c061

Browse files
Merge pull request #363 from MihaiCristianCondrea/codex/replace-slotanchors-usage-with-getvalue
Handle missing ad slot anchors safely
2 parents aac89c0 + 872145c commit 689c061

File tree

1 file changed

+17
-5
lines changed

1 file changed

+17
-5
lines changed

app/src/main/kotlin/com/d4rk/cleaner/app/clean/dashboard/ui/ScannerDashboardScreen.kt

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -206,16 +206,28 @@ fun ScannerDashboardScreen(
206206
AdSlot.F to 11
207207
)
208208

209-
val adQueue = allowedSlots.sortedBy { slotAnchors[it]!! }.toMutableList()
209+
val adQueue = allowedSlots
210+
.filter { slotAnchors[it] != null }
211+
.sortedBy { slotAnchors.getValue(it) }
212+
.toMutableList()
210213
val items = mutableListOf<HomeItem>()
211214
var lastWasAd = false
212215
for ((index, card) in content) {
213216
items.add(HomeItem.Card(card))
214217
lastWasAd = false
215-
while (adQueue.isNotEmpty() && slotAnchors[adQueue.first()]!! <= index) {
216-
if (!lastWasAd) {
217-
items.add(HomeItem.Ad(adQueue.removeAt(0)))
218-
lastWasAd = true
218+
while (adQueue.isNotEmpty()) {
219+
val slot = adQueue.first()
220+
val anchor = slotAnchors[slot] ?: run {
221+
adQueue.removeAt(0)
222+
continue
223+
}
224+
if (anchor <= index) {
225+
if (!lastWasAd) {
226+
items.add(HomeItem.Ad(adQueue.removeAt(0)))
227+
lastWasAd = true
228+
} else {
229+
break
230+
}
219231
} else {
220232
break
221233
}

0 commit comments

Comments
 (0)