Compare commits

..

2 Commits

Author SHA1 Message Date
Siyuan Miao 358981128b fix(native): add video init to native start 2025-09-24 20:54:14 +00:00
Siyuan Miao b9f7b3a787 hide unfinished features 2025-09-24 16:23:28 +00:00
7 changed files with 542 additions and 517 deletions

View File

@ -1,3 +1 @@
# we don't want to build it every time so just put the built files in the repo
#src/ui
src/ui

View File

@ -478,6 +478,386 @@
"createAtStart": true,
"deleteOnScreenUnload": false
},
{
"objID": "45fba80c-2048-4122-d7ea-015bcdc3a86d",
"components": [
{
"objID": "4b3bf4b1-1890-42f6-ebe0-eedb99177d80",
"type": "LVGLScreenWidget",
"left": 0,
"top": 0,
"width": 300,
"height": 240,
"customInputs": [],
"customOutputs": [],
"style": {
"objID": "b5c8e545-e419-4345-a5ca-ee3b4c3430ab",
"useStyle": "default",
"conditionalStyles": [],
"childStyles": []
},
"timeline": [],
"eventHandlers": [
{
"objID": "e1cea438-2bfe-4eec-dd26-57e974fef03f",
"eventName": "LONG_PRESSED",
"handlerType": "action",
"action": "SwitchToMenu",
"userData": 0
},
{
"objID": "579597ea-9d3e-470c-e70d-8c419b87e608",
"eventName": "GESTURE",
"handlerType": "action",
"action": "HomeScreenGesture",
"userData": 0
}
],
"leftUnit": "px",
"topUnit": "px",
"widthUnit": "px",
"heightUnit": "px",
"children": [
{
"objID": "0130cfb9-f59f-4e9c-f429-64afe26b9a74",
"type": "LVGLContainerWidget",
"left": 0,
"top": 0,
"width": 100,
"height": 100,
"customInputs": [],
"customOutputs": [],
"style": {
"objID": "b4da6831-67a7-4428-e3c6-da9fd41ae6f3",
"useStyle": "default",
"conditionalStyles": [],
"childStyles": []
},
"timeline": [],
"eventHandlers": [],
"identifier": "",
"leftUnit": "px",
"topUnit": "px",
"widthUnit": "%",
"heightUnit": "%",
"children": [
{
"objID": "7188a7f1-cc07-4c61-b9f6-ef44e78765c9",
"type": "LVGLContainerWidget",
"left": 0,
"top": 0,
"width": 100,
"height": 32,
"customInputs": [],
"customOutputs": [],
"style": {
"objID": "bc43eb60-61a2-488c-ebb6-c2a8ad8c0747",
"useStyle": "default",
"conditionalStyles": [],
"childStyles": []
},
"timeline": [],
"eventHandlers": [],
"identifier": "NoNetworkHeaderContainer",
"leftUnit": "px",
"topUnit": "px",
"widthUnit": "%",
"heightUnit": "content",
"children": [
{
"objID": "85582d3d-e2b3-4b7a-8eb8-7834bf73210b",
"type": "LVGLImageWidget",
"left": 0,
"top": 0,
"width": 116,
"height": 32,
"customInputs": [],
"customOutputs": [],
"style": {
"objID": "a397b1ff-432a-4ca2-a997-b65ce40bb425",
"useStyle": "default",
"conditionalStyles": [],
"childStyles": []
},
"timeline": [],
"eventHandlers": [],
"identifier": "NoNetworkHeaderLogo",
"leftUnit": "px",
"topUnit": "px",
"widthUnit": "content",
"heightUnit": "content",
"children": [],
"widgetFlags": "ADV_HITTEST|CLICK_FOCUSABLE|GESTURE_BUBBLE|PRESS_LOCK|SCROLLABLE|SCROLL_CHAIN_HOR|SCROLL_CHAIN_VER|SCROLL_ELASTIC|SCROLL_MOMENTUM|SCROLL_WITH_ARROW|SNAPPABLE",
"hiddenFlagType": "literal",
"clickableFlagType": "literal",
"flagScrollbarMode": "",
"flagScrollDirection": "",
"scrollSnapX": "",
"scrollSnapY": "",
"checkedStateType": "literal",
"disabledStateType": "literal",
"states": "",
"localStyles": {
"objID": "e0115d07-4f97-47f6-8944-ba0e406b5a07",
"definition": {
"MAIN": {
"DEFAULT": {
"transform_width": 174,
"transform_height": 49
}
}
}
},
"group": "",
"groupIndex": 0,
"image": "jetkvm",
"setPivot": false,
"pivotX": 0,
"pivotY": 0,
"zoom": 256,
"angle": 0,
"innerAlign": "CENTER"
}
],
"widgetFlags": "CLICK_FOCUSABLE|GESTURE_BUBBLE|PRESS_LOCK|SCROLLABLE|SCROLL_CHAIN_HOR|SCROLL_CHAIN_VER|SCROLL_ELASTIC|SCROLL_MOMENTUM|SCROLL_WITH_ARROW|SNAPPABLE",
"hiddenFlagType": "literal",
"clickableFlag": false,
"clickableFlagType": "literal",
"flagScrollbarMode": "",
"flagScrollDirection": "",
"scrollSnapX": "",
"scrollSnapY": "",
"checkedStateType": "literal",
"disabledStateType": "literal",
"states": "",
"useStyle": "FlowRowSpaceBetween",
"localStyles": {
"objID": "39c292c9-be8f-4df1-a90a-b98a4fec2ff0"
},
"group": "",
"groupIndex": 0
},
{
"objID": "06bed1cd-f7c9-4044-a7bf-769d252a3eba",
"type": "LVGLContainerWidget",
"left": 0,
"top": 0,
"width": 100,
"height": 60,
"customInputs": [],
"customOutputs": [],
"style": {
"objID": "290d8d0b-8b56-4035-efb6-456d3312a10c",
"useStyle": "default",
"conditionalStyles": [],
"childStyles": []
},
"timeline": [],
"eventHandlers": [],
"identifier": "NoNetworkContentContainer",
"leftUnit": "px",
"topUnit": "px",
"widthUnit": "%",
"heightUnit": "%",
"children": [
{
"objID": "b1168e8a-aa45-4048-b61e-7572894467f4",
"type": "LVGLImageWidget",
"left": 227,
"top": 50,
"width": 32,
"height": 32,
"customInputs": [],
"customOutputs": [],
"style": {
"objID": "afadcec5-006c-4df3-8328-ed7a5704f640",
"useStyle": "default",
"conditionalStyles": [],
"childStyles": []
},
"timeline": [],
"eventHandlers": [],
"leftUnit": "px",
"topUnit": "px",
"widthUnit": "content",
"heightUnit": "content",
"children": [],
"widgetFlags": "ADV_HITTEST|CLICK_FOCUSABLE|GESTURE_BUBBLE|PRESS_LOCK|SCROLLABLE|SCROLL_CHAIN_HOR|SCROLL_CHAIN_VER|SCROLL_ELASTIC|SCROLL_MOMENTUM|SCROLL_WITH_ARROW|SNAPPABLE",
"hiddenFlagType": "literal",
"clickableFlagType": "literal",
"flagScrollbarMode": "",
"flagScrollDirection": "",
"scrollSnapX": "",
"scrollSnapY": "",
"checkedStateType": "literal",
"disabledStateType": "literal",
"states": "",
"localStyles": {
"objID": "bf675fc4-3aae-40b1-85f9-f15b907798b1"
},
"group": "",
"groupIndex": 0,
"image": "ethernet",
"setPivot": false,
"pivotX": 0,
"pivotY": 0,
"zoom": 256,
"angle": 0,
"innerAlign": "CENTER"
},
{
"objID": "d9e5f6b7-1e95-415d-9fd0-2d532cf11e86",
"type": "LVGLLabelWidget",
"left": 0,
"top": 0,
"width": 171,
"height": 31,
"customInputs": [],
"customOutputs": [],
"style": {
"objID": "3a3ab91b-aae4-4ee6-87d6-ab177b91007c",
"useStyle": "default",
"conditionalStyles": [],
"childStyles": []
},
"timeline": [],
"eventHandlers": [],
"identifier": "NoNetworkTitle",
"leftUnit": "%",
"topUnit": "%",
"widthUnit": "content",
"heightUnit": "content",
"children": [],
"widgetFlags": "CLICK_FOCUSABLE|GESTURE_BUBBLE|PRESS_LOCK|SCROLLABLE|SCROLL_CHAIN_HOR|SCROLL_CHAIN_VER|SCROLL_ELASTIC|SCROLL_MOMENTUM|SCROLL_WITH_ARROW|SNAPPABLE",
"hiddenFlagType": "literal",
"clickableFlagType": "literal",
"checkedStateType": "literal",
"disabledStateType": "literal",
"states": "",
"useStyle": "LabelFontBold30",
"localStyles": {
"objID": "e2f48223-dc29-4983-bd27-32d3a0a0942c"
},
"groupIndex": 0,
"text": "No Network",
"textType": "literal",
"longMode": "WRAP",
"recolor": false,
"previewValue": "169.254.169.254"
},
{
"objID": "749af7be-38c8-4ca0-c317-bcd1ae3cf372",
"type": "LVGLLabelWidget",
"left": 0,
"top": 0,
"width": 173,
"height": 17,
"customInputs": [],
"customOutputs": [],
"style": {
"objID": "33aac33f-d850-44ca-d7d1-6a5b31dcdbba",
"useStyle": "default",
"conditionalStyles": [],
"childStyles": []
},
"timeline": [],
"eventHandlers": [],
"identifier": "HomeInfoIPv6Addr_1",
"leftUnit": "%",
"topUnit": "%",
"widthUnit": "content",
"heightUnit": "content",
"children": [],
"widgetFlags": "CLICK_FOCUSABLE|GESTURE_BUBBLE|PRESS_LOCK|SCROLLABLE|SCROLL_CHAIN_HOR|SCROLL_CHAIN_VER|SCROLL_ELASTIC|SCROLL_MOMENTUM|SCROLL_WITH_ARROW|SNAPPABLE",
"hiddenFlagType": "literal",
"clickableFlagType": "literal",
"checkedStateType": "literal",
"disabledStateType": "literal",
"states": "",
"useStyle": "LabelFont16",
"localStyles": {
"objID": "b904b337-313e-4972-df91-81a6cf53a309"
},
"groupIndex": 0,
"text": "Connect Ethernet cable",
"textType": "literal",
"longMode": "DOT",
"recolor": false
}
],
"widgetFlags": "CLICK_FOCUSABLE|GESTURE_BUBBLE|PRESS_LOCK|SCROLL_CHAIN_VER|SNAPPABLE|SCROLL_ELASTIC|SCROLL_WITH_ARROW|SCROLL_MOMENTUM|SCROLL_CHAIN_HOR|SCROLLABLE",
"hiddenFlagType": "literal",
"clickableFlag": false,
"clickableFlagType": "literal",
"flagScrollbarMode": "off",
"flagScrollDirection": "",
"scrollSnapX": "",
"scrollSnapY": "",
"checkedStateType": "literal",
"disabledStateType": "literal",
"states": "",
"useStyle": "FlexColumnStart",
"localStyles": {
"objID": "6d2f6255-c50c-4146-fbc7-8a61d2de438f",
"definition": {
"MAIN": {
"DEFAULT": {
"flex_main_place": "CENTER",
"flex_cross_place": "CENTER",
"flex_track_place": "CENTER"
}
}
}
},
"group": "",
"groupIndex": 0
}
],
"widgetFlags": "CLICK_FOCUSABLE|GESTURE_BUBBLE|PRESS_LOCK|SCROLLABLE|SCROLL_CHAIN_HOR|SCROLL_CHAIN_VER|SCROLL_ELASTIC|SCROLL_MOMENTUM|SCROLL_WITH_ARROW|SNAPPABLE",
"hiddenFlagType": "literal",
"clickableFlag": false,
"clickableFlagType": "literal",
"flagScrollbarMode": "",
"flagScrollDirection": "",
"scrollSnapX": "",
"scrollSnapY": "",
"checkedStateType": "literal",
"disabledStateType": "literal",
"states": "",
"useStyle": "FlexStart",
"localStyles": {
"objID": "ad328009-7550-4b76-9cf1-f3fd4e2a9f4b"
},
"group": "",
"groupIndex": 0
}
],
"widgetFlags": "CLICKABLE|PRESS_LOCK|CLICK_FOCUSABLE|GESTURE_BUBBLE|SNAPPABLE|SCROLLABLE|SCROLL_ELASTIC|SCROLL_MOMENTUM|SCROLL_CHAIN_HOR|SCROLL_CHAIN_VER",
"hiddenFlagType": "literal",
"clickableFlag": true,
"clickableFlagType": "literal",
"checkedStateType": "literal",
"disabledStateType": "literal",
"states": "",
"useStyle": "FlexScreen",
"localStyles": {
"objID": "46cc15c4-12a7-4cb1-d22a-cc3eee92567e"
},
"groupIndex": 0
}
],
"connectionLines": [],
"localVariables": [],
"userProperties": [],
"name": "NoNetworkScreen",
"left": 0,
"top": 0,
"width": 300,
"height": 240,
"isUsedAsUserWidget": false,
"createAtStart": true,
"deleteOnScreenUnload": false
},
{
"objID": "9015cb6f-3b0a-4911-dffe-9b1e8c42dbcc",
"components": [
@ -1592,7 +1972,15 @@
"childStyles": []
},
"timeline": [],
"eventHandlers": [],
"eventHandlers": [
{
"objID": "0cfa755f-e8ad-4b2e-ad57-9300cc66a3c3",
"eventName": "PRESSED",
"handlerType": "action",
"action": "MenuScreenGesture",
"userData": 0
}
],
"leftUnit": "px",
"topUnit": "px",
"widthUnit": "px",
@ -1756,7 +2144,7 @@
"left": 0,
"top": 0,
"width": 100,
"height": 282,
"height": 108,
"customInputs": [],
"customOutputs": [],
"style": {
@ -1880,6 +2268,7 @@
"conditionalStyles": [],
"childStyles": []
},
"hiddenInEditor": true,
"timeline": [],
"eventHandlers": [],
"identifier": "MenuBtnNetwork",
@ -1903,6 +2292,7 @@
"conditionalStyles": [],
"childStyles": []
},
"hiddenInEditor": true,
"timeline": [],
"eventHandlers": [],
"leftUnit": "px",
@ -1965,6 +2355,7 @@
"conditionalStyles": [],
"childStyles": []
},
"hiddenInEditor": true,
"timeline": [],
"eventHandlers": [],
"identifier": "MenuBtnAccess",
@ -1988,6 +2379,7 @@
"conditionalStyles": [],
"childStyles": []
},
"hiddenInEditor": true,
"timeline": [],
"eventHandlers": [],
"leftUnit": "px",
@ -2050,6 +2442,7 @@
"conditionalStyles": [],
"childStyles": []
},
"hiddenInEditor": true,
"timeline": [],
"eventHandlers": [
{
@ -2081,6 +2474,7 @@
"conditionalStyles": [],
"childStyles": []
},
"hiddenInEditor": true,
"timeline": [],
"eventHandlers": [],
"leftUnit": "px",
@ -5976,386 +6370,6 @@
"isUsedAsUserWidget": false,
"createAtStart": true,
"deleteOnScreenUnload": false
},
{
"objID": "45fba80c-2048-4122-d7ea-015bcdc3a86d",
"components": [
{
"objID": "4b3bf4b1-1890-42f6-ebe0-eedb99177d80",
"type": "LVGLScreenWidget",
"left": 0,
"top": 0,
"width": 300,
"height": 240,
"customInputs": [],
"customOutputs": [],
"style": {
"objID": "b5c8e545-e419-4345-a5ca-ee3b4c3430ab",
"useStyle": "default",
"conditionalStyles": [],
"childStyles": []
},
"timeline": [],
"eventHandlers": [
{
"objID": "e1cea438-2bfe-4eec-dd26-57e974fef03f",
"eventName": "LONG_PRESSED",
"handlerType": "action",
"action": "SwitchToMenu",
"userData": 0
},
{
"objID": "579597ea-9d3e-470c-e70d-8c419b87e608",
"eventName": "GESTURE",
"handlerType": "action",
"action": "HomeScreenGesture",
"userData": 0
}
],
"leftUnit": "px",
"topUnit": "px",
"widthUnit": "px",
"heightUnit": "px",
"children": [
{
"objID": "0130cfb9-f59f-4e9c-f429-64afe26b9a74",
"type": "LVGLContainerWidget",
"left": 0,
"top": 0,
"width": 100,
"height": 100,
"customInputs": [],
"customOutputs": [],
"style": {
"objID": "b4da6831-67a7-4428-e3c6-da9fd41ae6f3",
"useStyle": "default",
"conditionalStyles": [],
"childStyles": []
},
"timeline": [],
"eventHandlers": [],
"identifier": "",
"leftUnit": "px",
"topUnit": "px",
"widthUnit": "%",
"heightUnit": "%",
"children": [
{
"objID": "7188a7f1-cc07-4c61-b9f6-ef44e78765c9",
"type": "LVGLContainerWidget",
"left": 0,
"top": 0,
"width": 100,
"height": 32,
"customInputs": [],
"customOutputs": [],
"style": {
"objID": "bc43eb60-61a2-488c-ebb6-c2a8ad8c0747",
"useStyle": "default",
"conditionalStyles": [],
"childStyles": []
},
"timeline": [],
"eventHandlers": [],
"identifier": "NoNetworkHeaderContainer",
"leftUnit": "px",
"topUnit": "px",
"widthUnit": "%",
"heightUnit": "content",
"children": [
{
"objID": "85582d3d-e2b3-4b7a-8eb8-7834bf73210b",
"type": "LVGLImageWidget",
"left": 0,
"top": 0,
"width": 116,
"height": 32,
"customInputs": [],
"customOutputs": [],
"style": {
"objID": "a397b1ff-432a-4ca2-a997-b65ce40bb425",
"useStyle": "default",
"conditionalStyles": [],
"childStyles": []
},
"timeline": [],
"eventHandlers": [],
"identifier": "NoNetworkHeaderLogo",
"leftUnit": "px",
"topUnit": "px",
"widthUnit": "content",
"heightUnit": "content",
"children": [],
"widgetFlags": "ADV_HITTEST|CLICK_FOCUSABLE|GESTURE_BUBBLE|PRESS_LOCK|SCROLLABLE|SCROLL_CHAIN_HOR|SCROLL_CHAIN_VER|SCROLL_ELASTIC|SCROLL_MOMENTUM|SCROLL_WITH_ARROW|SNAPPABLE",
"hiddenFlagType": "literal",
"clickableFlagType": "literal",
"flagScrollbarMode": "",
"flagScrollDirection": "",
"scrollSnapX": "",
"scrollSnapY": "",
"checkedStateType": "literal",
"disabledStateType": "literal",
"states": "",
"localStyles": {
"objID": "e0115d07-4f97-47f6-8944-ba0e406b5a07",
"definition": {
"MAIN": {
"DEFAULT": {
"transform_width": 174,
"transform_height": 49
}
}
}
},
"group": "",
"groupIndex": 0,
"image": "jetkvm",
"setPivot": false,
"pivotX": 0,
"pivotY": 0,
"zoom": 256,
"angle": 0,
"innerAlign": "CENTER"
}
],
"widgetFlags": "CLICK_FOCUSABLE|GESTURE_BUBBLE|PRESS_LOCK|SCROLLABLE|SCROLL_CHAIN_HOR|SCROLL_CHAIN_VER|SCROLL_ELASTIC|SCROLL_MOMENTUM|SCROLL_WITH_ARROW|SNAPPABLE",
"hiddenFlagType": "literal",
"clickableFlag": false,
"clickableFlagType": "literal",
"flagScrollbarMode": "",
"flagScrollDirection": "",
"scrollSnapX": "",
"scrollSnapY": "",
"checkedStateType": "literal",
"disabledStateType": "literal",
"states": "",
"useStyle": "FlowRowSpaceBetween",
"localStyles": {
"objID": "39c292c9-be8f-4df1-a90a-b98a4fec2ff0"
},
"group": "",
"groupIndex": 0
},
{
"objID": "06bed1cd-f7c9-4044-a7bf-769d252a3eba",
"type": "LVGLContainerWidget",
"left": 0,
"top": 0,
"width": 100,
"height": 60,
"customInputs": [],
"customOutputs": [],
"style": {
"objID": "290d8d0b-8b56-4035-efb6-456d3312a10c",
"useStyle": "default",
"conditionalStyles": [],
"childStyles": []
},
"timeline": [],
"eventHandlers": [],
"identifier": "NoNetworkContentContainer",
"leftUnit": "px",
"topUnit": "px",
"widthUnit": "%",
"heightUnit": "%",
"children": [
{
"objID": "b1168e8a-aa45-4048-b61e-7572894467f4",
"type": "LVGLImageWidget",
"left": 227,
"top": 50,
"width": 32,
"height": 32,
"customInputs": [],
"customOutputs": [],
"style": {
"objID": "afadcec5-006c-4df3-8328-ed7a5704f640",
"useStyle": "default",
"conditionalStyles": [],
"childStyles": []
},
"timeline": [],
"eventHandlers": [],
"leftUnit": "px",
"topUnit": "px",
"widthUnit": "content",
"heightUnit": "content",
"children": [],
"widgetFlags": "ADV_HITTEST|CLICK_FOCUSABLE|GESTURE_BUBBLE|PRESS_LOCK|SCROLLABLE|SCROLL_CHAIN_HOR|SCROLL_CHAIN_VER|SCROLL_ELASTIC|SCROLL_MOMENTUM|SCROLL_WITH_ARROW|SNAPPABLE",
"hiddenFlagType": "literal",
"clickableFlagType": "literal",
"flagScrollbarMode": "",
"flagScrollDirection": "",
"scrollSnapX": "",
"scrollSnapY": "",
"checkedStateType": "literal",
"disabledStateType": "literal",
"states": "",
"localStyles": {
"objID": "bf675fc4-3aae-40b1-85f9-f15b907798b1"
},
"group": "",
"groupIndex": 0,
"image": "ethernet",
"setPivot": false,
"pivotX": 0,
"pivotY": 0,
"zoom": 256,
"angle": 0,
"innerAlign": "CENTER"
},
{
"objID": "d9e5f6b7-1e95-415d-9fd0-2d532cf11e86",
"type": "LVGLLabelWidget",
"left": 0,
"top": 0,
"width": 171,
"height": 31,
"customInputs": [],
"customOutputs": [],
"style": {
"objID": "3a3ab91b-aae4-4ee6-87d6-ab177b91007c",
"useStyle": "default",
"conditionalStyles": [],
"childStyles": []
},
"timeline": [],
"eventHandlers": [],
"identifier": "NoNetworkTitle",
"leftUnit": "%",
"topUnit": "%",
"widthUnit": "content",
"heightUnit": "content",
"children": [],
"widgetFlags": "CLICK_FOCUSABLE|GESTURE_BUBBLE|PRESS_LOCK|SCROLLABLE|SCROLL_CHAIN_HOR|SCROLL_CHAIN_VER|SCROLL_ELASTIC|SCROLL_MOMENTUM|SCROLL_WITH_ARROW|SNAPPABLE",
"hiddenFlagType": "literal",
"clickableFlagType": "literal",
"checkedStateType": "literal",
"disabledStateType": "literal",
"states": "",
"useStyle": "LabelFontBold30",
"localStyles": {
"objID": "e2f48223-dc29-4983-bd27-32d3a0a0942c"
},
"groupIndex": 0,
"text": "No Network",
"textType": "literal",
"longMode": "WRAP",
"recolor": false,
"previewValue": "169.254.169.254"
},
{
"objID": "749af7be-38c8-4ca0-c317-bcd1ae3cf372",
"type": "LVGLLabelWidget",
"left": 0,
"top": 0,
"width": 173,
"height": 17,
"customInputs": [],
"customOutputs": [],
"style": {
"objID": "33aac33f-d850-44ca-d7d1-6a5b31dcdbba",
"useStyle": "default",
"conditionalStyles": [],
"childStyles": []
},
"timeline": [],
"eventHandlers": [],
"identifier": "HomeInfoIPv6Addr_1",
"leftUnit": "%",
"topUnit": "%",
"widthUnit": "content",
"heightUnit": "content",
"children": [],
"widgetFlags": "CLICK_FOCUSABLE|GESTURE_BUBBLE|PRESS_LOCK|SCROLLABLE|SCROLL_CHAIN_HOR|SCROLL_CHAIN_VER|SCROLL_ELASTIC|SCROLL_MOMENTUM|SCROLL_WITH_ARROW|SNAPPABLE",
"hiddenFlagType": "literal",
"clickableFlagType": "literal",
"checkedStateType": "literal",
"disabledStateType": "literal",
"states": "",
"useStyle": "LabelFont16",
"localStyles": {
"objID": "b904b337-313e-4972-df91-81a6cf53a309"
},
"groupIndex": 0,
"text": "Connect Ethernet cable",
"textType": "literal",
"longMode": "DOT",
"recolor": false
}
],
"widgetFlags": "CLICK_FOCUSABLE|GESTURE_BUBBLE|PRESS_LOCK|SCROLL_CHAIN_VER|SNAPPABLE|SCROLL_ELASTIC|SCROLL_WITH_ARROW|SCROLL_MOMENTUM|SCROLL_CHAIN_HOR|SCROLLABLE",
"hiddenFlagType": "literal",
"clickableFlag": false,
"clickableFlagType": "literal",
"flagScrollbarMode": "off",
"flagScrollDirection": "",
"scrollSnapX": "",
"scrollSnapY": "",
"checkedStateType": "literal",
"disabledStateType": "literal",
"states": "",
"useStyle": "FlexColumnStart",
"localStyles": {
"objID": "6d2f6255-c50c-4146-fbc7-8a61d2de438f",
"definition": {
"MAIN": {
"DEFAULT": {
"flex_main_place": "CENTER",
"flex_cross_place": "CENTER",
"flex_track_place": "CENTER"
}
}
}
},
"group": "",
"groupIndex": 0
}
],
"widgetFlags": "CLICK_FOCUSABLE|GESTURE_BUBBLE|PRESS_LOCK|SCROLLABLE|SCROLL_CHAIN_HOR|SCROLL_CHAIN_VER|SCROLL_ELASTIC|SCROLL_MOMENTUM|SCROLL_WITH_ARROW|SNAPPABLE",
"hiddenFlagType": "literal",
"clickableFlag": false,
"clickableFlagType": "literal",
"flagScrollbarMode": "",
"flagScrollDirection": "",
"scrollSnapX": "",
"scrollSnapY": "",
"checkedStateType": "literal",
"disabledStateType": "literal",
"states": "",
"useStyle": "FlexStart",
"localStyles": {
"objID": "ad328009-7550-4b76-9cf1-f3fd4e2a9f4b"
},
"group": "",
"groupIndex": 0
}
],
"widgetFlags": "CLICKABLE|PRESS_LOCK|CLICK_FOCUSABLE|GESTURE_BUBBLE|SNAPPABLE|SCROLLABLE|SCROLL_ELASTIC|SCROLL_MOMENTUM|SCROLL_CHAIN_HOR|SCROLL_CHAIN_VER",
"hiddenFlagType": "literal",
"clickableFlag": true,
"clickableFlagType": "literal",
"checkedStateType": "literal",
"disabledStateType": "literal",
"states": "",
"useStyle": "FlexScreen",
"localStyles": {
"objID": "46cc15c4-12a7-4cb1-d22a-cc3eee92567e"
},
"groupIndex": 0
}
],
"connectionLines": [],
"localVariables": [],
"userProperties": [],
"name": "NoNetworkScreen",
"left": 0,
"top": 0,
"width": 300,
"height": 240,
"isUsedAsUserWidget": false,
"createAtStart": true,
"deleteOnScreenUnload": false
}
],
"userWidgets": [],

