diff --git a/.gitignore b/.gitignore
index fa001aa..b74381e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
out/
out/roku-deploy.zip
+.vscode/
\ No newline at end of file
diff --git a/.vscode/launch.json b/.vscode/launch.json
deleted file mode 100644
index dca2ab3..0000000
--- a/.vscode/launch.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- // Use IntelliSense to learn about possible attributes.
- // Hover to view descriptions of existing attributes.
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
- "version": "0.2.0",
- "configurations": [
- {
- "type": "brightscript",
- "request": "launch",
- "name": "BrightScript Debug: Launch",
- "stopOnEntry": false,
- "host": "${promptForHost}",
- "password": "mega",
- "rootDir": "${workspaceFolder}",
- "enableDebuggerAutoRecovery": false,
- "stopDebuggerOnAppExit": false
- }
- ]
-}
\ No newline at end of file
diff --git a/components/ItemDetailsScreen.xml b/components/ItemDetailsScreen.xml
new file mode 100644
index 0000000..2953cf2
--- /dev/null
+++ b/components/ItemDetailsScreen.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/RowItemDataContent.xml b/components/RowItemDataContent.xml
new file mode 100644
index 0000000..42accf3
--- /dev/null
+++ b/components/RowItemDataContent.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/rowListContent.xml b/components/RowListContent.xml
similarity index 100%
rename from components/rowListContent.xml
rename to components/RowListContent.xml
diff --git a/components/rowListItem.xml b/components/RowListItem.xml
similarity index 93%
rename from components/rowListItem.xml
rename to components/RowListItem.xml
index 65e51b9..ca927f0 100644
--- a/components/rowListItem.xml
+++ b/components/RowListItem.xml
@@ -7,7 +7,7 @@
-
+
diff --git a/components/RowListScene.xml b/components/RowListScene.xml
new file mode 100644
index 0000000..34ee4f6
--- /dev/null
+++ b/components/RowListScene.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/data.json b/components/data.json
index c09d8bd..bd47501 100644
--- a/components/data.json
+++ b/components/data.json
@@ -17,7 +17,8 @@
"thumbnail": "https://dummyimage.com/320x180/000/fff",
"brandedThumbnail": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
"shortDescription": "A live description",
- "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing."
+ "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
+ "tags": ["linear", "news", "celebrity"]
},
{
"id": "1509428502953",
@@ -25,7 +26,8 @@
"thumbnail": "https://dummyimage.com/320x180/000/fff",
"brandedThumbnail": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
"shortDescription": "A live description",
- "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing."
+ "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
+ "tags": ["linear", "news", "celebrity"]
},
{
"id": "1509428502953",
@@ -65,7 +67,8 @@
"thumbnail": "https://dummyimage.com/320x180/000/fff",
"brandedThumbnail": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
"shortDescription": "A live description",
- "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing."
+ "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
+ "tags": ["linear", "news", "celebrity"]
},
{
"id": "1509428502953",
@@ -73,7 +76,8 @@
"thumbnail": "https://dummyimage.com/320x180/000/fff",
"brandedThumbnail": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
"shortDescription": "A live description",
- "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing."
+ "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
+ "tags": ["linear", "news", "celebrity"]
},
{
"id": "1509428502953",
@@ -113,7 +117,8 @@
"thumbnail": "https://dummyimage.com/320x180/000/fff",
"brandedThumbnail": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
"shortDescription": "A live description",
- "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing."
+ "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
+ "tags": ["linear", "news", "celebrity"]
},
{
"id": "1509428502953",
@@ -121,7 +126,8 @@
"thumbnail": "https://dummyimage.com/320x180/000/fff",
"brandedThumbnail": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
"shortDescription": "A live description",
- "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing."
+ "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
+ "tags": ["linear", "news", "celebrity"]
},
{
"id": "1509428502953",
@@ -161,7 +167,8 @@
"thumbnail": "https://dummyimage.com/320x180/000/fff",
"brandedThumbnail": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
"shortDescription": "A live description",
- "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing."
+ "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
+ "tags": ["linear", "news", "celebrity"]
},
{
"id": "1509428502953",
@@ -169,7 +176,8 @@
"thumbnail": "https://dummyimage.com/320x180/000/fff",
"brandedThumbnail": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
"shortDescription": "A live description",
- "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing."
+ "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
+ "tags": ["linear", "news", "celebrity"]
},
{
"id": "1509428502953",
@@ -209,7 +217,8 @@
"thumbnail": "https://dummyimage.com/320x180/000/fff",
"brandedThumbnail": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
"shortDescription": "A live description",
- "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing."
+ "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
+ "tags": ["linear", "news", "celebrity"]
},
{
"id": "1509428502953",
@@ -217,7 +226,8 @@
"thumbnail": "https://dummyimage.com/320x180/000/fff",
"brandedThumbnail": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
"shortDescription": "A live description",
- "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing."
+ "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
+ "tags": ["linear", "news", "celebrity"]
},
{
"id": "1509428502953",
@@ -257,7 +267,8 @@
"thumbnail": "https://dummyimage.com/320x180/000/fff",
"brandedThumbnail": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
"shortDescription": "A live description",
- "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing."
+ "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
+ "tags": ["linear", "news", "celebrity"]
},
{
"id": "1509428502953",
@@ -265,7 +276,8 @@
"thumbnail": "https://dummyimage.com/320x180/000/fff",
"brandedThumbnail": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
"shortDescription": "A live description",
- "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing."
+ "longDescription": "Dolor occaecat esse non non Lorem velit proident duis cupidatat sit elit sit ea adipisicing.",
+ "tags": ["linear", "news", "celebrity"]
},
{
"id": "1509428502953",
diff --git a/components/icons/plus.png b/components/icons/plus.png
new file mode 100644
index 0000000..3dd6f13
Binary files /dev/null and b/components/icons/plus.png differ
diff --git a/components/icons/plusIcon.png b/components/icons/plusIcon.png
new file mode 100644
index 0000000..ea01c07
Binary files /dev/null and b/components/icons/plusIcon.png differ
diff --git a/components/itemDetailsScreen.brs b/components/itemDetailsScreen.brs
new file mode 100644
index 0000000..c6a9a68
--- /dev/null
+++ b/components/itemDetailsScreen.brs
@@ -0,0 +1,53 @@
+sub init()
+ m.mainContent = m.top.findNode("mainContent")
+ m.itemTitle = m.mainContent.findNode("itemTitle")
+ m.itemDescription = m.mainContent.findNode("itemDescription")
+ m.itemTags = m.mainContent.findNode("itemTags")
+ m.itemTime = m.mainContent.findNode("itemTime")
+ m.ButtonGroup = m.mainContent.findNode("ButtonGroup")
+ m.top.ObserveField("content", "handleItemDetails")
+ m.ButtonGroup.focusedTextFont = "font:LargeBoldSystemFont"
+ m.ButtonGroup.textFont = "font:LargeBoldSystemFont"
+ m.ButtonGroup.vertAlignment = "center"
+ m.ButtonGroup.horizAlignment = "center"
+
+
+ ratio = m.global.ratio
+
+ m.mainContent.translation = [cint(m.mainContent.translation[0] * ratio), cint(m.mainContent.translation[1] * ratio)]
+
+ m.watch = m.ButtonGroup.findNode("watch")
+ m.plus = m.ButtonGroup.findNode("plus")
+end sub
+
+sub handleItemDetails()
+ m.itemTitle.text = m.top.content.title
+ m.itemDescription.text = m.top.content.description
+ m.itemTime.text = "Duration : " + formatDuration(m.top.content.time) + " Hour(s)"
+ if m.top.content.tags <> invalid
+ seperator = ""
+ for each tag in m.top.content.tags
+ m.itemTags.text += seperator + tag
+ seperator = " - "
+ end for
+ else
+ m.itemTags.text = "No tags available"
+ end if
+end sub
+
+function formatDuration(duration as integer) as string
+ minutes = (duration \ 60).toStr()
+ seconds = (duration MOD 60).toStr()
+ if len(seconds) < 2
+ seconds = "0" + seconds
+ end if
+ return minutes + ":" + seconds
+end function
+
+sub focusWatch()
+ m.watch.setFocus(true)
+end sub
+
+sub focusPlus()
+ m.plus.setFocus(true)
+end sub
diff --git a/components/rowListContent.brs b/components/rowListContent.brs
index a37fbf2..546beda 100644
--- a/components/rowListContent.brs
+++ b/components/rowListContent.brs
@@ -1,11 +1,31 @@
sub init()
- m.global.http.request = { payload: {
+ m.http = createObject("roSGNode", "httpTask")
+ m.http.request = {
+ payload: {
userId: 1,
title: "WOW, IT WORKED ^_^",
- }, url: "https://jsonplaceholder.typicode.com/albums", requestType: "GET"}
- m.global.http.observeFieldScoped("response", "useResponse")
+ },
+ url: "https://alghool.net/RokuDev/data.json",
+ requestType: "GET"
+ }
+ m.http.control = "RUN"
+ m.http.observeFieldScoped("response", "populateRowList")
end sub
-sub useResponse()
- ?m.global.http.response
+sub populateRowList()
+ for each item in m.http.response.body
+ itemNode = m.top.createChild("ContentNode")
+ itemNode.title = item.title
+ for each data in item.data
+ itemData = itemNode.createChild("rowItemDataContent")
+ itemData.setFields({
+ title: data.title
+ hdPosterURL: data.thumbnail
+ description: data.longDescription
+ tags: data.tags
+ time: data.time
+ })
+ end for
+ m.top.appendChild(itemNode)
+ end for
end sub
diff --git a/components/rowListItem.brs b/components/rowListItem.brs
index 227b724..ff4476d 100644
--- a/components/rowListItem.brs
+++ b/components/rowListItem.brs
@@ -3,24 +3,36 @@ sub init()
m.itemTitle = m.top.findNode("itemTitle")
m.itemMask = m.top.findNode("itemMask")
m.itemDescription = m.top.findNode("itemDescription")
+ m.parentComponent = m.top.getScene()
+
+ ratio = m.global.ratio
+
+ m.itemPoster.scaleRotateCenter = [cint(m.itemPoster.scaleRotateCenter[0] * ratio), cint(m.itemPoster.scaleRotateCenter[1] * ratio)]
+ m.itemPoster.width = cint(m.itemPoster.width * ratio)
+ m.itemPoster.height = cint(m.itemPoster.height * ratio)
+ m.itemPoster.translation = [cint(m.itemPoster.translation[0] * ratio), cint(m.itemPoster.translation[1] * ratio)]
+
+ m.itemMask.width = cint(m.itemMask.width * ratio)
+ m.itemMask.height = cint(m.itemMask.height * ratio)
+ m.itemMask.scaleRotateCenter = [cint(m.itemMask.scaleRotateCenter[0] * ratio), cint(m.itemMask.scaleRotateCenter[1] * ratio)]
+
+ m.itemTitle.width = cint(m.itemTitle.width * ratio)
+ m.itemTitle.translation = [cint(m.itemTitle.translation[0] * ratio), cint(m.itemTitle.translation[1] * ratio)]
+ m.itemTitle.scaleRotateCenter = [cint(m.itemTitle.scaleRotateCenter[0] * ratio), cint(m.itemTitle.scaleRotateCenter[1] * ratio)]
+ m.itemTitle.font.size = cint(32 * ratio)
+
+ m.itemDescription.width = cint(m.itemDescription.width * ratio)
+ m.itemDescription.translation = [cint(m.itemDescription.translation[0] * ratio), cint(m.itemDescription.translation[1] * ratio)]
+ m.itemDescription.scaleRotateCenter = [cint(m.itemDescription.scaleRotateCenter[0] * ratio), cint(m.itemDescription.scaleRotateCenter[1] * ratio)]
+ m.itemDescription.font.size = cint(16 * ratio)
end sub
sub showContent()
itemContent = m.top.itemContent
m.TITLE = itemContent.title
- m.itemPoster.uri = itemContent.HDPosterUrl
+ m.itemPoster.uri = itemContent.hdPosterURL
m.itemTitle.text = itemContent.title
m.itemDescription.text = itemContent.description
- m.itemTitle.font.size = INT(32 * m.global.ratio)
- m.itemDescription.font.size = INT(24 * m.global.ratio)
- m.itemTitle.width = INT(m.itemTitle.width * m.global.ratio)
- m.itemDescription.width = INT(m.itemDescription.width * m.global.ratio)
- m.itemTitle.translation = [INT(m.itemTitle.translation[0] * m.global.ratio), INT(m.itemTitle.translation[1] * m.global.ratio)]
- m.itemDescription.translation = [INT(m.itemDescription.translation[0] * m.global.ratio), INT(m.itemDescription.translation[1] * m.global.ratio)]
- m.itemMask.width = INT(m.itemMask.width * m.global.ratio)
- m.itemMask.height = INT(m.itemMask.height * m.global.ratio)
- m.itemPoster.width = INT(m.itemPoster.width * m.global.ratio)
- m.itemPoster.height = INT(m.itemPoster.height * m.global.ratio)
end sub
sub handleFocus()
@@ -29,6 +41,5 @@ sub handleFocus()
end sub
sub handleRowFocus()
- focusPercent = m.top.rowFocusPercent
- m.itemMask.opacity = 0.85 - (focusPercent * 0.85)
+ m.itemMask.opacity = 0.85 - (m.top.rowFocusPercent * 0.85)
end sub
\ No newline at end of file
diff --git a/components/rowListScene.brs b/components/rowListScene.brs
index 22d7821..02d77b2 100644
--- a/components/rowListScene.brs
+++ b/components/rowListScene.brs
@@ -1,23 +1,119 @@
sub init()
- m.global.addField("http", "node", FALSE)
m.global.addField("ratio", "float", FALSE)
- m.global.http = createObject("roSGNode", "httpTask")
- m.global.http.control = "RUN"
- m.global.ratio = 1
+ m.global.ratio = 1.0
+ m.mainOverlay = m.top.findNode("mainOverlay")
m.rowList = m.top.findNode("mainRowList")
+ m.heroDetails = m.top.findNode("heroDetails")
+ m.providerLogo = m.heroDetails.findNode("providerLogo")
+ m.mainBoldLabel = m.heroDetails.findNode("mainBoldLabel")
+ m.dateAndDurationLabel = m.heroDetails.findNode("dateAndDurationLabel")
+ m.descriptionLabel = m.heroDetails.findNode("descriptionLabel")
+ m.categoryLabel = m.heroDetails.findNode("categoryLabel")
+ m.fadeInAnimation = m.top.findNode("fadeInAnimation")
+ m.fadeOutAnimation = m.top.findNode("fadeOutAnimation")
m.rowList.content = createObject("roSGNode", "RowListContent")
m.rowList.setFocus(true)
+ m.rowList.observeField("rowItemSelected", "handleItemSelected")
+ m.rowList.observeField("rowItemFocused", "onRowItemFocused")
+ m.fadeOutAnimation.observeField("state", "handleAnimationDone")
+
+
+ ' Handling Responsivness
videoMode = createObject("roDeviceInfo")
if videoMode.GetVideoMode() = "720p"
- m.global.ratio = 0.66
+ ratio = 2.0 / 3
+ m.global.ratio = ratio
+
+ m.mainOverlay.width = cint(m.mainOverlay.width * ratio)
+ m.mainOverlay.height = cint(m.mainOverlay.height * ratio)
+
+ print m.heroDetails.translation[0] * ratio, m.heroDetails.translation[0]
+ m.heroDetails.translation = [cint(m.heroDetails.translation[0] * ratio), cint(m.heroDetails.translation[1] * ratio)]
+
+ m.providerLogo.translation = [cint(m.providerLogo.translation[0] * ratio), cint(m.providerLogo.translation[1] * ratio)]
+
+ m.mainBoldLabel.translation = [cint(m.mainBoldLabel.translation[0] * ratio), cint(m.mainBoldLabel.translation[1] * ratio)]
+ m.mainBoldLabel.width = cint(m.mainBoldLabel.width * ratio)
+ m.mainBoldLabel.font.size = cint(46 * ratio)
+
+ m.dateAndDurationLabel.translation = [cint(m.dateAndDurationLabel.translation[0] * ratio), cint(m.dateAndDurationLabel.translation[1] * ratio)]
+ m.dateAndDurationLabel.font.size = cint(36 * ratio)
+
+ m.descriptionLabel.translation = [cint(m.descriptionLabel.translation[0] * ratio), cint(m.descriptionLabel.translation[1] * ratio)]
+ m.descriptionLabel.width = cint(m.descriptionLabel.width * ratio)
+ m.descriptionLabel.font.size = cint(36 * ratio)
+
+ m.categoryLabel.translation = [cint(m.categoryLabel.translation[0] * ratio), cint(m.categoryLabel.translation[1] * ratio)]
+ m.categoryLabel.font.size = cint(46 * ratio)
+
+ m.rowList.focusXOffset = [cint(m.rowList.focusXOffset[0] * ratio)]
+ m.rowList.translation = [cint(m.rowList.translation[0] * ratio), cint(m.rowList.translation[1] * ratio)]
+ m.rowList.rowLabelOffset = [[cint(m.rowList.rowLabelOffset[0][0] * ratio), cint(m.rowList.rowLabelOffset[0][1] * ratio)]]
+ m.rowList.itemSize = [cint(m.rowList.itemSize[0] * ratio), cint(m.rowList.itemSize[1] * ratio)]
+ m.rowList.rowItemSize = [[cint(m.rowList.rowItemSize[0][0] * ratio), cint(m.rowList.rowItemSize[0][1] * ratio)]]
+ m.rowList.rowHeights = [cint(m.rowList.rowHeights[0] * ratio)]
end if
- if m.global.ratio = 0.66
- m.rowList.rowHeights = [Cdbl(m.rowList.rowHeights[0] * m.global.ratio) + 10]
- m.rowList.rowItemSpacing = [[5, 0]]
- m.rowList.focusXOffset = [Cdbl(m.rowList.focusXOffset[0] * m.global.ratio) - 50]
- m.rowList.rowItemSize = [[INT(m.rowList.rowItemSize[0][0] * m.global.ratio) + 20, INT(m.rowList.rowItemSize[0][1] * m.global.ratio)]]
- m.rowList.translation = [INT(m.rowList.translation[0] * m.global.ratio), INT(m.rowList.translation[1] / m.global.ratio) - 100]
- m.rowList.rowLabelOffset = [[INT(m.rowList.rowLabelOffset[0][0] * m.global.ratio), INT(m.rowList.rowLabelOffset[0][1] * m.global.ratio) - 6]]
- m.rowList.itemSize = [1400, INT(m.rowList.itemSize[1] * m.global.ratio)]
+end sub
+
+' animate the changing of the background's data on item focus change
+sub handleAnimationDone()
+ if m.fadeOutAnimation.state = "stopped"
+ m.mainOverlay.uri = getItem(m.rowList.rowItemFocused).hdPosterURL
+ m.fadeInAnimation.control = "start"
+ end if
+end sub
+
+' Clicking a Row List item
+sub handleItemSelected()
+ m.itemDetailsScreen = createObject("roSGNOde", "ItemDetailsScreen")
+ m.itemDetailsScreen.content = getItem(m.rowList.rowItemSelected)
+ m.itemDetailsScreen.visible = false
+ m.top.appendChild(m.itemDetailsScreen)
+ toggleDetails()
+end sub
+
+function getItem(item as object) as object
+ return m.rowList.content.getChild(item[0]).getChild(item[1])
+end function
+
+sub onRowItemFocused()
+ item = getItem(m.rowList.rowItemFocused)
+ m.mainBoldLabel.text = item.title
+ m.dateAndDurationLabel.text = "21 Sep 21 | 3m"
+ m.descriptionLabel.text = item.description
+ m.categoryLabel.text = "World"
+ m.fadeOutAnimation.control = "start"
+end sub
+
+' Toggle if the details screen is visible or not
+sub toggleDetails()
+ m.rowList.visible = not m.rowList.visible
+ m.heroDetails.visible = not m.heroDetails.visible
+ m.itemDetailsScreen.visible = not m.itemDetailsScreen.visible
+ if m.itemDetailsScreen.visible
+ m.itemDetailsScreen.setFocus(true)
+ else
+ m.rowList.setFocus(true)
+ m.itemDetailsScreen = invalid
end if
end sub
+
+' Handling navigating and exiting the Details Screen
+function onKeyEvent(key as string, press as boolean) as boolean
+ if press then
+ print "onKeyEvent "; key
+ if key = "back" and m.itemDetailsScreen = invalid
+ return false
+ else if key = "back" and m.itemDetailsScreen.visible
+ toggleDetails()
+ return true
+ else if key = "right" and m.itemDetailsScreen.visible
+ m.itemDetailsScreen.callFunc("focusPlus")
+ return true
+ else if key = "left" and m.itemDetailsScreen.visible
+ m.itemDetailsScreen.callFunc("focusWatch")
+ return true
+ end if
+ end if
+ return false
+end function
\ No newline at end of file
diff --git a/components/rowListScene.xml b/components/rowListScene.xml
deleted file mode 100644
index bc7e6b9..0000000
--- a/components/rowListScene.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/components/tasks/httpTask.brs b/components/tasks/httpTask.brs
index aee48f2..00bf58d 100644
--- a/components/tasks/httpTask.brs
+++ b/components/tasks/httpTask.brs
@@ -29,14 +29,14 @@ end function
function fire(request as Object) as Object
httpRequest = initiateHttpClient(request.url)
- requestId = httpRequest.getIdentity().ToStr()
+ requestId = httpRequest.getIdentity().toStr()
m.urlRequest[requestId] = {
request:httpRequest
}
if checkRequestType(request.requestType)
httpRequest.AsyncPostFromString(formatJson(request.payload))
else
- httpRequest.AsyncGetToString()
+ httpRequest.AsyncGettoString()
end if
end function
@@ -46,7 +46,7 @@ function handleResponse(responseString as String, message as Object, isOk as Boo
else
body = "An Error has Occurred!!"
end if
- requestId = message.GetSourceIdentity().ToStr()
+ requestId = message.GetSourceIdentity().toStr()
m.urlRequest[requestId] = invalid
return {
requestId: requestId
diff --git a/manifest b/manifest
index 3a2d81f..f832eb5 100644
--- a/manifest
+++ b/manifest
@@ -7,17 +7,14 @@ minor_version=0
build_version=00000
mm_icon_focus_hd=pkg:/images/rsgde_mm_focus_hd.jpg
-
mm_icon_focus_sd=pkg:/images/rde_mm_focus_sd.png
splash_screen_sd=pkg:/images/rde_splash_sd.jpg
-
splash_screen_hd=pkg:/images/rsgde_splash_hd.jpg
-
splash_screen_fhd=pkg:/images/rde_splash_fhd.jpg
splash_color=#662D91
splash_min_time=1000
-ui_resolutions = "fhd,hd"
+ui_resolutions=fhd,hd