loadingBitmapUri not working

I’m trying to use the loadingBitmapUri for a RowList as described here: https://sdkdocs.roku.com/display/sdkdoc/RowList

When I set that field to to an image in my project I get the following error:

Error creating XML component HomeScreen
– Error setting the “loadingBitmapUri” field of a “RowList” node
– Error found at line 20 of file pkg:/components/screens/HomeScreen/HomeScreen.xml

I’ve also tried setting the field on a Poster and I get a similar error. What’s the proper usage of loadingBitmapUri?

Can you post the contents of pkg:/components/screens/HomeScreen/HomeScreen.xml


<?xml version="1.0" encoding="utf-8" ?> 

<component name="HomeScreen" extends="Group">
    
    <script type="text/brightscript" uri="pkg:/components/screens/HomeScreen/HomeScreen.brs" />

    <interface> 
        <field id="playlists" type="node"/>
    </interface>

    <children>

        <RowList
            id="videoList"
            visible="false"
            itemComponentName="PosterItemHero"
            itemSize = "[1920, 785]"
            rowItemSize = "[[1400, 785]]"
            focusXOffset = "[262]"
            showRowLabel="false"
            showRowCounter="false"
            rowFocusAnimationStyle="fixedFocusWrap"
            failedBitmapUri="pkg:/images/placeholder-image.png"
            focusBitmapUri="pkg:/images/9-patch/focus_thumbnail_home.9.png"
            translation="[0, 38]" />

    </children>

</component>

I don’t get it…I don’t see the use of loadingBitmapUri in your XML.

But I do see one mistake on line 20

showRowLabel = “false”

It’s supposed to be an array of boolean
https://sdkdocs.roku.com/display/sdkdoc/RowList
“Specifies whether the row label on the left edge of each row is displayed. If the array contains fewer elements than the number of rows in the data model, the last value in array is used to control the display of the row label for the extra rows. If the array contains no values, no row labels are displayed.”

So try:
showRowLabel = “[false]”

and see if that works. I suspect you are setting loadingBitmapUri in HomeScreen.brs but because it can’t load the XML RowList component, you don’t actually get a correct RowList node is my best guess.

“BCVatOVG” wrote:
I don’t get it…I don’t see the use of loadingBitmapUri in your XML.

Ahh, I made a mistake when I posted the code. I removed the field from my code because it was breaking, and when I posted the example code i typed failedBitmapUri instead of loadingBitmapUri.

Here it is:


<?xml version="1.0" encoding="utf-8" ?> 

<component name="HomeScreen" extends="Group">
    
    <script type="text/brightscript" uri="pkg:/components/screens/HomeScreen/HomeScreen.brs" />

    <interface> 
        <field id="playlists" type="node"/>
    </interface>

    <children>

        <RowList
            id="videoList"
            visible="false"
            itemComponentName="PosterItemHero"
            itemSize = "[1920, 785]"
            rowItemSize = "[[1400, 785]]"
            focusXOffset = "[262]"
            showRowLabel="false"
            showRowCounter="false"
            rowFocusAnimationStyle="fixedFocusWrap"
            loadingBitmapUri ="pkg:/images/placeholder-image.png"
            focusBitmapUri="pkg:/images/9-patch/focus_thumbnail_home.9.png"
            translation="[0, 38]" />

    </children>

</component>

“BCVatOVG” wrote:
But I do see one mistake on line 20

showRowLabel = “false”

It’s supposed to be an array of boolean
https://sdkdocs.roku.com/display/sdkdoc/RowList
“Specifies whether the row label on the left edge of each row is displayed. If the array contains fewer elements than the number of rows in the data model, the last value in array is used to control the display of the row label for the extra rows. If the array contains no values, no row labels are displayed.”

So try:
showRowLabel = “[false]”

and see if that works. I suspect you are setting loadingBitmapUri in HomeScreen.brs but because it can’t load the XML RowList component, you don’t actually get a correct RowList node is my best guess.

Tried changing the value to an array, but it made no difference. Also tried adding the code in my brs file, but still not seeing the image.


m.videoList.loadingBitmapUri = "pkg:/images/placeholder-image.png"

@BCVatOVG here’s some stripped down code using one of the rowlist examples provided by the roku docs:
https://www.dropbox.com/s/8i2bbhov5zec8 … t.zip?dl=0

Also tested without any errors on:

  1. Roku Streaming Stick (3600X) - 7.1.0b4073-24
  2. Roku TCL TV (5000X) - 7.1.0b4055-08
  3. Roku 1 (2710X) - 7.1.0b4062-06

I’m using a Roku 4, firmware version 7.0, built 8906. Not seeing anything that indicates that this only works in 7.1.

Have you tried updating to the latest firmware? It could possibly be a bug in the 7.0 firmware.

I’ll see if I can get my hands on another roku to test. Ideally, we want our channel to support 7.0, bc it doesn’t seem like the 7.1 upgrade is forced on users.

Thanks for the help.

“groman00” wrote:
I’ll see if I can get my hands on another roku to test. Ideally, we want our channel to support 7.0, bc it doesn’t seem like the 7.1 upgrade is forced on users.

Thanks for the help.
They roll out firmware updates over an extended period of time, so they can respond quickly if a major bug is discovered. 7.1 is in the roll out process now. I’d be surprised if it wasn’t on all devices within a couple of weeks.

“TheEndless” wrote:

“groman00” wrote:
I’ll see if I can get my hands on another roku to test. Ideally, we want our channel to support 7.0, bc it doesn’t seem like the 7.1 upgrade is forced on users.

Thanks for the help.
They roll out firmware updates over an extended period of time, so they can respond quickly if a major bug is discovered. 7.1 is in the roll out process now. I’d be surprised if it wasn’t on all devices within a couple of weeks.

So you’re saying eventually everyone will be forced onto 7.1?

“groman00” wrote:
So you’re saying eventually everyone will be forced onto 7.1?
Yes.

Yes, TheEndless is correct. Roku forces updates to the latest. Everyone who’s box is connected to the internet will be automagically forced to the latest firmware throughout the next few weeks as Roku rolls out the firmware update. There is also a mechanism in the package upload on the developer site to set the firmware version for your specific app, which will only allow users running the minimum required firmware to install your new, updated app.