View File

@ -93,6 +93,118 @@ void tick_screen_boot_screen() {
}
}
void create_screen_no_network_screen() {
lv_obj_t *obj = lv_obj_create(0);
objects.no_network_screen = obj;
lv_obj_set_pos(obj, 0, 0);
lv_obj_set_size(obj, 300, 240);
lv_obj_add_event_cb(obj, action_switch_to_menu, LV_EVENT_LONG_PRESSED, (void *)0);
lv_obj_add_event_cb(obj, action_home_screen_gesture, LV_EVENT_GESTURE, (void *)0);
add_style_flex_screen(obj);
{
lv_obj_t *parent_obj = obj;
{
lv_obj_t *obj = lv_obj_create(parent_obj);
lv_obj_set_pos(obj, 0, 0);
lv_obj_set_size(obj, LV_PCT(100), LV_PCT(100));
lv_obj_set_style_pad_left(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_pad_top(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_pad_right(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_pad_bottom(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_border_width(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_radius(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_clear_flag(obj, LV_OBJ_FLAG_CLICKABLE);
add_style_flex_start(obj);
{
lv_obj_t *parent_obj = obj;
{
// NoNetworkHeaderContainer
lv_obj_t *obj = lv_obj_create(parent_obj);
objects.no_network_header_container = obj;
lv_obj_set_pos(obj, 0, 0);
lv_obj_set_size(obj, LV_PCT(100), LV_SIZE_CONTENT);
lv_obj_set_style_pad_left(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_pad_top(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_pad_right(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_pad_bottom(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_border_width(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_radius(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_clear_flag(obj, LV_OBJ_FLAG_CLICKABLE);
add_style_flow_row_space_between(obj);
{
lv_obj_t *parent_obj = obj;
{
// NoNetworkHeaderLogo
lv_obj_t *obj = lv_image_create(parent_obj);
objects.no_network_header_logo = obj;
lv_obj_set_pos(obj, 0, 0);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_image_set_src(obj, &img_jetkvm);
lv_obj_set_style_transform_width(obj, 174, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_transform_height(obj, 49, LV_PART_MAIN | LV_STATE_DEFAULT);
}
}
}
{
// NoNetworkContentContainer
lv_obj_t *obj = lv_obj_create(parent_obj);
objects.no_network_content_container = obj;
lv_obj_set_pos(obj, 0, 0);
lv_obj_set_size(obj, LV_PCT(100), LV_PCT(60));
lv_obj_set_style_pad_left(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_pad_top(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_pad_right(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_pad_bottom(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_border_width(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_radius(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_clear_flag(obj, LV_OBJ_FLAG_CLICKABLE);
lv_obj_set_scrollbar_mode(obj, LV_SCROLLBAR_MODE_OFF);
add_style_flex_column_start(obj);
lv_obj_set_style_flex_main_place(obj, LV_FLEX_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_flex_cross_place(obj, LV_FLEX_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_flex_track_place(obj, LV_FLEX_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT);
{
lv_obj_t *parent_obj = obj;
{
lv_obj_t *obj = lv_image_create(parent_obj);
lv_obj_set_pos(obj, 227, 50);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_image_set_src(obj, &img_ethernet);
}
{
// NoNetworkTitle
lv_obj_t *obj = lv_label_create(parent_obj);
objects.no_network_title = obj;
lv_obj_set_pos(obj, LV_PCT(0), LV_PCT(0));
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
add_style_label_font_bold30(obj);
lv_label_set_text(obj, "No Network");
}
{
// HomeInfoIPv6Addr_1
lv_obj_t *obj = lv_label_create(parent_obj);
objects.home_info_ipv6_addr_1 = obj;
lv_obj_set_pos(obj, LV_PCT(0), LV_PCT(0));
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_label_set_long_mode(obj, LV_LABEL_LONG_DOT);
add_style_label_font16(obj);
lv_label_set_text(obj, "Connect Ethernet cable");
}
}
}
}
}
}
tick_screen_no_network_screen();
}
void tick_screen_no_network_screen() {
}
void create_screen_home_screen() {
lv_obj_t *obj = lv_obj_create(0);
objects.home_screen = obj;
@ -445,6 +557,7 @@ void create_screen_menu_screen() {
lv_obj_t *obj = lv_button_create(parent_obj);
lv_obj_set_pos(obj, 0, 0);
lv_obj_set_size(obj, 32, 32);
lv_obj_add_event_cb(obj, action_menu_screen_gesture, LV_EVENT_PRESSED, (void *)0);
add_style_back_button(obj);
{
lv_obj_t *parent_obj = obj;
@ -1606,130 +1719,18 @@ void create_screen_status_screen() {
void tick_screen_status_screen() {
}
void create_screen_no_network_screen() {
lv_obj_t *obj = lv_obj_create(0);
objects.no_network_screen = obj;
lv_obj_set_pos(obj, 0, 0);
lv_obj_set_size(obj, 300, 240);
lv_obj_add_event_cb(obj, action_switch_to_menu, LV_EVENT_LONG_PRESSED, (void *)0);
lv_obj_add_event_cb(obj, action_home_screen_gesture, LV_EVENT_GESTURE, (void *)0);
add_style_flex_screen(obj);
{
lv_obj_t *parent_obj = obj;
{
lv_obj_t *obj = lv_obj_create(parent_obj);
lv_obj_set_pos(obj, 0, 0);
lv_obj_set_size(obj, LV_PCT(100), LV_PCT(100));
lv_obj_set_style_pad_left(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_pad_top(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_pad_right(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_pad_bottom(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_border_width(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_radius(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_clear_flag(obj, LV_OBJ_FLAG_CLICKABLE);
add_style_flex_start(obj);
{
lv_obj_t *parent_obj = obj;
{
// NoNetworkHeaderContainer
lv_obj_t *obj = lv_obj_create(parent_obj);
objects.no_network_header_container = obj;
lv_obj_set_pos(obj, 0, 0);
lv_obj_set_size(obj, LV_PCT(100), LV_SIZE_CONTENT);
lv_obj_set_style_pad_left(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_pad_top(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_pad_right(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_pad_bottom(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_border_width(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_radius(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_clear_flag(obj, LV_OBJ_FLAG_CLICKABLE);
add_style_flow_row_space_between(obj);
{
lv_obj_t *parent_obj = obj;
{
// NoNetworkHeaderLogo
lv_obj_t *obj = lv_image_create(parent_obj);
objects.no_network_header_logo = obj;
lv_obj_set_pos(obj, 0, 0);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_image_set_src(obj, &img_jetkvm);
lv_obj_set_style_transform_width(obj, 174, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_transform_height(obj, 49, LV_PART_MAIN | LV_STATE_DEFAULT);
}
}
}
{
// NoNetworkContentContainer
lv_obj_t *obj = lv_obj_create(parent_obj);
objects.no_network_content_container = obj;
lv_obj_set_pos(obj, 0, 0);
lv_obj_set_size(obj, LV_PCT(100), LV_PCT(60));
lv_obj_set_style_pad_left(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_pad_top(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_pad_right(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_pad_bottom(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_border_width(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_radius(obj, 0, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_clear_flag(obj, LV_OBJ_FLAG_CLICKABLE);
lv_obj_set_scrollbar_mode(obj, LV_SCROLLBAR_MODE_OFF);
add_style_flex_column_start(obj);
lv_obj_set_style_flex_main_place(obj, LV_FLEX_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_flex_cross_place(obj, LV_FLEX_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT);
lv_obj_set_style_flex_track_place(obj, LV_FLEX_ALIGN_CENTER, LV_PART_MAIN | LV_STATE_DEFAULT);
{
lv_obj_t *parent_obj = obj;
{
lv_obj_t *obj = lv_image_create(parent_obj);
lv_obj_set_pos(obj, 227, 50);
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_image_set_src(obj, &img_ethernet);
}
{
// NoNetworkTitle
lv_obj_t *obj = lv_label_create(parent_obj);
objects.no_network_title = obj;
lv_obj_set_pos(obj, LV_PCT(0), LV_PCT(0));
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
add_style_label_font_bold30(obj);
lv_label_set_text(obj, "No Network");
}
{
// HomeInfoIPv6Addr_1
lv_obj_t *obj = lv_label_create(parent_obj);
objects.home_info_ipv6_addr_1 = obj;
lv_obj_set_pos(obj, LV_PCT(0), LV_PCT(0));
lv_obj_set_size(obj, LV_SIZE_CONTENT, LV_SIZE_CONTENT);
lv_label_set_long_mode(obj, LV_LABEL_LONG_DOT);
add_style_label_font16(obj);
lv_label_set_text(obj, "Connect Ethernet cable");
}
}
}
}
}
}
tick_screen_no_network_screen();
}
void tick_screen_no_network_screen() {
}
typedef void (*tick_screen_func_t)();
tick_screen_func_t tick_screen_funcs[] = {
tick_screen_boot_screen,
tick_screen_no_network_screen,
tick_screen_home_screen,
tick_screen_menu_screen,
tick_screen_menu_advanced_screen,
tick_screen_menu_network_screen,
tick_screen_about_screen,
tick_screen_status_screen,
tick_screen_no_network_screen,
};
void tick_screen(int screen_index) {
tick_screen_funcs[screen_index]();
@ -1744,11 +1745,11 @@ void create_screens() {
lv_disp_set_theme(dispp, theme);
create_screen_boot_screen();
create_screen_no_network_screen();
create_screen_home_screen();
create_screen_menu_screen();
create_screen_menu_advanced_screen();
create_screen_menu_network_screen();
create_screen_about_screen();
create_screen_status_screen();
create_screen_no_network_screen();
}

View File

@ -9,15 +9,20 @@ extern "C" {
typedef struct _objects_t {
lv_obj_t *boot_screen;
lv_obj_t *no_network_screen;
lv_obj_t *home_screen;
lv_obj_t *menu_screen;
lv_obj_t *menu_advanced_screen;
lv_obj_t *menu_network_screen;
lv_obj_t *about_screen;
lv_obj_t *status_screen;
lv_obj_t *no_network_screen;
lv_obj_t *boot_logo;
lv_obj_t *boot_screen_version;
lv_obj_t *no_network_header_container;
lv_obj_t *no_network_header_logo;
lv_obj_t *no_network_content_container;
lv_obj_t *no_network_title;
lv_obj_t *home_info_ipv6_addr_1;
lv_obj_t *home_header_container;
lv_obj_t *home_header_logo;
lv_obj_t *cloud_status_icon;
@ -78,29 +83,27 @@ typedef struct _objects_t {
lv_obj_t *app_version_1;
lv_obj_t *cloud_domain_container;
lv_obj_t *cloud_domain;
lv_obj_t *no_network_header_container;
lv_obj_t *no_network_header_logo;
lv_obj_t *no_network_content_container;
lv_obj_t *no_network_title;
lv_obj_t *home_info_ipv6_addr_1;
} objects_t;
extern objects_t objects;
enum ScreensEnum {
SCREEN_ID_BOOT_SCREEN = 1,
SCREEN_ID_HOME_SCREEN = 2,
SCREEN_ID_MENU_SCREEN = 3,
SCREEN_ID_MENU_ADVANCED_SCREEN = 4,
SCREEN_ID_MENU_NETWORK_SCREEN = 5,
SCREEN_ID_ABOUT_SCREEN = 6,
SCREEN_ID_STATUS_SCREEN = 7,
SCREEN_ID_NO_NETWORK_SCREEN = 8,
SCREEN_ID_NO_NETWORK_SCREEN = 2,
SCREEN_ID_HOME_SCREEN = 3,
SCREEN_ID_MENU_SCREEN = 4,
SCREEN_ID_MENU_ADVANCED_SCREEN = 5,
SCREEN_ID_MENU_NETWORK_SCREEN = 6,
SCREEN_ID_ABOUT_SCREEN = 7,
SCREEN_ID_STATUS_SCREEN = 8,
};
void create_screen_boot_screen();
void tick_screen_boot_screen();
void create_screen_no_network_screen();
void tick_screen_no_network_screen();
void create_screen_home_screen();
void tick_screen_home_screen();
@ -118,9 +121,6 @@ void tick_screen_about_screen();
void create_screen_status_screen();
void tick_screen_status_screen();
void create_screen_no_network_screen();
void tick_screen_no_network_screen();
void tick_screen_by_id(enum ScreensEnum screenId);
void tick_screen(int screen_index);

View File

@ -77,5 +77,7 @@ func (n *Native) Start() {
n.initUI()
go n.tickUI()
videoInit()
close(n.ready)
}

View File

@ -23,3 +23,13 @@ func (n *Native) VideoSetEDID(edid string) error {
func (n *Native) VideoGetEDID() (string, error) {
return videoGetEDID()
}
func (n *Native) VideoStop() error {
videoStop()
return nil
}
func (n *Native) VideoStart() error {
videoStart()
return nil
}

View File

@ -371,9 +371,9 @@ func onActiveSessionsChanged() {
}
func onFirstSessionConnected() {
_ = writeCtrlAction("start_video")
_ = nativeInstance.VideoStart()
}
func onLastSessionDisconnected() {
_ = writeCtrlAction("stop_video")
_ = nativeInstance.VideoStop()
}