Skip to content

Commit bfa5162

Browse files
committed
Add more defensive coding to home items
1 parent b4acde2 commit bfa5162

File tree

1 file changed

+17
-11
lines changed

1 file changed

+17
-11
lines changed

components/home/HomeItem.bs

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -350,46 +350,52 @@ sub displayProgramInfo(itemData as object)
350350
end sub
351351

352352
sub displayEpisodeInfo(localGlobal as object, itemData as object)
353-
m.itemText.text = itemData.json.SeriesName
353+
if isChainValid(itemData, "json.SeriesName")
354+
m.itemText.text = itemData.json.SeriesName
355+
end if
354356

355-
if itemData.PlayedPercentage > 0
356-
drawProgressBar(itemData)
357+
if isValid(itemData.LookupCI("PlayedPercentage"))
358+
if itemData.LookupCI("PlayedPercentage") > 0
359+
drawProgressBar(itemData)
360+
end if
357361
end if
358362

359363
if localGlobal.session.user.settings["ui.general.episodeimagesnextup"] = "webclient"
360364
tmpSetting = localGlobal.session.user.Configuration.useEpisodeImagesInNextUpAndResume
361365
if isValid(tmpSetting) and tmpSetting
362-
m.itemPoster.uri = itemData.thumbnailURL
366+
m.itemPoster.uri = itemData.LookupCI("thumbnailURL")
363367
else
364-
m.itemPoster.uri = itemData.widePosterURL
368+
m.itemPoster.uri = itemData.LookupCI("widePosterURL")
365369
end if
366370
else if localGlobal.session.user.settings["ui.general.episodeimagesnextup"] = "show"
367-
m.itemPoster.uri = itemData.widePosterURL
371+
m.itemPoster.uri = itemData.LookupCI("widePosterURL")
368372
else if localGlobal.session.user.settings["ui.general.episodeimagesnextup"] = "episode"
369-
m.itemPoster.uri = itemData.thumbnailURL
373+
m.itemPoster.uri = itemData.LookupCI("thumbnailURL")
370374
end if
371375

372376
' Set Series and Episode Number for Extra Text
373377
extraPrefix = ""
374-
if isValid(itemData.json.ParentIndexNumber)
378+
if isChainValid(itemData, "json.ParentIndexNumber")
375379
extraPrefix = "S" + StrI(itemData.json.ParentIndexNumber).trim()
376380
end if
377381

378-
if isValid(itemData.json.IndexNumber)
382+
if isChainValid(itemData, "json.IndexNumber")
379383
extraPrefix = extraPrefix + "E" + StrI(itemData.json.IndexNumber).trim()
380384
end if
381385

382386
if extraPrefix.len() > 0
383387
extraPrefix = extraPrefix + " - "
384388
end if
385389

386-
m.itemTextExtra.text = extraPrefix + itemData.name
390+
m.itemTextExtra.text = extraPrefix + itemData.LookupCI("name")
387391
end sub
388392

389393
'
390394
' Draws and animates item progress bar
391395
sub drawProgressBar(itemData)
392-
m.itemProgressBackground.width = itemData.imageWidth
396+
if not isValid(itemData.LookupCI("imageWidth")) then return
397+
398+
m.itemProgressBackground.width = itemData.LookupCI("imageWidth")
393399
m.itemProgressBackground.visible = true
394400
m.showProgressBarField.keyValue = [0, m.itemPoster.width * (itemData.PlayedPercentage / 100)]
395401
m.showProgressBarAnimation.control = AnimationControl.START

0 commit comments

Comments
 (0)