com.blackledge.david.tivo.gadgets
Class RSSListScreen

java.lang.Object
  extended by com.tivo.hme.sdk.HmeObject
      extended by com.tivo.hme.sdk.View
          extended by com.tivo.hme.bananas.BView
              extended by com.tivo.hme.bananas.BScreen
                  extended by com.blackledge.david.tivo.gadgets.RSSListScreen
All Implemented Interfaces:
com.tivo.hme.bananas.IBananas, com.tivo.hme.bananas.IHighlightsLayout, com.tivo.hme.sdk.IHmeEventHandler, com.tivo.hme.sdk.IHmeProtocol

public class RSSListScreen
extends com.tivo.hme.bananas.BScreen

Screen that displays RSS Feed information, displaying the current item's title, pubDate, and Description at the top of the screen. Posts "action" events of RIGHT and SELECT when the user does that, and QUIT when the user hits the "left" key (all via GenericList).

Version:
$Revision: 1.4 $

Field Summary
static String QUIT
           
static String RIGHT
           
static String SELECT
           
 
Fields inherited from interface com.tivo.hme.bananas.IBananas
A_ANCHOR_MASK, A_BOTTOM, A_CENTER, A_DELTA_MASK, A_LEFT, A_NEGATIVE_MASK, A_RIGHT, A_TOP, ARROW_NAMES, BAR_DEFAULT, BAR_HANG, BEVT_ACTION, BEVT_FOCUS, BEVT_SCREEN_ENTER, BEVT_SCREEN_EXIT, H_BAR, H_DOWN, H_KEYBOARD, H_LEFT, H_PAGEDOWN, H_PAGEUP, H_RIGHT, H_UP, H_VIS_FALSE, H_VIS_FOCUS, H_VIS_TRUE, TRANSITION_FADE, TRANSITION_LEFT, TRANSITION_NONE
 
