mirror of
https://github.com/divkit/divkit.git
synced 2026-06-06 20:07:59 +00:00
More video tests
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user