@24i/bigscreen-sdk 1.1.0 → 2.1.1-alpha.2133
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +34 -53
- package/packages/adobe-heartbeat/src/AdobeHeartbeat.ts +9 -9
- package/packages/async-image/src/AsyncImage.tsx +10 -15
- package/packages/developer-tools/PlayerDebugWindow/README.md +1 -1
- package/packages/developer-tools/src/DeveloperToolsService/DeveloperToolsList.tsx +0 -11
- package/packages/developer-tools/src/PlayerDebugWindow/PlayerDebugWindow.tsx +5 -5
- package/packages/developer-tools/src/PlayerDebugWindow/constants.ts +0 -15
- package/packages/developer-tools/src/TechnicalInfo/TechnicalInfoDetail.tsx +1 -2
- package/packages/developer-tools/src/TechnicalInfo/TechnicalInfoProvider.ts +3 -34
- package/packages/developer-tools/src/TechnicalInfo/__mocks__/Device.ts +0 -4
- package/packages/developer-tools/src/TechnicalInfo/translations.ts +0 -4
- package/packages/device/src/getKeyDigit.ts +2 -2
- package/packages/device/src/resolver/resolver.ts +5 -18
- package/packages/digital-clock/src/DigitalClock.tsx +4 -15
- package/packages/driver-androidtv/src/DeviceAndroidTV.ts +9 -54
- package/packages/driver-androidtv/src/__mocks__/javaScriptBridge.ts +5 -29
- package/packages/driver-androidtv/src/keymap.ts +0 -18
- package/packages/driver-androidtv/src/types.ts +16 -102
- package/packages/driver-base/src/DeviceBase.ts +2 -61
- package/packages/driver-base/src/KeyMap/Key.ts +1 -8
- package/packages/driver-base/src/KeyMap/KeyMap.ts +0 -4
- package/packages/driver-base/src/KeyMap/interface.ts +0 -1
- package/packages/driver-base/src/KeyMap/overrideValues.ts +1 -2
- package/packages/driver-base/src/__mocks__/keyMap.ts +0 -1
- package/packages/driver-base/src/types/DeviceEvent.ts +0 -2
- package/packages/driver-base/src/types/KeycodeKeyMap.ts +0 -1
- package/packages/driver-browser/src/keymap.ts +0 -8
- package/packages/driver-entone/src/keymap.ts +0 -1
- package/packages/driver-tizen/src/TizenKeys.ts +0 -2
- package/packages/driver-vidaa/src/DeviceVidaa.ts +2 -3
- package/packages/driver-vidaa/src/__mocks__/vidaa.ts +1 -1
- package/packages/driver-vidaa/src/keymap.ts +0 -2
- package/packages/driver-webos/src/DeviceWebos.ts +0 -8
- package/packages/driver-webos/src/keymap.ts +1 -2
- package/packages/driver-xbox/src/keymap.ts +1 -1
- package/packages/epg/README.md +1 -3
- package/packages/epg/src/v2/Cell.tsx +2 -16
- package/packages/epg/src/v2/DataManager.ts +41 -112
- package/packages/epg/src/v2/DatePicker.tsx +3 -9
- package/packages/epg/src/v2/DateToast/DateToast.tsx +9 -12
- package/packages/epg/src/v2/Day.tsx +3 -6
- package/packages/epg/src/v2/Epg.tsx +5 -5
- package/packages/epg/src/v2/MockGenerator/generator.ts +2 -3
- package/packages/epg/src/v2/ProgramInfo/utils.ts +3 -4
- package/packages/epg/src/v2/Row.tsx +1 -3
- package/packages/epg/src/v2/TimelineSection.tsx +1 -4
- package/packages/epg/src/v2/basic/CellsManager.tsx +2 -7
- package/packages/epg/src/v2/basic/RowsManager.tsx +1 -3
- package/packages/epg/src/v2/interface.ts +0 -13
- package/packages/events-manager/src/EventsManager.ts +56 -1
- package/packages/focus/README.md +0 -33
- package/packages/focus/src/IFocusable.ts +0 -1
- package/packages/focus/src/Layout/Base.tsx +6 -41
- package/packages/focus/src/Layout/Matrix.tsx +19 -51
- package/packages/focus/src/Layout/__test__/Base.spec.ts +180 -0
- package/packages/focus/src/Layout/__test__/Horizontal.spec.ts +94 -0
- package/packages/focus/src/Layout/__test__/Matrix.spec.ts +261 -0
- package/packages/focus/src/Layout/__test__/Vertical.spec.ts +46 -0
- package/packages/focus/src/Layout/__test__/isRtl.spec.ts +23 -0
- package/packages/focus/src/Layout/__test__/shared.ts +19 -0
- package/packages/focus/src/focusFirstExisting.ts +1 -7
- package/packages/focus/src/index.ts +1 -2
- package/packages/gallup/src/Gallup.ts +3 -3
- package/packages/grid/src/Base/Base.tsx +10 -15
- package/packages/grid/src/FirstOnlyGrid/FirstOnlyGrid.tsx +2 -4
- package/packages/icon/src/Icon.tsx +5 -27
- package/packages/input/README.md +1 -4
- package/packages/input/src/Input.tsx +29 -65
- package/packages/input/src/handleOverflow.ts +29 -0
- package/packages/interactable/README.md +1 -2
- package/packages/interactable/src/Interactable.tsx +3 -9
- package/packages/interactable/src/interface.ts +0 -1
- package/packages/jsx/src/index.ts +1 -1
- package/packages/jsx/src/test-utils/index.ts +0 -1
- package/packages/keyboard/src/Backdrop/Backdrop.scss +0 -2
- package/packages/keyboard/src/KeyboardBase.tsx +4 -16
- package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.scss +0 -4
- package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.tsx +20 -28
- package/packages/keyboard/src/WhitelabelKeyboard/_sizes.1080.scss +0 -1
- package/packages/keyboard/src/WhitelabelKeyboard/_sizes.scss +0 -1
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/index.ts +0 -11
- package/packages/keyboard/src/WhitelabelKeyboard/types.ts +0 -1
- package/packages/l10n/README.md +0 -18
- package/packages/l10n/src/date/common.ts +6 -18
- package/packages/l10n/src/date/cs.ts +8 -2
- package/packages/l10n/src/date/en-001.ts +3 -3
- package/packages/l10n/src/date/en-common.ts +4 -5
- package/packages/l10n/src/date/en-us.ts +3 -3
- package/packages/l10n/src/date/iso.ts +13 -12
- package/packages/l10n/src/date/types.ts +0 -9
- package/packages/l10n/src/l10n.ts +3 -61
- package/packages/list/src/Base/Base.tsx +9 -19
- package/packages/list/src/Base/interface.ts +2 -2
- package/packages/list/src/CenteredList/controller.ts +1 -0
- package/packages/list/src/EdgeOffsetList/EdgeOffsetList.tsx +3 -3
- package/packages/list/src/UnifiedListController/UnifiedListController.ts +2 -6
- package/packages/logger/src/loggers/SentryLogger/Sentry.ts +0 -1
- package/packages/logger/src/loggers/SentryLogger/SentryLogger.ts +2 -2
- package/packages/menu/src/MenuAndContentContainer/MenuAndContentContainer.tsx +3 -31
- package/packages/menu/src/MenuAndContentContainer/interface.ts +0 -8
- package/packages/modal-service/README.md +1 -4
- package/packages/modal-service/src/ModalService.tsx +5 -29
- package/packages/perf-utils/README.md +120 -1
- package/packages/perf-utils/src/array/filter.ts +54 -1
- package/packages/perf-utils/src/array/find.ts +43 -1
- package/packages/perf-utils/src/array/findIndex.ts +43 -1
- package/packages/perf-utils/src/array/forEach.ts +48 -1
- package/packages/perf-utils/src/array/includes.ts +41 -1
- package/packages/perf-utils/src/array/includesNaN.ts +32 -1
- package/packages/perf-utils/src/array/index.ts +7 -1
- package/packages/perf-utils/src/array/map.ts +52 -1
- package/packages/player-ui/README.md +1 -1
- package/packages/player-ui/src/CurrentTime.tsx +2 -2
- package/packages/player-ui/src/Duration.tsx +2 -2
- package/packages/player-ui/src/PauseButton.tsx +0 -8
- package/packages/player-ui/src/PlayerInteractable.tsx +0 -1
- package/packages/player-ui/src/PlayerTime.tsx +1 -3
- package/packages/player-ui/src/PlayerUI.tsx +35 -68
- package/packages/player-ui/src/RemainingTime.tsx +2 -2
- package/packages/player-ui/src/Seekbar.tsx +18 -110
- package/packages/player-ui/src/Seeking.ts +16 -57
- package/packages/player-ui/src/Subtitles.tsx +2 -2
- package/packages/player-ui/src/index.ts +0 -1
- package/packages/player-ui/src/mocks.ts +8 -32
- package/packages/player-ui/src/timeUtils.ts +3 -3
- package/packages/player-ui/src/types.ts +3 -9
- package/packages/router/src/Route.tsx +27 -61
- package/packages/router/src/Router.tsx +13 -59
- package/packages/router/src/history.ts +1 -8
- package/packages/router/src/index.ts +1 -1
- package/packages/router/src/utils.ts +4 -9
- package/packages/sass-utils/src/linear-gradient.scss +4 -9
- package/packages/sass-utils/src/scale.1080.scss +1 -3
- package/packages/sass-utils/src/scale.720.scss +1 -1
- package/packages/time/README.md +1 -4
- package/packages/time/src/Time.ts +13 -35
- package/packages/time/src/constants.ts +0 -1
- package/packages/toast/src/ToastService.tsx +5 -16
- package/packages/types-bigscreen-jsx/README.md +4 -5
- package/packages/types-bigscreen-jsx/index.d.ts +67 -72
- package/packages/utils/README.md +0 -27
- package/packages/utils/src/elementUtils.ts +0 -25
- package/packages/utils/src/index.ts +0 -8
- package/packages/utils/src/scaledImage.ts +3 -6
- package/packages/utils/src/textUtils.ts +14 -46
- package/packages/utils/src/wait.ts +1 -3
- package/packages/utils/src/xhr/xhrSend.ts +1 -3
- package/packages/utils/src/xhr/xhrSendRetry.ts +1 -3
- package/packages/zapping/src/ChannelZapping.ts +0 -9
- package/packages/zapping/src/Zapping.tsx +0 -10
- package/.vscode/settings.json +0 -6
- package/packages/analytics/README.md +0 -8
- package/packages/analytics/src/A.ts +0 -1
- package/packages/analytics/src/Analytics.ts +0 -1
- package/packages/analytics/src/analyticsOnScroll.ts +0 -1
- package/packages/analytics/src/clients/ConsoleAnalytics/ConsoleAnalytics.ts +0 -1
- package/packages/analytics/src/clients/ConsoleAnalytics/index.ts +0 -1
- package/packages/analytics/src/clients/GoogleAnalytics/GoogleAnalytics.ts +0 -200
- package/packages/analytics/src/clients/GoogleAnalytics/constants.ts +0 -118
- package/packages/analytics/src/clients/GoogleAnalytics/getUrl.ts +0 -17
- package/packages/analytics/src/clients/GoogleAnalytics/index.ts +0 -2
- package/packages/analytics/src/clients/GoogleAnalytics/interface.ts +0 -77
- package/packages/analytics/src/clients/GoogleAnalytics/mapPayload.ts +0 -50
- package/packages/analytics/src/clients/GoogleAnalytics/prepareBody.ts +0 -14
- package/packages/analytics/src/clients/TealiumAnalytics/TealiumAnalytics.ts +0 -169
- package/packages/analytics/src/clients/TealiumAnalytics/constants.ts +0 -102
- package/packages/analytics/src/clients/TealiumAnalytics/findIdForLanguage.ts +0 -9
- package/packages/analytics/src/clients/TealiumAnalytics/index.ts +0 -4
- package/packages/analytics/src/clients/TealiumAnalytics/interface.ts +0 -33
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/__mocks__/mediaPayload.ts +0 -70
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/helper.ts +0 -36
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapAppError.ts +0 -13
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapFavoriteAdd.ts +0 -11
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapFavoriteRemove.ts +0 -11
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapPlayerClose.ts +0 -15
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapPlayerOpen.ts +0 -15
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSceneView.ts +0 -18
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearch.ts +0 -18
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearchFailed.ts +0 -8
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearchSuccess.ts +0 -8
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoPause.ts +0 -15
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoProgress.ts +0 -18
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoResume.ts +0 -15
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoStart.ts +0 -15
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoStop.ts +0 -15
- package/packages/analytics/src/clients/TealiumAnalytics/types.ts +0 -156
- package/packages/analytics/src/clients/TwentyFourIQ/TwentyFourIQClient.ts +0 -116
- package/packages/analytics/src/clients/TwentyFourIQ/constants.ts +0 -99
- package/packages/analytics/src/clients/TwentyFourIQ/helper.ts +0 -34
- package/packages/analytics/src/clients/TwentyFourIQ/index.ts +0 -2
- package/packages/analytics/src/clients/TwentyFourIQ/interface.ts +0 -31
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapAdLoaded.ts +0 -13
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapAdSkipped.ts +0 -16
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapBase.ts +0 -21
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapBuffering.ts +0 -15
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapPlayerClose.ts +0 -24
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapPlayerOpen.ts +0 -18
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapSceneView.ts +0 -15
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapScroll.ts +0 -17
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoComplete.ts +0 -21
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoPause.ts +0 -24
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoProgress.ts +0 -24
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoStart.ts +0 -34
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoStop.ts +0 -32
- package/packages/analytics/src/clients/TwentyFourIQ/types.ts +0 -115
- package/packages/analytics/src/constants.ts +0 -1
- package/packages/analytics/src/index.ts +0 -3
- package/packages/analytics/src/interface.ts +0 -1
- package/packages/analytics/src/utils/generateSessionId.ts +0 -8
- package/packages/create-package/dist/createPackage.js +0 -66
- package/packages/create-package/dist/createPackage.js.map +0 -1
- package/packages/create-package/dist/index.js +0 -5
- package/packages/create-package/dist/index.js.map +0 -1
- package/packages/create-package/dist/questionnaire/questions.js +0 -35
- package/packages/create-package/dist/questionnaire/questions.js.map +0 -1
- package/packages/create-package/dist/settings/Settings.js +0 -10
- package/packages/create-package/dist/settings/Settings.js.map +0 -1
- package/packages/create-package/dist/types.js +0 -3
- package/packages/create-package/dist/types.js.map +0 -1
- package/packages/device/src/driver/index.firetv.ts +0 -1
- package/packages/device/src/driver/index.smartcast.tv.ts +0 -1
- package/packages/driver-firetv/src/DeviceFireTV.ts +0 -18
- package/packages/driver-firetv/src/__mocks__/javaScriptBridge.ts +0 -36
- package/packages/driver-firetv/src/index.ts +0 -1
- package/packages/driver-smartcast/src/DeviceSmartCast.ts +0 -317
- package/packages/driver-smartcast/src/__mocks__/api.ts +0 -49
- package/packages/driver-smartcast/src/index.ts +0 -1
- package/packages/driver-smartcast/src/keymap.ts +0 -9
- package/packages/driver-smartcast/src/types.ts +0 -65
- package/packages/focus/src/hasFocus.ts +0 -36
- package/packages/input/src/utils.ts +0 -71
- package/packages/jsx/src/test-utils/keyup.ts +0 -27
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/arabic.ts +0 -27
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/burmese.ts +0 -27
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/dari.ts +0 -28
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/korean.ts +0 -26
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/pashto.ts +0 -27
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/persian.ts +0 -27
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/russian.ts +0 -27
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/tibetan.ts +0 -26
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/turkish.ts +0 -26
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/ukrainian.ts +0 -27
- package/packages/keyboard/src/WhitelabelKeyboard/layouts/urdu.ts +0 -26
- package/packages/l10n/src/date/de.ts +0 -97
- package/packages/l10n/src/date/es.ts +0 -71
- package/packages/l10n/src/date/fr.ts +0 -94
- package/packages/l10n/src/date/he.ts +0 -101
- package/packages/time/src/adapters/24iMediaTimeApi.ts +0 -47
- package/packages/time/src/services/24iMediaTimeApi/24iMediaTimeApi.ts +0 -43
- package/packages/time/src/services/24iMediaTimeApi/index.ts +0 -6
- package/packages/utils/src/forceReflow.ts +0 -14
- package/packages/utils/src/keyPress/index.ts +0 -6
- package/packages/utils/src/keyPress/keyPressSimulator.ts +0 -74
- package/packages/utils/src/keyPress/simulateKeyPress.ts +0 -25
- package/utils/release/release.ts +0 -154
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ sidebar_label: README
|
|
|
8
8
|
# SmartApps BIGscreen SDK
|
|
9
9
|
|
|
10
10
|
[](https://travis-ci.com/24i/smartapps-bigscreen-sdk)
|
|
11
|
-
[](https://coveralls.io/github/24i/smartapps-bigscreen-sdk?branch=development)
|
|
12
12
|
|
|
13
13
|
* [GitHub](https://github.com/24i/smartapps-bigscreen-sdk)
|
|
14
14
|
* [Confluence](https://24imedia.atlassian.net/wiki/spaces/PRDNGBIGSCR/overview)
|
package/package.json
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@24i/bigscreen-sdk",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "2.1.1-alpha.2133",
|
|
4
4
|
"description": "SmartApps BIGscreen SDK monorepo",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
7
|
-
"prepare": "husky && npm run patch-types && npm run scripts:prepare",
|
|
7
|
+
"prepare": "husky install && npm run patch-types && npm run scripts:prepare",
|
|
8
8
|
"prepublishOnly": "npm run scripts:prepare",
|
|
9
9
|
"scripts:prepare": "ts-node ./utils/run-scripts/index.ts \"prepare:.+\"",
|
|
10
10
|
"scripts:prepare:create-export-maps": "ts-node ./utils/create-export-maps/index.ts --project ./tsconfig.utils.json",
|
|
11
11
|
"scripts:prepare:webos": "cd packages/driver-webos && ts-node ./scripts/exportWebOSTVjs.ts --project ../../tsconfig.utils.json",
|
|
12
12
|
"scripts:create-package": "ts-node ./utils/create-package/src/index.ts --project ./tsconfig.utils.json",
|
|
13
|
-
"release": "ts-node --project ./tsconfig.utils.json ./utils/release/release.ts",
|
|
14
13
|
"jest": "cross-env NODE_ICU_DATA=node_modules/full-icu jest",
|
|
15
14
|
"eslint": "eslint \"./packages/**/src/**/*.{ts,tsx}\"",
|
|
16
15
|
"stylelint": "stylelint \"./packages/**/src/**/*.scss\"",
|
|
@@ -18,9 +17,9 @@
|
|
|
18
17
|
"lintcheck:cached": "npm run eslint -- --cache && npm run stylelint -- --cache",
|
|
19
18
|
"typecheck": "tsc --noEmit",
|
|
20
19
|
"typecheck:cached": "npm run typecheck -- --incremental",
|
|
21
|
-
"test": "npm run jest -- --no-cache",
|
|
22
|
-
"test:cached": "npm run jest",
|
|
23
|
-
"coverage": "npm run jest -- --runInBand --coverage",
|
|
20
|
+
"test": "npm run jest -- --no-cache && npm run lintcheck",
|
|
21
|
+
"test:cached": "npm run jest && npm run lintcheck:cached",
|
|
22
|
+
"coverage": "npm run jest -- --runInBand --coverage && coveralls < coverage/lcov.info",
|
|
24
23
|
"branchlint": "branchlint",
|
|
25
24
|
"generate-changelog": "smartapps-bigscreen-changelog-generator",
|
|
26
25
|
"deploy-docs": "cd website && npm run build && vercel ./build/prd-nxg-bigscreen --token=$VERCEL_TOKEN_24I --local-config=./vercel.json --scope=24i -f -c --prod",
|
|
@@ -38,62 +37,49 @@
|
|
|
38
37
|
},
|
|
39
38
|
"homepage": "https://github.com/24i/smartapps-bigscreen-sdk#readme",
|
|
40
39
|
"dependencies": {
|
|
41
|
-
"@24i/
|
|
42
|
-
"@24i/
|
|
43
|
-
"@
|
|
44
|
-
"@
|
|
45
|
-
"@
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"csstype": "^3.1.3",
|
|
49
|
-
"date-fns": "2.29.3",
|
|
50
|
-
"lottie-web": "5.12.2",
|
|
40
|
+
"@24i/player-base": "6.10.0",
|
|
41
|
+
"@24i/smartapps-datalayer": "3.0.2",
|
|
42
|
+
"@sentry/browser": "^7.12.1",
|
|
43
|
+
"@types/prop-types": "^15.7.5",
|
|
44
|
+
"@types/scheduler": "^0.16.2",
|
|
45
|
+
"csstype": "^3.1.1",
|
|
46
|
+
"lottie-web": "5.9.6",
|
|
51
47
|
"prop-types": "^15.8.1"
|
|
52
48
|
},
|
|
53
49
|
"devDependencies": {
|
|
54
50
|
"@24i/bigscreen-sdk": "file:.",
|
|
55
51
|
"@24i/eslint-config-smartapps-bigscreen-linters": "file:./libs/linters",
|
|
56
52
|
"@24i/smartapps-bigscreen-changelog-generator": "0.17.0",
|
|
57
|
-
"@babel/core": "^7.
|
|
58
|
-
"@babel/preset-env": "^7.
|
|
59
|
-
"@types/fs-extra": "^
|
|
60
|
-
"@types/
|
|
61
|
-
"@types/
|
|
62
|
-
"@types/
|
|
63
|
-
"@types/
|
|
64
|
-
"@types/
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"@types/scheduler": "^0.23.0",
|
|
68
|
-
"babel-jest": "^29.7.0",
|
|
69
|
-
"chalk": "^5.3.0",
|
|
53
|
+
"@babel/core": "^7.19.0",
|
|
54
|
+
"@babel/preset-env": "^7.19.0",
|
|
55
|
+
"@types/fs-extra": "^9.0.13",
|
|
56
|
+
"@types/inquirer": "^9.0.1",
|
|
57
|
+
"@types/jest": "^29.0.2",
|
|
58
|
+
"@types/minimist": "^1.2.2",
|
|
59
|
+
"@types/node": "^18.7.18",
|
|
60
|
+
"@types/react": "^18.0.20",
|
|
61
|
+
"babel-jest": "^29.0.3",
|
|
62
|
+
"chalk": "^5.0.1",
|
|
70
63
|
"coveralls": "^3.1.1",
|
|
71
64
|
"cross-env": "^7.0.3",
|
|
72
|
-
"fs-extra": "^
|
|
65
|
+
"fs-extra": "^10.1.0",
|
|
73
66
|
"full-icu": "^1.5.0",
|
|
74
67
|
"identity-obj-proxy": "^3.0.0",
|
|
75
|
-
"inquirer": "^9.
|
|
76
|
-
"jest": "^29.
|
|
77
|
-
"jest-canvas-mock": "^2.
|
|
78
|
-
"jest-environment-jsdom": "^29.
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"sass": "^1.
|
|
83
|
-
"
|
|
84
|
-
"ts-
|
|
85
|
-
"ts-node": "^10.9.2",
|
|
68
|
+
"inquirer": "^9.1.1",
|
|
69
|
+
"jest": "^29.0.3",
|
|
70
|
+
"jest-canvas-mock": "^2.4.0",
|
|
71
|
+
"jest-environment-jsdom": "^29.0.3",
|
|
72
|
+
"minimist": "^1.2.6",
|
|
73
|
+
"patch-package": "^6.4.7",
|
|
74
|
+
"sass": "^1.54.9",
|
|
75
|
+
"sass-true": "^6.1.0",
|
|
76
|
+
"ts-jest": "^29.0.1",
|
|
77
|
+
"ts-node": "^10.9.1",
|
|
86
78
|
"tsconfig-paths-jest": "0.0.1",
|
|
87
|
-
"typescript": "^
|
|
79
|
+
"typescript": "^4.8.3"
|
|
88
80
|
},
|
|
89
81
|
"exports": {
|
|
90
82
|
"./adobe-heartbeat": "./packages/adobe-heartbeat/src/index.ts",
|
|
91
|
-
"./analytics/interface": "./packages/analytics/src/interface.ts",
|
|
92
|
-
"./analytics/ConsoleAnalytics": "./packages/analytics/src/clients/ConsoleAnalytics/index.ts",
|
|
93
|
-
"./analytics/GoogleAnalytics": "./packages/analytics/src/clients/GoogleAnalytics/index.ts",
|
|
94
|
-
"./analytics/TealiumAnalytics": "./packages/analytics/src/clients/TealiumAnalytics/index.ts",
|
|
95
|
-
"./analytics/TwentyFourIQ": "./packages/analytics/src/clients/TwentyFourIQ/index.ts",
|
|
96
|
-
"./analytics": "./packages/analytics/src/index.ts",
|
|
97
83
|
"./animations/mock": "./packages/animations/src/__mocks__/JSAnimations.ts",
|
|
98
84
|
"./animations": "./packages/animations/src/index.ts",
|
|
99
85
|
"./announcement-banner": "./packages/announcement-banner/src/index.ts",
|
|
@@ -122,11 +108,9 @@
|
|
|
122
108
|
"./driver-base": "./packages/driver-base/src/index.ts",
|
|
123
109
|
"./driver-browser": "./packages/driver-browser/src/index.ts",
|
|
124
110
|
"./driver-entone": "./packages/driver-entone/src/index.ts",
|
|
125
|
-
"./driver-firetv": "./packages/driver-firetv/src/index.ts",
|
|
126
111
|
"./driver-hbbtv": "./packages/driver-hbbtv/src/index.ts",
|
|
127
112
|
"./driver-kreatv": "./packages/driver-kreatv/src/index.ts",
|
|
128
113
|
"./driver-saphi": "./packages/driver-saphi/src/index.ts",
|
|
129
|
-
"./driver-smartcast": "./packages/driver-smartcast/src/index.ts",
|
|
130
114
|
"./driver-tizen": "./packages/driver-tizen/src/index.ts",
|
|
131
115
|
"./driver-vidaa": "./packages/driver-vidaa/src/index.ts",
|
|
132
116
|
"./driver-webos/scripts/template": "./packages/driver-webos/scripts/template.ts",
|
|
@@ -261,7 +245,6 @@
|
|
|
261
245
|
"./storage": "./packages/storage/src/index.ts",
|
|
262
246
|
"./throbber": "./packages/throbber/src/index.ts",
|
|
263
247
|
"./time/adapters/worldTimeApi": "./packages/time/src/adapters/worldTimeApi.ts",
|
|
264
|
-
"./time/adapters/24iMediaTimeApi": "./packages/time/src/adapters/24iMediaTimeApi.ts",
|
|
265
248
|
"./time": "./packages/time/src/index.ts",
|
|
266
249
|
"./toast/styles": "./packages/toast/src/Toast/styles.ts",
|
|
267
250
|
"./toast": "./packages/toast/src/index.ts",
|
|
@@ -271,7 +254,6 @@
|
|
|
271
254
|
"./utils/debounce": "./packages/utils/src/debounce.ts",
|
|
272
255
|
"./utils/displayToggler": "./packages/utils/src/displayToggler.ts",
|
|
273
256
|
"./utils/elementUtils": "./packages/utils/src/elementUtils.ts",
|
|
274
|
-
"./utils/forceReflow": "./packages/utils/src/forceReflow.ts",
|
|
275
257
|
"./utils/generateUuid": "./packages/utils/src/generateUuid.ts",
|
|
276
258
|
"./utils/memoryInfo": "./packages/utils/src/memoryInfo.ts",
|
|
277
259
|
"./utils/nTimes": "./packages/utils/src/nTimes.ts",
|
|
@@ -285,7 +267,6 @@
|
|
|
285
267
|
"./utils/timers": "./packages/utils/src/timers/index.ts",
|
|
286
268
|
"./utils/wait": "./packages/utils/src/wait.ts",
|
|
287
269
|
"./utils/xhr": "./packages/utils/src/xhr/index.ts",
|
|
288
|
-
"./utils/keyPress": "./packages/utils/src/keyPress/index.ts",
|
|
289
270
|
"./utils": "./packages/utils/src/index.ts",
|
|
290
271
|
"./volume-control/interface": "./packages/volume-control/src/IVolumeControlUI.ts",
|
|
291
272
|
"./volume-control": "./packages/volume-control/src/index.ts",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference path='./__external__/Adobe/Adobe.d.ts' />
|
|
2
|
-
import { IErrorEvent, PlayerBase } from '@24i/
|
|
2
|
+
import { IErrorEvent, PlayerBase } from '@24i/player-base';
|
|
3
3
|
import { time } from '@24i/bigscreen-sdk/time';
|
|
4
4
|
import { SECOND_IN_MS } from '@24i/bigscreen-sdk/utils';
|
|
5
5
|
import { va as Adobe } from './__external__/Adobe/MediaSDK.min';
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
export class AdobeHeartbeat<CustomMetadata extends CustomerMetadata | void = void> {
|
|
16
16
|
static StreamType = Adobe.MediaHeartbeat.StreamType;
|
|
17
17
|
|
|
18
|
-
private player?: PlayerBase
|
|
18
|
+
private player?: PlayerBase<any>;
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* Heartbeat configuration object
|
|
@@ -32,7 +32,7 @@ export class AdobeHeartbeat<CustomMetadata extends CustomerMetadata | void = voi
|
|
|
32
32
|
* @param config - Heartbeat configuration object
|
|
33
33
|
* @param player - 24i universal player instance
|
|
34
34
|
*/
|
|
35
|
-
constructor(config: HeartbeatConfig, player?: PlayerBase) {
|
|
35
|
+
constructor(config: HeartbeatConfig, player?: PlayerBase<any>) {
|
|
36
36
|
if (!window.s || !AppMeasurement) throw new Error('Missing Adobe Launch library!');
|
|
37
37
|
this.config = config;
|
|
38
38
|
this.player = player;
|
|
@@ -67,10 +67,10 @@ export class AdobeHeartbeat<CustomMetadata extends CustomerMetadata | void = voi
|
|
|
67
67
|
return {
|
|
68
68
|
getCurrentPlaybackTime: () => {
|
|
69
69
|
if (!this.player) return 0;
|
|
70
|
-
const { currentTime } = this.player.
|
|
70
|
+
const { currentTime } = this.player.getMediaInfo() || {};
|
|
71
71
|
if (this.player.live) {
|
|
72
72
|
try {
|
|
73
|
-
const { programEnd = NaN } = this.player.
|
|
73
|
+
const { programEnd = NaN } = this.player.getMetadata();
|
|
74
74
|
return Math.floor((programEnd - currentTime) / SECOND_IN_MS)
|
|
75
75
|
|| time.getCurrentUnixTime();
|
|
76
76
|
} catch (e) {
|
|
@@ -81,7 +81,7 @@ export class AdobeHeartbeat<CustomMetadata extends CustomerMetadata | void = voi
|
|
|
81
81
|
},
|
|
82
82
|
getQoSObject: () => {
|
|
83
83
|
if (!this.player) return Adobe.MediaHeartbeat.createQoSObject();
|
|
84
|
-
const { bitrate, droppedVideoFrames } = this.player.
|
|
84
|
+
const { bitrate, droppedVideoFrames } = this.player.getMediaInfo() || {};
|
|
85
85
|
return Adobe.MediaHeartbeat.createQoSObject(
|
|
86
86
|
bitrate, undefined, undefined, droppedVideoFrames,
|
|
87
87
|
);
|
|
@@ -89,7 +89,7 @@ export class AdobeHeartbeat<CustomMetadata extends CustomerMetadata | void = voi
|
|
|
89
89
|
};
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
private attachPlayerListeners(player: PlayerBase) {
|
|
92
|
+
private attachPlayerListeners(player: PlayerBase<any>) {
|
|
93
93
|
player.addEventListener('play', this.onPlay);
|
|
94
94
|
player.addEventListener('pause', this.onPause);
|
|
95
95
|
player.addEventListener('ended', this.onEnded);
|
|
@@ -98,7 +98,7 @@ export class AdobeHeartbeat<CustomMetadata extends CustomerMetadata | void = voi
|
|
|
98
98
|
player.addEventListener('error', this.onError);
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
private dettachPlayerListeners(player: PlayerBase) {
|
|
101
|
+
private dettachPlayerListeners(player: PlayerBase<any>) {
|
|
102
102
|
player.removeEventListener('play', this.onPlay);
|
|
103
103
|
player.removeEventListener('pause', this.onPause);
|
|
104
104
|
player.removeEventListener('ended', this.onEnded);
|
|
@@ -143,7 +143,7 @@ export class AdobeHeartbeat<CustomMetadata extends CustomerMetadata | void = voi
|
|
|
143
143
|
* this will replace the old one.
|
|
144
144
|
* @param player - 24i universal player instance
|
|
145
145
|
*/
|
|
146
|
-
attachPlayer(player: PlayerBase) {
|
|
146
|
+
attachPlayer(player: PlayerBase<any>) {
|
|
147
147
|
if (this.player) this.dettachPlayerListeners(this.player);
|
|
148
148
|
this.player = player;
|
|
149
149
|
if (this.player) this.attachPlayerListeners(this.player);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createRef, Component, DeclareProps } from '@24i/bigscreen-sdk/jsx';
|
|
2
2
|
|
|
3
3
|
export type Props = {
|
|
4
|
-
src
|
|
4
|
+
src: string;
|
|
5
5
|
clearBeforeLoading?: boolean;
|
|
6
6
|
onImageLoad?: (src: string) => void;
|
|
7
7
|
onImageError?: (src: string) => void;
|
|
@@ -17,7 +17,6 @@ export class AsyncImage extends Component<Props> {
|
|
|
17
17
|
isCleared = true;
|
|
18
18
|
|
|
19
19
|
static defaultProps = {
|
|
20
|
-
src: undefined,
|
|
21
20
|
clearBeforeLoading: true,
|
|
22
21
|
};
|
|
23
22
|
|
|
@@ -31,7 +30,7 @@ export class AsyncImage extends Component<Props> {
|
|
|
31
30
|
|
|
32
31
|
componentDidMount() {
|
|
33
32
|
const { src } = this.props;
|
|
34
|
-
this.updateImage(src
|
|
33
|
+
this.updateImage(src);
|
|
35
34
|
}
|
|
36
35
|
|
|
37
36
|
private readonly onLoad = () => {
|
|
@@ -48,31 +47,27 @@ export class AsyncImage extends Component<Props> {
|
|
|
48
47
|
private readonly onError = () => {
|
|
49
48
|
if (this.isMounted) {
|
|
50
49
|
const { onImageError } = this.props;
|
|
51
|
-
this.
|
|
50
|
+
this.clearImage();
|
|
52
51
|
if (typeof onImageError === 'function') {
|
|
53
52
|
onImageError(this.src);
|
|
54
53
|
}
|
|
55
54
|
}
|
|
56
55
|
};
|
|
57
56
|
|
|
58
|
-
private
|
|
57
|
+
private clearImage() {
|
|
59
58
|
if (!this.isCleared) {
|
|
60
59
|
this.domRef.current!.style.backgroundImage = '';
|
|
61
60
|
this.isCleared = true;
|
|
62
61
|
}
|
|
63
62
|
}
|
|
64
63
|
|
|
65
|
-
clearImage() {
|
|
66
|
-
this.src = '';
|
|
67
|
-
this.clearBackground();
|
|
68
|
-
}
|
|
69
|
-
|
|
70
64
|
updateImage(src: string) {
|
|
71
|
-
if (
|
|
72
|
-
if (src
|
|
65
|
+
if (src === this.src) return;
|
|
66
|
+
if (!src) {
|
|
73
67
|
this.src = '';
|
|
74
|
-
this.
|
|
75
|
-
|
|
68
|
+
this.image.src = '';
|
|
69
|
+
this.clearImage();
|
|
70
|
+
} else {
|
|
76
71
|
this.src = src;
|
|
77
72
|
this.loadImage(src);
|
|
78
73
|
}
|
|
@@ -82,7 +77,7 @@ export class AsyncImage extends Component<Props> {
|
|
|
82
77
|
const { props: { clearBeforeLoading }, image } = this;
|
|
83
78
|
image.src = src;
|
|
84
79
|
if (clearBeforeLoading === true && !image.complete) {
|
|
85
|
-
this.
|
|
80
|
+
this.clearImage();
|
|
86
81
|
}
|
|
87
82
|
}
|
|
88
83
|
|
|
@@ -7,7 +7,6 @@ import {
|
|
|
7
7
|
import { BACK } from '@24i/bigscreen-sdk/device/keymap';
|
|
8
8
|
import { DISPLAY_NONE, getDisplayToggler, stopEvent } from '@24i/bigscreen-sdk/utils';
|
|
9
9
|
import { map } from '@24i/bigscreen-sdk/perf-utils/array';
|
|
10
|
-
import { Storage } from '@24i/bigscreen-sdk/storage';
|
|
11
10
|
import { IDeveloperTool, DeveloperToolProps } from '../IDeveloperTool';
|
|
12
11
|
import { DeveloperToolItem } from './DeveloperToolItem';
|
|
13
12
|
import { reloadApp } from '../utils/reload';
|
|
@@ -40,11 +39,6 @@ export class DeveloperToolsList extends Component<Props> {
|
|
|
40
39
|
reloadApp();
|
|
41
40
|
};
|
|
42
41
|
|
|
43
|
-
async onClearDataToolPress() {
|
|
44
|
-
await Storage.clear();
|
|
45
|
-
reloadApp();
|
|
46
|
-
}
|
|
47
|
-
|
|
48
42
|
onKeyDown = (event: KeyboardEvent) => {
|
|
49
43
|
if (BACK.is(event)) {
|
|
50
44
|
const { onBack } = this.props;
|
|
@@ -96,11 +90,6 @@ export class DeveloperToolsList extends Component<Props> {
|
|
|
96
90
|
/>
|
|
97
91
|
);
|
|
98
92
|
})}
|
|
99
|
-
<DeveloperToolItem
|
|
100
|
-
ref={this.getNavigationRef()}
|
|
101
|
-
label="Clear data"
|
|
102
|
-
onPress={this.onClearDataToolPress}
|
|
103
|
-
/>
|
|
104
93
|
<DeveloperToolItem
|
|
105
94
|
ref={this.getNavigationRef()}
|
|
106
95
|
label="Restart app"
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Component, createRef, DeclareProps } from '@24i/bigscreen-sdk/jsx';
|
|
2
2
|
import { DISPLAY_NONE, getDisplayToggler } from '@24i/bigscreen-sdk/utils';
|
|
3
3
|
import { createInterval } from '@24i/bigscreen-sdk/utils/timers';
|
|
4
|
-
import { IMediaInfo, PlayerBase } from '@24i/
|
|
4
|
+
import { IMediaInfo, PlayerBase } from '@24i/player-base';
|
|
5
5
|
import { IDeveloperTool } from '../IDeveloperTool';
|
|
6
6
|
import { MEDIA_INFO_DESCRIPTION, MediaInfo } from './constants';
|
|
7
7
|
|
|
8
8
|
export type Props = {
|
|
9
|
-
playerInstance?: PlayerBase
|
|
9
|
+
playerInstance?: PlayerBase<any>;
|
|
10
10
|
updateInterval?: number;
|
|
11
11
|
onClose?: () => void;
|
|
12
12
|
};
|
|
@@ -16,7 +16,7 @@ export class PlayerDebugWindow extends Component<Props> implements IDeveloperToo
|
|
|
16
16
|
|
|
17
17
|
div = createRef<HTMLDivElement>();
|
|
18
18
|
|
|
19
|
-
playerInstance: PlayerBase | null = null;
|
|
19
|
+
playerInstance: PlayerBase<any> | null = null;
|
|
20
20
|
|
|
21
21
|
interval = createInterval();
|
|
22
22
|
|
|
@@ -34,12 +34,12 @@ export class PlayerDebugWindow extends Component<Props> implements IDeveloperToo
|
|
|
34
34
|
if (playerInstance) this.setPlayerInstance(playerInstance);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
setPlayerInstance(playerInstance: PlayerBase) {
|
|
37
|
+
setPlayerInstance(playerInstance: PlayerBase<any>) {
|
|
38
38
|
this.playerInstance = playerInstance;
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
getMediaInfo() {
|
|
42
|
-
return this.playerInstance?.
|
|
42
|
+
return this.playerInstance?.getMediaInfo() || {};
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
getFormattedValue(item: MediaInfo, value: any) {
|
|
@@ -49,21 +49,6 @@ export const MEDIA_INFO_DESCRIPTION: Record<string, MediaInfo> = {
|
|
|
49
49
|
audioCodec: {
|
|
50
50
|
title: 'Audio codec',
|
|
51
51
|
},
|
|
52
|
-
audioBitrate: {
|
|
53
|
-
title: 'Audio bitrate',
|
|
54
|
-
},
|
|
55
|
-
audioSamplingRate: {
|
|
56
|
-
title: 'Audio sampling rate',
|
|
57
|
-
},
|
|
58
|
-
audioLanguage: {
|
|
59
|
-
title: 'Audio language',
|
|
60
|
-
},
|
|
61
|
-
subtitlesAvailable: {
|
|
62
|
-
title: 'Subtitles available',
|
|
63
|
-
},
|
|
64
|
-
availableSubtitlesListString: {
|
|
65
|
-
title: 'List of available subtitles',
|
|
66
|
-
},
|
|
67
52
|
drmProtection: {
|
|
68
53
|
title: 'DRM protection',
|
|
69
54
|
},
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { createRef, Component } from '@24i/bigscreen-sdk/jsx';
|
|
2
|
-
import { hasFocus } from '@24i/bigscreen-sdk/focus';
|
|
3
2
|
import { ScrollText } from '@24i/bigscreen-sdk/scroll-text';
|
|
4
3
|
import { map } from '@24i/bigscreen-sdk/perf-utils/array';
|
|
5
4
|
import { ITechnicalInfoProvider, TechnicalInfoData } from './ITechnicalInfoProvider';
|
|
@@ -39,7 +38,7 @@ class TechnicalInfoDetail extends Component<Props> {
|
|
|
39
38
|
}
|
|
40
39
|
|
|
41
40
|
hasFocus() {
|
|
42
|
-
return
|
|
41
|
+
return this.wrapRef.current!.contains(document.activeElement);
|
|
43
42
|
}
|
|
44
43
|
|
|
45
44
|
renderInfoData(data: TechnicalInfoData) {
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { DeviceBase } from '@24i/bigscreen-sdk/driver-base';
|
|
2
|
-
import { DeviceAndroidTV } from '@24i/bigscreen-sdk/driver-androidtv';
|
|
3
2
|
import { IStorage } from '@24i/bigscreen-sdk/storage/interface';
|
|
4
3
|
import { getUsedJSHeapSize, getTotalJSHeapSize } from '@24i/bigscreen-sdk/utils/memoryInfo';
|
|
5
4
|
import { ipify } from '@24i/bigscreen-sdk/ipify';
|
|
6
5
|
import { map } from '@24i/bigscreen-sdk/perf-utils/array';
|
|
7
|
-
import { PlayerBase } from '@24i/
|
|
6
|
+
import { PlayerBase } from '@24i/player-base';
|
|
8
7
|
import { hasEMESupport, getListOfSupportedDRM } from './utils/emeSupport';
|
|
9
8
|
import {
|
|
10
9
|
hasEMESupport as hasEMESupport01b,
|
|
@@ -36,8 +35,6 @@ type Props = {
|
|
|
36
35
|
profileName: string,
|
|
37
36
|
/** Version of application. */
|
|
38
37
|
appVersion: string,
|
|
39
|
-
/** Version of the currently used core packages. */
|
|
40
|
-
appCoreVersions: string,
|
|
41
38
|
/** App resolution, in format like "1280x720". */
|
|
42
39
|
appResolution: string,
|
|
43
40
|
/** OVP/CMS back-end base URL. */
|
|
@@ -266,34 +263,18 @@ class TechnicalInfoProvider implements ITechnicalInfoProvider {
|
|
|
266
263
|
return this.props.backendBaseUrl || unknown;
|
|
267
264
|
}
|
|
268
265
|
|
|
269
|
-
|
|
270
|
-
const { unknown } = this.translations;
|
|
271
|
-
return this.props.appCoreVersions || unknown;
|
|
272
|
-
}
|
|
273
|
-
|
|
274
|
-
async getWrapperVersion() {
|
|
275
|
-
let value;
|
|
276
|
-
const { unknown } = this.translations;
|
|
277
|
-
try {
|
|
278
|
-
value = await (this.props.device as DeviceAndroidTV).getWrapperVersion();
|
|
279
|
-
} catch (e) {}
|
|
280
|
-
return value || unknown;
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
async getSourceDataLayout() {
|
|
266
|
+
getSourceDataLayout() {
|
|
284
267
|
const {
|
|
285
268
|
username, profile, appVersion, firmwareVersion, deviceModel,
|
|
286
269
|
deviceManufacturer, platform, player, serialNumber, localIpAddress,
|
|
287
270
|
publicIpAddress, connectionType, macAddress, memoryHeapSize,
|
|
288
271
|
usedLocalStorage, timeZone, dateAndTime, flavour, userAgent,
|
|
289
272
|
emeSupport, emeDrmSystems, mseSupport, fourKSupport, resolution, baseUrl,
|
|
290
|
-
appCoreVersions, androidWrapperVersion,
|
|
291
273
|
} = this.translations;
|
|
292
274
|
const dataLayout: SourceDataLayout = [
|
|
293
275
|
{ label: username, getter: this.getUserName },
|
|
294
276
|
{ label: profile, getter: this.getProfileName },
|
|
295
277
|
{ label: appVersion, getter: this.getAppVersion },
|
|
296
|
-
{ label: appCoreVersions, getter: this.getAppCoreVersions },
|
|
297
278
|
{ label: firmwareVersion, getter: this.getFirmwareVersion },
|
|
298
279
|
{ label: deviceModel, getter: this.getDeviceModelName },
|
|
299
280
|
{ label: deviceManufacturer, getter: this.getDeviceManufacturer },
|
|
@@ -317,21 +298,9 @@ class TechnicalInfoProvider implements ITechnicalInfoProvider {
|
|
|
317
298
|
{ label: resolution, getter: this.getAppResolution },
|
|
318
299
|
{ label: baseUrl, getter: this.getBackendBaseUrl },
|
|
319
300
|
];
|
|
320
|
-
|
|
321
|
-
if (await this.isAndroidTV()) {
|
|
322
|
-
dataLayout.push(
|
|
323
|
-
{ label: androidWrapperVersion, getter: this.getWrapperVersion },
|
|
324
|
-
);
|
|
325
|
-
}
|
|
326
|
-
|
|
327
301
|
return dataLayout;
|
|
328
302
|
}
|
|
329
303
|
|
|
330
|
-
async isAndroidTV() {
|
|
331
|
-
const platformName = await this.props.device.getPlatformName();
|
|
332
|
-
return platformName === 'AndroidTV';
|
|
333
|
-
}
|
|
334
|
-
|
|
335
304
|
async loadDataLayout(dataLayout: SourceDataLayout) {
|
|
336
305
|
const promises = map(dataLayout, async (item) => item.getter.call(this));
|
|
337
306
|
const values = await Promise.all(promises);
|
|
@@ -341,7 +310,7 @@ class TechnicalInfoProvider implements ITechnicalInfoProvider {
|
|
|
341
310
|
}
|
|
342
311
|
|
|
343
312
|
async getInfoData() {
|
|
344
|
-
const sourceDataLayout =
|
|
313
|
+
const sourceDataLayout = this.getSourceDataLayout();
|
|
345
314
|
return this.loadDataLayout(sourceDataLayout);
|
|
346
315
|
}
|
|
347
316
|
}
|
|
@@ -3,7 +3,6 @@ export type Translations = TranslationKeys | { [K in keyof TranslationKeys]?: ne
|
|
|
3
3
|
export type TranslationKeys = {
|
|
4
4
|
unknown: string
|
|
5
5
|
anonymous: string,
|
|
6
|
-
androidWrapperVersion: string,
|
|
7
6
|
yes: string,
|
|
8
7
|
no: string,
|
|
9
8
|
prefixed: string,
|
|
@@ -11,7 +10,6 @@ export type TranslationKeys = {
|
|
|
11
10
|
username: string,
|
|
12
11
|
profile: string,
|
|
13
12
|
appVersion: string,
|
|
14
|
-
appCoreVersions: string,
|
|
15
13
|
firmwareVersion: string,
|
|
16
14
|
deviceModel: string,
|
|
17
15
|
deviceManufacturer: string,
|
|
@@ -42,7 +40,6 @@ export type TranslationKeys = {
|
|
|
42
40
|
export const defaultTranslations = {
|
|
43
41
|
unknown: 'UNKNOWN',
|
|
44
42
|
anonymous: 'ANONYMOUS',
|
|
45
|
-
androidWrapperVersion: 'Android wrapper version',
|
|
46
43
|
yes: 'Yes',
|
|
47
44
|
no: 'No',
|
|
48
45
|
prefixed: 'prefixed',
|
|
@@ -50,7 +47,6 @@ export const defaultTranslations = {
|
|
|
50
47
|
username: 'Username',
|
|
51
48
|
profile: 'Profile',
|
|
52
49
|
appVersion: 'App version',
|
|
53
|
-
appCoreVersions: 'Core versions',
|
|
54
50
|
firmwareVersion: 'Firmware version',
|
|
55
51
|
deviceModel: 'Device model',
|
|
56
52
|
deviceManufacturer: 'Device manufacturer',
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { KeycodeKeyMap } from '@24i/bigscreen-sdk/driver-base';
|
|
2
2
|
|
|
3
3
|
export const createGetKeyDigit = (
|
|
4
|
-
getKeyMap: () => Partial<KeycodeKeyMap
|
|
5
|
-
)
|
|
4
|
+
getKeyMap: () => Partial<KeycodeKeyMap>): (event: KeyboardEvent
|
|
5
|
+
) => number | undefined => {
|
|
6
6
|
const {
|
|
7
7
|
NUM_0, NUM_1, NUM_2, NUM_3, NUM_4, NUM_5, NUM_6, NUM_7, NUM_8, NUM_9,
|
|
8
8
|
KP_0, KP_1, KP_2, KP_3, KP_4, KP_5, KP_6, KP_7, KP_8, KP_9,
|
|
@@ -2,13 +2,11 @@ import { KeycodeKeyMap, DeviceEventMap } from '@24i/bigscreen-sdk/driver-base';
|
|
|
2
2
|
import { DeviceAndroidTV } from '@24i/bigscreen-sdk/driver-androidtv';
|
|
3
3
|
import { DeviceBrowser } from '@24i/bigscreen-sdk/driver-browser';
|
|
4
4
|
import { DeviceEntone } from '@24i/bigscreen-sdk/driver-entone';
|
|
5
|
-
import { DeviceFireTV } from '@24i/bigscreen-sdk/driver-firetv';
|
|
6
5
|
import { DeviceHbbTV } from '@24i/bigscreen-sdk/driver-hbbtv';
|
|
7
6
|
import { DeviceKreaTV } from '@24i/bigscreen-sdk/driver-kreatv';
|
|
8
7
|
import { DeviceSaphi } from '@24i/bigscreen-sdk/driver-saphi';
|
|
9
8
|
import { DeviceTizen } from '@24i/bigscreen-sdk/driver-tizen';
|
|
10
9
|
import { DeviceVidaa } from '@24i/bigscreen-sdk/driver-vidaa';
|
|
11
|
-
import { DeviceSmartCast } from '@24i/bigscreen-sdk/driver-smartcast';
|
|
12
10
|
import { DeviceWebos } from '@24i/bigscreen-sdk/driver-webos';
|
|
13
11
|
import { DeviceXbox } from '@24i/bigscreen-sdk/driver-xbox';
|
|
14
12
|
|
|
@@ -22,26 +20,10 @@ const getDevice = () => {
|
|
|
22
20
|
info('HbbTV');
|
|
23
21
|
return new DeviceHbbTV();
|
|
24
22
|
}
|
|
25
|
-
// any because JavaScriptBridge property is defined on Android TV Bridge platform
|
|
26
|
-
if (typeof (window as any).JavaScriptBridge !== 'undefined'
|
|
27
|
-
&& (userAgent.match(/AFT/) || userAgent.match('AmazonWebAppPlatform'))
|
|
28
|
-
) {
|
|
29
|
-
info('FireTV');
|
|
30
|
-
return new DeviceFireTV();
|
|
31
|
-
}
|
|
32
|
-
// any because JavaScriptBridge property is defined on Android TV Bridge platform
|
|
33
|
-
if (typeof (window as any).JavaScriptBridge !== 'undefined') {
|
|
34
|
-
info('AndroidTV');
|
|
35
|
-
return new DeviceAndroidTV();
|
|
36
|
-
}
|
|
37
23
|
if (userAgent.match(/Tizen/)) {
|
|
38
24
|
info('Tizen');
|
|
39
25
|
return new DeviceTizen();
|
|
40
26
|
}
|
|
41
|
-
if (userAgent.match(/Vizio/i)) {
|
|
42
|
-
info('SmartCast');
|
|
43
|
-
return new DeviceSmartCast();
|
|
44
|
-
}
|
|
45
27
|
if (userAgent.match(/Web0S/)) { // Yes, it is Web ZERO S
|
|
46
28
|
info('WebOS');
|
|
47
29
|
return new DeviceWebos();
|
|
@@ -58,6 +40,11 @@ const getDevice = () => {
|
|
|
58
40
|
info('KreaTV');
|
|
59
41
|
return new DeviceKreaTV();
|
|
60
42
|
}
|
|
43
|
+
// any because JavaScriptBridge property is defined on Android TV Bridge platform
|
|
44
|
+
if (typeof (window as any).JavaScriptBridge !== 'undefined') {
|
|
45
|
+
info('AndroidTV');
|
|
46
|
+
return new DeviceAndroidTV();
|
|
47
|
+
}
|
|
61
48
|
// any because ENTONE property is defined on Entone platform
|
|
62
49
|
if (typeof (window as any).ENTONE !== 'undefined') {
|
|
63
50
|
info('Entone');
|