Fields inherited from interface com.tivo.hme.sdk.IHmeProtocol
APP_ERROR_BAD_ARGUMENT, APP_ERROR_BAD_COMMAND, APP_ERROR_OTHER, APP_ERROR_OUT_OF_MEMORY, APP_ERROR_RSRC_NOT_FOUND, APP_ERROR_UNKNOWN, APP_ERROR_VIEW_NOT_FOUND, CMD_RECEIVER_ACKNOWLEDGE_IDLE, CMD_RECEIVER_TRANSITION, CMD_RESERVED, CMD_RSRC_ADD_ANIM, CMD_RSRC_ADD_COLOR, CMD_RSRC_ADD_FONT, CMD_RSRC_ADD_IMAGE, CMD_RSRC_ADD_SOUND, CMD_RSRC_ADD_STREAM, CMD_RSRC_ADD_TEXT, CMD_RSRC_ADD_TTF, CMD_RSRC_CLOSE, CMD_RSRC_REMOVE, CMD_RSRC_SEND_EVENT, CMD_RSRC_SET_ACTIVE, CMD_RSRC_SET_POSITION, CMD_RSRC_SET_SPEED, CMD_VIEW_ADD, CMD_VIEW_REMOVE, CMD_VIEW_SET_BOUNDS, CMD_VIEW_SET_PAINTING, CMD_VIEW_SET_RESOURCE, CMD_VIEW_SET_SCALE, CMD_VIEW_SET_TRANSLATION, CMD_VIEW_SET_TRANSPARENCY, CMD_VIEW_SET_VISIBLE, EVT_APP_INFO, EVT_DEVICE_INFO, EVT_FONT_INFO, EVT_IDLE, EVT_INIT_INFO, EVT_KEY, EVT_RESERVED, EVT_RSRC_INFO, FONT_BOLD, FONT_BOLDITALIC, FONT_ITALIC, FONT_METRICS_BASIC, FONT_METRICS_GLYPH, FONT_PLAIN, ID_ALERT_SOUND, ID_BONK_SOUND, ID_CLIENT, ID_CLIENT_PRE_0_38, ID_DEFAULT_TTF, ID_DESELECT_SOUND, ID_ERROR_SOUND, ID_LEFT_SOUND, ID_NULL, ID_PAGEDOWN_SOUND, ID_PAGEUP_SOUND, ID_RESERVED, ID_RIGHT_SOUND, ID_ROOT_STREAM, ID_ROOT_VIEW, ID_SELECT_SOUND, ID_SLOWDOWN1_SOUND, ID_SPEEDUP1_SOUND, ID_SPEEDUP2_SOUND, ID_SPEEDUP3_SOUND, ID_SYSTEM_TTF, ID_THUMBSDOWN_SOUND, ID_THUMBSUP_SOUND, ID_TIVO_SOUND, ID_UPDOWN_SOUND, KEY_ADVANCE, KEY_CHANNELDOWN, KEY_CHANNELUP, KEY_CLEAR, KEY_DISPLAY, KEY_DOWN, KEY_ENTER, KEY_FORWARD, KEY_INFO, KEY_LEFT, KEY_LIVETV, KEY_MUTE, KEY_NUM0, KEY_NUM1, KEY_NUM2, KEY_NUM3, KEY_NUM4, KEY_NUM5, KEY_NUM6, KEY_NUM7, KEY_NUM8, KEY_NUM9, KEY_OPT_ANGLE, KEY_OPT_ASPECT, KEY_OPT_DVD, KEY_OPT_EXIT, KEY_OPT_GUIDE, KEY_OPT_LIST, KEY_OPT_MENU, KEY_OPT_PIP, KEY_OPT_STOP, KEY_OPT_TOP_MENU, KEY_OPT_WINDOW, KEY_PAUSE, KEY_PLAY, KEY_PRESS, KEY_RECORD, KEY_RELEASE, KEY_REPEAT, KEY_REPLAY, KEY_REVERSE, KEY_RIGHT, KEY_SELECT, KEY_SLOW, KEY_THUMBSDOWN, KEY_THUMBSUP, KEY_TIVO, KEY_UNKNOWN, KEY_UP, KEY_VOLUMEDOWN, KEY_VOLUMEUP, LIMIT_CMD_NBYTES, LIMIT_EVENT_NBYTES, LIMIT_FONT_POINT_SIZE, LIMIT_IMAGE_HEIGHT, LIMIT_IMAGE_NBYTES, LIMIT_IMAGE_WIDTH, LIMIT_SOUND_NBYTES, LIMIT_TEXT_NBYTES, LIMIT_URL_NBYTES, LIMIT_VIEW_DEPTH, MAGIC, RSRC_ERROR_BAD_ARGUMENT, RSRC_ERROR_BAD_DATA, RSRC_ERROR_BAD_MAGIC, RSRC_ERROR_BAD_STATE, RSRC_ERROR_BAD_VERSION, RSRC_ERROR_CONNECT_FAILED, RSRC_ERROR_CONNECTION_LOST, RSRC_ERROR_CONNECTION_TIMEOUT, RSRC_ERROR_HOST_NOT_FOUND, RSRC_ERROR_INCOMPATIBLE, RSRC_ERROR_NOT_SUPPORTED, RSRC_ERROR_OTHER, RSRC_ERROR_UNKNOWN, RSRC_HALIGN_CENTER, RSRC_HALIGN_LEFT, RSRC_HALIGN_MASK, RSRC_HALIGN_RIGHT, RSRC_IMAGE_BESTFIT, RSRC_IMAGE_HFIT, RSRC_IMAGE_MASK, RSRC_IMAGE_VFIT, RSRC_STATUS_CLOSED, RSRC_STATUS_COMPLETE, RSRC_STATUS_CONNECTED, RSRC_STATUS_CONNECTING, RSRC_STATUS_ERROR, RSRC_STATUS_LOADING, RSRC_STATUS_PAUSED, RSRC_STATUS_PLAYING, RSRC_STATUS_READY, RSRC_STATUS_SEEKING, RSRC_STATUS_UNKNOWN, RSRC_TEXT_MASK, RSRC_TEXT_WRAP, RSRC_VALIGN_BOTTOM, RSRC_VALIGN_CENTER, RSRC_VALIGN_MASK, RSRC_VALIGN_TOP, SAFE_ACTION_H, SAFE_ACTION_V, SAFE_TITLE_H, SAFE_TITLE_V, TRANSITION_BACK, TRANSITION_FORWARD, TRANSITION_TELEPORT, VERSION, VERSION_0_38, VERSION_0_40, VERSION_MAJOR, VERSION_MINOR, VERSION_STRING
 
