More video tests

This commit is contained in:
the-leo
2023-07-10 13:03:14 +03:00
parent 43aa64ac29
commit 275850b6ee
7 changed files with 870 additions and 12 deletions
@@ -5,10 +5,13 @@ import com.yandex.div.core.view2.Div2View
import com.yandex.div.internal.KAssert
import com.yandex.div2.DivBase
import com.yandex.div2.DivContainer
import com.yandex.div2.DivCustom
import com.yandex.div2.DivData
import com.yandex.div2.DivGallery
import com.yandex.div2.DivGrid
import com.yandex.div2.DivPager
import com.yandex.div2.DivState
import com.yandex.div2.DivTabs
import com.yandex.div2.DivVideo
import javax.inject.Inject
@@ -76,6 +79,32 @@ internal class DivVideoActionHandler @Inject constructor(
}
return null
}
is DivTabs -> {
div.items.forEach { item ->
findDivVideoWithId(item.div.value(), id)?.let {
return it
}
}
return null
}
is DivCustom -> {
div.items?.forEach { item ->
findDivVideoWithId(item.value(), id)?.let {
return it
}
}
return null
}
is DivState -> {
div.states.forEach { state ->
state.div?.value()?.let { div ->
findDivVideoWithId(div, id)?.let {
return it
}
}
}
return null
}
else -> return null
}
}
@@ -80,19 +80,31 @@ internal class DivVideoBinder @Inject constructor(
val playerListener = object : DivPlayer.Observer {
override fun onPlay() {
div.resumeActions?.forEach { divAction ->
divView.let { divActionHandler.handleAction(divAction, it) }
divActionHandler.handleAction(divAction, divView)
}
}
override fun onPause() {
div.pauseActions?.forEach { divAction ->
divActionHandler.handleAction(divAction, divView)
}
}
override fun onBuffering() {
div.bufferingActions?.forEach { divAction ->
divView.let { divActionHandler.handleAction(divAction, it) }
divActionHandler.handleAction(divAction, divView)
}
}
override fun onEnd() {
div.endActions?.forEach { divAction ->
divView.let { divActionHandler.handleAction(divAction, it) }
divActionHandler.handleAction(divAction, divView)
}
}
override fun onFatal() {
div.fatalActions?.forEach { divAction ->
divActionHandler.handleAction(divAction, divView)
}
}
+25 -4
View File
@@ -1803,10 +1803,6 @@
},
{
"title": "Disappearing actions with DivVideo",
"platforms": [
"ios",
"web"
],
"tags": [
"DivVideo",
"Disappear action",
@@ -1826,6 +1822,31 @@
],
"file": "video/video_stream.json"
},
{
"title": "Video fullscreen",
"tags": [
"DivVideo",
"Disappear action",
"Visibility_actions",
"DivGallery"
],
"file": "video/fullscreen_video_in_recycler.json"
},
{
"title": "Video in pager",
"tags": [
"DivVideo",
"DivPager"
],
"file": "video/video_in_pager.json"
},
{
"title": "Video callbacks",
"tags": [
"DivVideo"
],
"file": "video/video_callbacks.json"
},
{
"title": "Variables in default state id",
"tags": [
@@ -0,0 +1,182 @@
{
"templates": {
"fullscreen_video": {
"type": "video",
"$id": "video_id",
"video_sources": [
{
"type": "video_source",
"url": "https://yastatic.net/s3/home/divkit/beep_test.mp4",
"mime_type": "video/mp4"
}
],
"repeatable": false,
"autostart": false,
"muted": false,
"player_settings_payload": {
"first_frame_hash": "HBgKAwRHj0ipl3t4WLBYeAg=",
"first_frame_url": "https://avatars.mds.yandex.net/get-vh/6549758/2a00000186ffa4dca3d56545e0bc18edd031/orig",
"thumbnail": "https://avatars.mds.yandex.net/get-vh/6549758/2a00000186ffa4dca3d56545e0bc18edd031/orig",
"uuid": "v0qU-n6bovjg"
},
"visibility_actions": [
{
"$log_id": "visibility_log_id",
"$url": "visibility_url",
"log_limit": 0,
"visibility_percentage": 50,
"visibility_duration": 0
}
],
"disappear_actions": [
{
"$log_id": "disappear_log_id",
"$url": "disappear_url",
"log_limit": 0,
"visibility_percentage": 50,
"disappear_duration": 0
}
],
"$elapsed_time_variable": "time_variable",
"width": {
"type": "match_parent"
},
"height": {
"type": "match_parent"
},
"background": [
{
"type": "solid",
"$color": "background_color"
}
]
}
},
"card": {
"log_id": "video_in_recycler",
"variables": [
{
"name": "video_time_1",
"type": "integer",
"value": 0
},
{
"name": "video_time_2",
"type": "integer",
"value": 0
},
{
"name": "video_time_3",
"type": "integer",
"value": 0
},
{
"name": "video_time_4",
"type": "integer",
"value": 0
},
{
"name": "video_time_5",
"type": "integer",
"value": 0
},
{
"name": "video_time_6",
"type": "integer",
"value": 0
},
{
"name": "video_time_7",
"type": "integer",
"value": 0
}
],
"states": [
{
"state_id": 0,
"div": {
"type": "gallery",
"orientation": "vertical",
"width": {
"type": "match_parent"
},
"height": {
"type": "match_parent"
},
"items": [
{
"type": "fullscreen_video",
"video_id": "beep_video_1",
"visibility_log_id": "video_1_shown",
"visibility_url": "div-action://video?id=beep_video_1&action=start",
"disappear_log_id": "video_1_disappeared",
"disappear_url": "div-action://video?id=beep_video_1&action=pause",
"time_variable": "video_time_1",
"background_color": "#000000"
},
{
"type": "fullscreen_video",
"video_id": "beep_video_2",
"visibility_log_id": "video_2_shown",
"visibility_url": "div-action://video?id=beep_video_2&action=start",
"disappear_log_id": "video_2_disappeared",
"disappear_url": "div-action://video?id=beep_video_2&action=pause",
"time_variable": "video_time_2",
"background_color": "#ada014"
},
{
"type": "fullscreen_video",
"video_id": "beep_video_3",
"visibility_log_id": "video_3_shown",
"visibility_url": "div-action://video?id=beep_video_3&action=start",
"disappear_log_id": "video_3_disappeared",
"disappear_url": "div-action://video?id=beep_video_3&action=pause",
"time_variable": "video_time_3",
"background_color": "#3eae1f"
},
{
"type": "fullscreen_video",
"video_id": "beep_video_4",
"visibility_log_id": "video_4_shown",
"visibility_url": "div-action://video?id=beep_video_4&action=start",
"disappear_log_id": "video_4_disappeared",
"disappear_url": "div-action://video?id=beep_video_4&action=pause",
"time_variable": "video_time_4",
"background_color": "#1c84bb"
},
{
"type": "fullscreen_video",
"video_id": "beep_video_5",
"visibility_log_id": "video_5_shown",
"visibility_url": "div-action://video?id=beep_video_5&action=start",
"disappear_log_id": "video_5_disappeared",
"disappear_url": "div-action://video?id=beep_video_5&action=pause",
"time_variable": "video_time_5",
"background_color": "#9b1abc"
},
{
"type": "fullscreen_video",
"video_id": "beep_video_6",
"visibility_log_id": "video_6_shown",
"visibility_url": "div-action://video?id=beep_video_6&action=start",
"disappear_log_id": "video_6_disappeared",
"disappear_url": "div-action://video?id=beep_video_6&action=pause",
"time_variable": "video_time_6",
"background_color": "#d01c55"
},
{
"type": "fullscreen_video",
"video_id": "beep_video_7",
"visibility_log_id": "video_7_shown",
"visibility_url": "div-action://video?id=beep_video_7&action=start",
"disappear_log_id": "video_7_disappeared",
"disappear_url": "div-action://video?id=beep_video_7&action=pause",
"time_variable": "video_time_7",
"background_color": "#d91515"
}
]
}
}
]
}
}
File diff suppressed because one or more lines are too long
@@ -31,7 +31,7 @@
"muted": true,
"disappear_actions": [
{
"log_id": "play_pause_action",
"$log_id": "disappear_log_id",
"log_limit": 0,
"visibility_percentage": 50,
"disappear_duration": 0,
@@ -40,7 +40,7 @@
],
"visibility_actions": [
{
"log_id": "play_pause_action",
"$log_id": "visibility_log_id",
"log_limit": 0,
"visibility_percentage": 50,
"visibility_duration": 0,
@@ -85,21 +85,27 @@
"id": "bears_video_1",
"elapsed_time_variable": "video_time_1",
"disappear_action_url": "div-action://video?id=bears_video_1&action=pause",
"visibility_action_url": "div-action://video?id=bears_video_1&action=start"
"visibility_action_url": "div-action://video?id=bears_video_1&action=start",
"disappear_log_id": "disappeared_video_1",
"visibility_log_id": "visible_video_1"
},
{
"type": "video_card",
"id": "bears_video_2",
"elapsed_time_variable": "video_time_2",
"disappear_action_url": "div-action://video?id=bears_video_2&action=pause",
"visibility_action_url": "div-action://video?id=bears_video_2&action=start"
"visibility_action_url": "div-action://video?id=bears_video_2&action=start",
"disappear_log_id": "disappeared_video_2",
"visibility_log_id": "visible_video_2"
},
{
"type": "video_card",
"id": "bears_video_3",
"elapsed_time_variable": "video_time_3",
"disappear_action_url": "div-action://video?id=bears_video_3&action=pause",
"visibility_action_url": "div-action://video?id=bears_video_3&action=start"
"visibility_action_url": "div-action://video?id=bears_video_3&action=start",
"disappear_log_id": "disappeared_video_2",
"visibility_log_id": "visible_video_2"
}
]
}
@@ -0,0 +1,194 @@
{
"templates": {
"fullscreen_video": {
"type": "video",
"$id": "video_id",
"video_sources": [
{
"type": "video_source",
"url": "https://yastatic.net/s3/home/divkit/beep_test.mp4",
"mime_type": "video/mp4"
}
],
"repeatable": false,
"autostart": false,
"muted": false,
"player_settings_payload": {
"first_frame_hash": "HBgKAwRHj0ipl3t4WLBYeAg=",
"first_frame_url": "https://avatars.mds.yandex.net/get-vh/6549758/2a00000186ffa4dca3d56545e0bc18edd031/orig",
"thumbnail": "https://avatars.mds.yandex.net/get-vh/6549758/2a00000186ffa4dca3d56545e0bc18edd031/orig",
"uuid": "v0qU-n6bovjg"
},
"visibility_actions": [
{
"$log_id": "visibility_log_id",
"$url": "visibility_url",
"log_limit": 0,
"visibility_percentage": 50,
"visibility_duration": 0
}
],
"disappear_actions": [
{
"$log_id": "disappear_log_id",
"$url": "disappear_url",
"log_limit": 0,
"visibility_percentage": 50,
"disappear_duration": 0
}
],
"$elapsed_time_variable": "time_variable",
"width": {
"type": "match_parent"
},
"height": {
"type": "fixed",
"value": 500
},
"background": [
{
"type": "solid",
"$color": "background_color"
}
]
}
},
"card": {
"log_id": "video_in_pager",
"variables": [
{
"name": "video_time_1",
"type": "integer",
"value": 0
},
{
"name": "video_time_2",
"type": "integer",
"value": 0
},
{
"name": "video_time_3",
"type": "integer",
"value": 0
},
{
"name": "video_time_4",
"type": "integer",
"value": 0
},
{
"name": "video_time_5",
"type": "integer",
"value": 0
},
{
"name": "video_time_6",
"type": "integer",
"value": 0
},
{
"name": "video_time_7",
"type": "integer",
"value": 0
}
],
"states": [
{
"state_id": 0,
"div": {
"type": "pager",
"item_spacing": {
"type": "fixed",
"value": 4
},
"margins": {
"top": 8
},
"paddings": {
"right": 4,
"left": 4
},
"layout_mode": {
"neighbour_page_width": {
"type": "fixed",
"value": 10
},
"type": "fixed"
},
"items": [
{
"type": "fullscreen_video",
"video_id": "beep_video_1",
"visibility_log_id": "video_1_shown",
"visibility_url": "div-action://video?id=beep_video_1&action=start",
"disappear_log_id": "video_1_disappeared",
"disappear_url": "div-action://video?id=beep_video_1&action=pause",
"time_variable": "video_time_1",
"background_color": "#000000"
},
{
"type": "fullscreen_video",
"video_id": "beep_video_2",
"visibility_log_id": "video_2_shown",
"visibility_url": "div-action://video?id=beep_video_2&action=start",
"disappear_log_id": "video_2_disappeared",
"disappear_url": "div-action://video?id=beep_video_2&action=pause",
"time_variable": "video_time_2",
"background_color": "#ada014"
},
{
"type": "fullscreen_video",
"video_id": "beep_video_3",
"visibility_log_id": "video_3_shown",
"visibility_url": "div-action://video?id=beep_video_3&action=start",
"disappear_log_id": "video_3_disappeared",
"disappear_url": "div-action://video?id=beep_video_3&action=pause",
"time_variable": "video_time_3",
"background_color": "#3eae1f"
},
{
"type": "fullscreen_video",
"video_id": "beep_video_4",
"visibility_log_id": "video_4_shown",
"visibility_url": "div-action://video?id=beep_video_4&action=start",
"disappear_log_id": "video_4_disappeared",
"disappear_url": "div-action://video?id=beep_video_4&action=pause",
"time_variable": "video_time_4",
"background_color": "#1c84bb"
},
{
"type": "fullscreen_video",
"video_id": "beep_video_5",
"visibility_log_id": "video_5_shown",
"visibility_url": "div-action://video?id=beep_video_5&action=start",
"disappear_log_id": "video_5_disappeared",
"disappear_url": "div-action://video?id=beep_video_5&action=pause",
"time_variable": "video_time_5",
"background_color": "#9b1abc"
},
{
"type": "fullscreen_video",
"video_id": "beep_video_6",
"visibility_log_id": "video_6_shown",
"visibility_url": "div-action://video?id=beep_video_6&action=start",
"disappear_log_id": "video_6_disappeared",
"disappear_url": "div-action://video?id=beep_video_6&action=pause",
"time_variable": "video_time_6",
"background_color": "#d01c55"
},
{
"type": "fullscreen_video",
"video_id": "beep_video_7",
"visibility_log_id": "video_7_shown",
"visibility_url": "div-action://video?id=beep_video_7&action=start",
"disappear_log_id": "video_7_disappeared",
"disappear_url": "div-action://video?id=beep_video_7&action=pause",
"time_variable": "video_time_7",
"background_color": "#d91515"
}
]
}
}
]
}
}