Available since Roku OS 8.

The roDeviceInfo component sends the roDeviceInfoEvent with the following predicates that indicate its valid event types:

isStatusMessage() as Boolean

Device status has changed.

GetInfo() as Object

 Returns an roAssociativeArray containing one of the following members:

MemberTypeDescription
linkStatusBooleanTrue if the device currently seems to have an active network connection. The linkStatus event will only ever get fired if ifDeviceInfo.EnableLinkStatusEvent(true) is called before entering the message loop.
audioGuideEnabledBooleanTrue if Audio Guide is enabled. The audioGuideEnabled event will only ever get fired if ifDeviceInfo.EnableAudioGuideChangedEvent(true) is called before entering the message loop.
exitedScreensaverBooleanTrue if the screensaver was exited. The exitedScreensaver event will only ever get fired if ifDeviceInfo.EnableScreensaverExitedEvent(true) is called before entering the message loop.
appFocusBoolean

It is set to False when the System Overlay takes focus and True when the channel regains focus.

generalMemoryLevel

String

generalMemoryLevel fires notifications to the channel about memory levels.
  • "normal" means that the general memory is within acceptable levels
  • "low" means that the general memory is below acceptable levels but not critical
  • "critical" means that general memory are at dangerously low level and that the OS may force terminate the application

This event will be sent first when the OS transitions from "normal" to "low" state and will continue to be sent while in "low" or "critical" states. The events will be throttled so as to not overwhelm the application listening for these events. The application may voluntarily free up memory by invalidating references to objects (e.g. release ContentNodes held in a cache, release offscreen renderable nodes, etc.). The "low" and "critical" events will be sent to the OS forces the application to exit.

Available since firmware version 8.1

audioCodecCapabilityChangedBoolean

The audio codec capability has changed if true. If your application receives this event, you can check the current audio playback capability using the CanDecodeAudio and GetAudioDecodeInfo methods of the roDeviceInfo component.

The audioCodecCapabilityChanged event is only fired if ifDeviceInfo.EnableCodecCapChangedEvent(true) is called before entering the message loop.

Available since firmware version 9.1

videoCodecCapabilityChangedBoolean

The video codec capability has changed if true. If your application receives this event, you can check the current video playback capability using the CanDecodeVideo method of the roDeviceInfo component.

The videoCodecCapabilityChanged event is only fired if ifDeviceInfo.EnableCodecCapChangedEvent(true) is called before entering the message loop.

Available since firmware version 9.1

isCaptionModeChanged() as Boolean

When the user changes the closed caption mode or track, roDeviceInfoEvent of type isCaptionModeChanged() is sent.

GetInfo() as Object

The developer can call GetInfo() on the event to know the current global setting for the Mode property.

The possible return values are those listed for the Mode property:

    • "On"
    • "Off"
    • "Instant replay"
    • "When mute"

Note: "When mute" is only returned for a TV, as this option is not available on STBs.