Constructor Summary
RSSListScreen(com.tivo.hme.bananas.BApplication app, Document rss)
           
RSSListScreen(com.tivo.hme.bananas.BApplication app, String url)
           
 
Method Summary
protected  void finalize()
           
protected  List getChildElementsByTagName(Element parentElement, String name)
          Often we want to work with all the subtags of a given name (or just all subtags) - this gets them for us.
 Object getCurrentItem()
           
static String getUrlContent(URL _url, String contentTypeSubstring)
          TODO move to utility.
 boolean handleEnter(Object arg, boolean isReturn)
           
 boolean handleExit()
           
 
Methods inherited from class com.tivo.hme.bananas.BScreen
getAbove, getBelow, getFocus, getFocusDefault, getNormal, handleAction, handleEvent, handleFocus, setFocus, setFocusDefault
 
Methods inherited from class com.tivo.hme.bananas.BView
getBApp, getFocusBounds, getHighlightBounds, getHighlightIsVisible, getHighlights, getScreen, handleKeyPress, hasFocus, isAncestorOf, isFocusable, setFocusable, setHighlights, toScreen, toScreen, toScreenBounds, toScreenBounds, toString
 
Methods inherited from class com.tivo.hme.sdk.View
clearResource, dump, getBounds, getChild, getChildCount, getFlags, getHeight, getLocation, getPainting, getParent, getResource, getScaleX, getScaleY, getSize, getTranslate, getTranslationX, getTranslationY, getTransparency, getVisible, getWidth, getX, getY, handleFocus, layoutText, postEvent, remove, remove, setBounds, setBounds, setFocus, setLocation, setLocation, setPainting, setResource, setResource, setResource, setResource, setScale, setScale, setSize, setSize, setTranslation, setTranslation, setTransparency, setTransparency, setVisible, setVisible, translate, translate
 
Methods inherited from class com.tivo.hme.sdk.HmeObject
createAnimation, createAnimation, createColor, createFont, createFont, createImage, createImage, createImage, createImage, createSound, createSound, createSound, createStream, createStream, createStream, createText, createTrueType, flush, getApp, getContext, getID, getResource, handleKeyRelease, handleKeyRepeat, parseQuery, play, rsrcFlagsToString, toString
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

RIGHT

public static final String RIGHT
See Also:
Constant Field Values

QUIT

public static final String QUIT
See Also:
Constant Field Values

SELECT

public static final String SELECT
See Also:
Constant Field Values
Constructor Detail

RSSListScreen

public RSSListScreen(com.tivo.hme.bananas.BApplication app,
                     String url)

RSSListScreen

public RSSListScreen(com.tivo.hme.bananas.BApplication app,
                     Document rss)
Method Detail

getCurrentItem

public Object getCurrentItem()

getChildElementsByTagName

protected List getChildElementsByTagName(Element parentElement,
                                         String name)
Often we want to work with all the subtags of a given name (or just all subtags) - this gets them for us.

Parameters:
parentElement -
name - - null means accept all tag names into the list.
Returns:
List containing only Element instances. never null

getUrlContent

public static String getUrlContent(URL _url,
                                   String contentTypeSubstring)
                            throws IOException
TODO move to utility. Get the content of a URL's page as a string.

Parameters:
_url -
contentTypeSubstring - if not null, this method will return null if the contentType of the url's connection is null or doesn't contain this substring.
Returns:
the content, or null if there was a problem
Throws:
IOException - if one happens while reading the stream (if one happens while connecting, null is returned)

finalize

protected void finalize()
                 throws Throwable
Overrides:
finalize in class Object
Throws:
Throwable

handleExit

public boolean handleExit()
Overrides:
handleExit in class com.tivo.hme.bananas.BScreen

handleEnter

public boolean handleEnter(Object arg,
                           boolean isReturn)
Overrides:
handleEnter in class com.tivo.hme.bananas.BScreen