@24i/bigscreen-sdk 1.0.5-4.alpha-2832 → 1.0.5-alpha.2129
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 +3 -2
- package/package.json +34 -54
- package/packages/adobe-heartbeat/src/AdobeHeartbeat.ts +9 -9
- package/packages/async-image/src/AsyncImage.tsx +10 -15
- package/packages/create-package/dist/createPackage.js +66 -0
- package/packages/create-package/dist/createPackage.js.map +1 -0
- package/packages/create-package/dist/index.js +5 -0
- package/packages/create-package/dist/index.js.map +1 -0
- package/packages/create-package/dist/questionnaire/questions.js +35 -0
- package/packages/create-package/dist/questionnaire/questions.js.map +1 -0
- package/packages/create-package/dist/settings/Settings.js +10 -0
- package/packages/create-package/dist/settings/Settings.js.map +1 -0
- package/packages/create-package/dist/types.js +3 -0
- package/packages/create-package/dist/types.js.map +1 -0
- package/packages/developer-tools/PlayerDebugWindow/README.md +1 -1
- package/packages/developer-tools/src/DeveloperConsole/DeveloperConsole.tsx +0 -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/TechnicalInfo.tsx +0 -2
- package/packages/developer-tools/src/TechnicalInfo/TechnicalInfoDetail.tsx +1 -2
- package/packages/developer-tools/src/TechnicalInfo/TechnicalInfoProvider.ts +5 -57
- package/packages/developer-tools/src/TechnicalInfo/__mocks__/Device.ts +0 -12
- package/packages/developer-tools/src/TechnicalInfo/translations.ts +0 -8
- package/packages/device/src/getKeyDigit.ts +2 -2
- package/packages/device/src/resolver/resolver.ts +0 -19
- package/packages/digital-clock/src/DigitalClock.tsx +4 -15
- package/packages/driver-base/src/DeviceBase.ts +2 -73
- 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__/DeviceBase.ts +0 -24
- package/packages/driver-base/src/__mocks__/keyMap.ts +0 -1
- package/packages/driver-base/src/index.ts +0 -3
- 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/DeviceBrowser.ts +0 -26
- package/packages/driver-browser/src/keymap.ts +0 -8
- package/packages/driver-entone/src/DeviceEntone.ts +1 -31
- package/packages/driver-entone/src/keymap.ts +0 -1
- package/packages/driver-hbbtv/src/DeviceHbbTV.ts +0 -26
- package/packages/driver-kreatv/src/DeviceKreaTV.ts +0 -26
- package/packages/driver-saphi/src/DeviceSaphi.ts +0 -26
- package/packages/driver-tizen/src/DeviceTizen.ts +7 -121
- package/packages/driver-tizen/src/ITizen.ts +202 -15116
- package/packages/driver-tizen/src/IWebapis.ts +87 -8643
- package/packages/driver-tizen/src/TizenKeys.ts +2 -4
- package/packages/driver-tizen/src/__mocks__/tizen.ts +8 -7
- package/packages/driver-tizen/src/constants.ts +195 -1
- package/packages/driver-tizen/src/types.ts +14 -0
- package/packages/driver-vidaa/src/DeviceVidaa.ts +2 -29
- 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 -55
- package/packages/driver-webos/src/__mocks__/webos.ts +0 -33
- package/packages/driver-webos/src/constants.ts +0 -1
- package/packages/driver-webos/src/keymap.ts +1 -2
- package/packages/driver-webos/src/types.ts +0 -30
- package/packages/driver-xbox/src/DeviceXbox.ts +1 -30
- 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/grid/src/UnifiedGridController/UnifiedGridController.ts +6 -6
- package/packages/icon/src/Icon.tsx +5 -27
- package/packages/input/README.md +1 -1
- package/packages/input/src/Input.tsx +10 -10
- 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 -12
- package/packages/keyboard/src/WhitelabelKeyboard/types.ts +0 -1
- package/packages/keyboard/src/utils/caret.ts +8 -5
- package/packages/keyboard/src/utils/input.ts +6 -5
- 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/BasicList/BasicList.tsx +7 -7
- package/packages/list/src/CenteredList/CenteredList.tsx +2 -2
- package/packages/list/src/CenteredList/controller.ts +1 -0
- package/packages/list/src/EdgeOffsetList/EdgeOffsetList.tsx +10 -10
- package/packages/list/src/FirstOnlyList/FirstOnlyList.tsx +2 -2
- package/packages/list/src/FirstOnlyVariedList/FirstOnlyVariedList.tsx +2 -2
- package/packages/list/src/FixedToEndList/FixedToEndList.tsx +2 -2
- package/packages/list/src/UnifiedListController/UnifiedListController.ts +2 -6
- package/packages/list/src/interface.ts +2 -2
- package/packages/logger/src/loggers/ConsoleLogger/ConsoleLogger.ts +1 -7
- package/packages/logger/src/loggers/SentryLogger/Sentry.ts +0 -1
- package/packages/logger/src/loggers/SentryLogger/SentryLogger.ts +3 -5
- 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/rnv-build-engine/dist/src/constants/buildSchemes.js +14 -0
- package/packages/rnv-build-engine/dist/src/constants/index.js +7 -0
- package/packages/rnv-build-engine/dist/src/constants/platforms.js +14 -0
- package/packages/rnv-build-engine/dist/src/engine.js +94 -0
- package/packages/rnv-build-engine/dist/src/index.js +26 -0
- package/packages/rnv-build-engine/dist/src/resolvers/index.js +29 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveBaseUrl.js +31 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildFileExtension.js +12 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildFileName.js +36 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildVersion.js +42 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveBuildVersionOffset.js +34 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveDeployLocations.js +79 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveGenericRnvConfig.js +47 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvDeployConfig.js +13 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvDeployUrl.js +11 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveHbbtvRemoteBuildDirRelativePath.js +24 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveSupportedPlatforms.js +5 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveUsedFlavours.js +23 -0
- package/packages/rnv-build-engine/dist/src/resolvers/resolveZippedPlatformBuildsRelativeFilePath.js +14 -0
- package/packages/rnv-build-engine/dist/src/scripts/buildAllWithScheme.js +25 -0
- package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/formatTableDataSpaces.js +30 -0
- package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/generateDeployUrls.js +90 -0
- package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/index.js +4 -0
- package/packages/rnv-build-engine/dist/src/scripts/generateDeployUrls/makeTableDataByScheme.js +63 -0
- package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/afterVersionBump.js +18 -0
- package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/beforeVersionBump.js +12 -0
- package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/checkReleaseNotes.js +16 -0
- package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushRelease.js +31 -0
- package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushReleaseCandidate.js +6 -0
- package/packages/rnv-build-engine/dist/src/scripts/gitReleaser/pushReleaseNotes.js +37 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/deleteSourceMaps.js +11 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/deployToAppCenter.js +83 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/githubRelease.js +128 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/generateWebhoook.js +65 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/makePayload.js +85 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/notifySlack.js +44 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/notifySlack/slackBlockKitBuilder.js +39 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/sentryRelease.js +85 -0
- package/packages/rnv-build-engine/dist/src/scripts/release/urlsMarkdown.js +62 -0
- package/packages/rnv-build-engine/dist/src/scripts/releaseAllWithScheme.js +79 -0
- package/packages/rnv-build-engine/dist/src/scripts/utils/cmdUtils.js +12 -0
- package/packages/rnv-build-engine/dist/src/scripts/utils/fsUtils.js +33 -0
- package/packages/rnv-build-engine/dist/src/scripts/utils/generateIcons.js +29 -0
- package/packages/rnv-build-engine/dist/src/scripts/utils/gitUtils.js +78 -0
- package/packages/rnv-build-engine/dist/src/scripts/utils/index.js +27 -0
- package/packages/rnv-build-engine/dist/src/scripts/utils/stringUtils.js +5 -0
- package/packages/rnv-build-engine/dist/src/sdks/index.js +42 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-tizen/index.js +13 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-tizen/sdkTizen.js +168 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/index.js +14 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/registerSdkPath.js +14 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/index.js +5 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/sdkInstaller.js +37 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/clean.js +11 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/download.js +76 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/index.js +11 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/install.js +23 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-utils/sdk-installer/services/unzip.js +12 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-webos/index.js +13 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-webos/sdkWebos.js +80 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-webpack/index.js +13 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-webpack/sdkWebpack.js +6 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-xbox/index.js +13 -0
- package/packages/rnv-build-engine/dist/src/sdks/sdk-xbox/sdkXbox.js +221 -0
- package/packages/rnv-build-engine/dist/src/tasks/deploy/aswS3/aws.js +22 -0
- package/packages/rnv-build-engine/dist/src/tasks/deploy/aswS3/deployS3.js +71 -0
- package/packages/rnv-build-engine/dist/src/tasks/deploy/hbbtv/deployHbbtv.js +94 -0
- package/packages/rnv-build-engine/dist/src/tasks/engineTasks.js +24 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.build.js +91 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.configure.js +42 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.configureSoft.js +30 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.deploy.js +40 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.hooks.run.js +70 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.package.js +18 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.platform.configure.js +37 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.project.configure.js +116 -0
- package/packages/rnv-build-engine/dist/src/tasks/task.rnv.start.js +73 -0
- package/packages/rnv-build-engine/dist/src/types/c.js +2 -0
- package/packages/rnv-build-engine/dist/src/types/constants.js +2 -0
- package/packages/rnv-build-engine/dist/src/types/index.js +2 -0
- package/packages/rnv-build-engine/dist/src/utils/forEachSupportedPlatformFlavour.js +24 -0
- package/packages/rnv-build-engine/dist/src/utils/generatePngSpriteMap.js +78 -0
- package/packages/rnv-build-engine/dist/src/utils/generateSvgSpriteMap.js +113 -0
- package/packages/rnv-build-engine/dist/src/utils/mergeSvgAndPngIcons.js +65 -0
- package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/index.js +5 -0
- package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/replaceRelevantStringsInConfig.js +31 -0
- package/packages/rnv-build-engine/dist/src/utils/replaceRelevantStringsInConfig/replaceTemplateString.js +40 -0
- package/packages/rnv-build-engine/dist/src/utils/zipBuildsByPlatforms.js +61 -0
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/template.js +87 -0
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/utils/extendSass.js +29 -0
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/utils/joinStrings.js +5 -0
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.base.js +234 -0
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.config.dev.js +6 -0
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.config.prod.js +6 -0
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpack.extend.js +8 -0
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpackConfigAdapter.js +100 -0
- package/packages/rnv-build-engine/dist/templates/platforms/_shared/webpackPlatformProps.js +8 -0
- package/packages/rnv-build-engine/dist/templates/platforms/hbbtv/webpackPlatformProps.js +24 -0
- package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/.project +24 -0
- package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/.tproject +12 -0
- package/packages/rnv-build-engine/dist/templates/platforms/tizen/project/config.xml +17 -0
- package/packages/rnv-build-engine/dist/templates/platforms/webos/project/.project +35 -0
- package/packages/rnv-build-engine/dist/templates/platforms/webos/project/appinfo.json +19 -0
- package/packages/rnv-build-engine/dist/templates/platforms/webos/webpackPlatformProps.js +8 -0
- package/packages/router/README.md +0 -1
- package/packages/router/src/Route.tsx +27 -61
- package/packages/router/src/Router.tsx +14 -63
- 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.scss +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/ci/is_ci_job_skippable.sh +0 -153
- 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 -196
- package/packages/analytics/src/clients/GoogleAnalytics/constants.ts +0 -126
- 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 -82
- package/packages/analytics/src/clients/GoogleAnalytics/mapPayload.ts +0 -51
- package/packages/analytics/src/clients/GoogleAnalytics/prepareBody.ts +0 -14
- package/packages/analytics/src/clients/TealiumAnalytics/TealiumAnalytics.ts +0 -181
- package/packages/analytics/src/clients/TealiumAnalytics/constants.ts +0 -106
- package/packages/analytics/src/clients/TealiumAnalytics/findForLanguage.ts +0 -9
- package/packages/analytics/src/clients/TealiumAnalytics/index.ts +0 -4
- package/packages/analytics/src/clients/TealiumAnalytics/interface.ts +0 -35
- package/packages/analytics/src/clients/TealiumAnalytics/mappers/__mocks__/mediaPayload.ts +0 -72
- 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/mapAppOpen.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 -161
- package/packages/analytics/src/clients/TwentyFourIQ/TwentyFourIQClient.ts +0 -107
- package/packages/analytics/src/clients/TwentyFourIQ/constants.ts +0 -111
- 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 -34
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapAdEvent.ts +0 -20
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapBase.ts +0 -24
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapBuffering.ts +0 -15
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapPlayerClose.ts +0 -25
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapPlayerOpen.ts +0 -17
- 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 -22
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoPause.ts +0 -25
- package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoProgress.ts +0 -25
- 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 -132
- 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/device/src/driver/index.android.tv.ts +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-androidtv/src/DeviceAndroidTV.ts +0 -262
- package/packages/driver-androidtv/src/__mocks__/javaScriptBridge.ts +0 -45
- package/packages/driver-androidtv/src/formatUserAgent.ts +0 -11
- package/packages/driver-androidtv/src/index.ts +0 -2
- package/packages/driver-androidtv/src/keymap.ts +0 -27
- package/packages/driver-androidtv/src/types.ts +0 -155
- package/packages/driver-base/src/types/AdInfo.ts +0 -5
- package/packages/driver-base/src/types/InAppPurchase.ts +0 -20
- package/packages/driver-firetv/src/DeviceFireTV.ts +0 -86
- package/packages/driver-firetv/src/__mocks__/javaScriptBridge.ts +0 -45
- package/packages/driver-firetv/src/index.ts +0 -1
- package/packages/driver-firetv/src/types.ts +0 -1
- package/packages/driver-smartcast/src/DeviceSmartCast.ts +0 -380
- package/packages/driver-smartcast/src/__mocks__/api.ts +0 -69
- 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 -102
- package/packages/focus/src/hasFocus.ts +0 -36
- 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/spanish.ts +0 -26
- 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/keyboard/src/utils/setInputSelectionRange.ts +0 -10
- 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 -156
|
@@ -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. */
|
|
@@ -111,15 +108,6 @@ class TechnicalInfoProvider implements ITechnicalInfoProvider {
|
|
|
111
108
|
return value || unknown;
|
|
112
109
|
}
|
|
113
110
|
|
|
114
|
-
async getDeviceOsLanguage() {
|
|
115
|
-
let value;
|
|
116
|
-
const { unknown } = this.translations;
|
|
117
|
-
try {
|
|
118
|
-
value = await this.props.device.getOsLanguage();
|
|
119
|
-
} catch (e) {}
|
|
120
|
-
return value || unknown;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
111
|
async getPlatformType() {
|
|
124
112
|
let value;
|
|
125
113
|
const { unknown } = this.translations;
|
|
@@ -146,16 +134,6 @@ class TechnicalInfoProvider implements ITechnicalInfoProvider {
|
|
|
146
134
|
return value || unknown;
|
|
147
135
|
}
|
|
148
136
|
|
|
149
|
-
async getAdInfo() {
|
|
150
|
-
let value;
|
|
151
|
-
const { unknown } = this.translations;
|
|
152
|
-
try {
|
|
153
|
-
const { adId, type, latEnabled } = await this.props.device.getAdInfo();
|
|
154
|
-
value = `LAT: ${latEnabled}, AD ID TYPE: ${type}, AD ID: ${adId}`;
|
|
155
|
-
} catch (e) {}
|
|
156
|
-
return value || unknown;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
137
|
async getLocalIpAddress() {
|
|
160
138
|
let value;
|
|
161
139
|
const { unknown } = this.translations;
|
|
@@ -285,42 +263,24 @@ class TechnicalInfoProvider implements ITechnicalInfoProvider {
|
|
|
285
263
|
return this.props.backendBaseUrl || unknown;
|
|
286
264
|
}
|
|
287
265
|
|
|
288
|
-
|
|
289
|
-
const { unknown } = this.translations;
|
|
290
|
-
return this.props.appCoreVersions || unknown;
|
|
291
|
-
}
|
|
292
|
-
|
|
293
|
-
async getWrapperVersion() {
|
|
294
|
-
let value;
|
|
295
|
-
const { unknown } = this.translations;
|
|
296
|
-
try {
|
|
297
|
-
value = await (this.props.device as DeviceAndroidTV).getWrapperVersion();
|
|
298
|
-
} catch (e) {}
|
|
299
|
-
return value || unknown;
|
|
300
|
-
}
|
|
301
|
-
|
|
302
|
-
async getSourceDataLayout() {
|
|
266
|
+
getSourceDataLayout() {
|
|
303
267
|
const {
|
|
304
268
|
username, profile, appVersion, firmwareVersion, deviceModel,
|
|
305
|
-
deviceManufacturer,
|
|
306
|
-
|
|
269
|
+
deviceManufacturer, platform, player, serialNumber, localIpAddress,
|
|
270
|
+
publicIpAddress, connectionType, macAddress, memoryHeapSize,
|
|
307
271
|
usedLocalStorage, timeZone, dateAndTime, flavour, userAgent,
|
|
308
272
|
emeSupport, emeDrmSystems, mseSupport, fourKSupport, resolution, baseUrl,
|
|
309
|
-
appCoreVersions, androidWrapperVersion,
|
|
310
273
|
} = this.translations;
|
|
311
274
|
const dataLayout: SourceDataLayout = [
|
|
312
275
|
{ label: username, getter: this.getUserName },
|
|
313
276
|
{ label: profile, getter: this.getProfileName },
|
|
314
277
|
{ label: appVersion, getter: this.getAppVersion },
|
|
315
|
-
{ label: appCoreVersions, getter: this.getAppCoreVersions },
|
|
316
278
|
{ label: firmwareVersion, getter: this.getFirmwareVersion },
|
|
317
279
|
{ label: deviceModel, getter: this.getDeviceModelName },
|
|
318
280
|
{ label: deviceManufacturer, getter: this.getDeviceManufacturer },
|
|
319
|
-
{ label: deviceLanguage, getter: this.getDeviceOsLanguage },
|
|
320
281
|
{ label: platform, getter: this.getPlatformType },
|
|
321
282
|
{ label: player, getter: this.getPlayerType },
|
|
322
283
|
{ label: serialNumber, getter: this.getDeviceSerialNumber },
|
|
323
|
-
{ label: adInfo, getter: this.getAdInfo },
|
|
324
284
|
{ label: localIpAddress, getter: this.getLocalIpAddress },
|
|
325
285
|
{ label: publicIpAddress, getter: this.getPublicIpAddress },
|
|
326
286
|
{ label: connectionType, getter: this.getConnectionType },
|
|
@@ -338,21 +298,9 @@ class TechnicalInfoProvider implements ITechnicalInfoProvider {
|
|
|
338
298
|
{ label: resolution, getter: this.getAppResolution },
|
|
339
299
|
{ label: baseUrl, getter: this.getBackendBaseUrl },
|
|
340
300
|
];
|
|
341
|
-
|
|
342
|
-
if (await this.isAndroidTV()) {
|
|
343
|
-
dataLayout.push(
|
|
344
|
-
{ label: androidWrapperVersion, getter: this.getWrapperVersion },
|
|
345
|
-
);
|
|
346
|
-
}
|
|
347
|
-
|
|
348
301
|
return dataLayout;
|
|
349
302
|
}
|
|
350
303
|
|
|
351
|
-
async isAndroidTV() {
|
|
352
|
-
const platformName = await this.props.device.getPlatformName();
|
|
353
|
-
return platformName === 'AndroidTV';
|
|
354
|
-
}
|
|
355
|
-
|
|
356
304
|
async loadDataLayout(dataLayout: SourceDataLayout) {
|
|
357
305
|
const promises = map(dataLayout, async (item) => item.getter.call(this));
|
|
358
306
|
const values = await Promise.all(promises);
|
|
@@ -362,7 +310,7 @@ class TechnicalInfoProvider implements ITechnicalInfoProvider {
|
|
|
362
310
|
}
|
|
363
311
|
|
|
364
312
|
async getInfoData() {
|
|
365
|
-
const sourceDataLayout =
|
|
313
|
+
const sourceDataLayout = this.getSourceDataLayout();
|
|
366
314
|
return this.loadDataLayout(sourceDataLayout);
|
|
367
315
|
}
|
|
368
316
|
}
|
|
@@ -43,21 +43,9 @@ class Device {
|
|
|
43
43
|
return 'connection type';
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
async getOsLanguage() {
|
|
47
|
-
return 'device language';
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
async getAdInfo() {
|
|
51
|
-
return { adId: 'ad-id', type: 'ad-id-type', latEnabled: false };
|
|
52
|
-
}
|
|
53
|
-
|
|
54
46
|
async getMacAddress() {
|
|
55
47
|
return 'mac address';
|
|
56
48
|
}
|
|
57
|
-
|
|
58
|
-
async getWrapperVersion() {
|
|
59
|
-
return 'android wrapper version';
|
|
60
|
-
}
|
|
61
49
|
}
|
|
62
50
|
|
|
63
51
|
export { Device };
|
|
@@ -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,15 +10,12 @@ 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,
|
|
18
|
-
deviceLanguage: string;
|
|
19
16
|
platform: string,
|
|
20
17
|
player: string,
|
|
21
18
|
serialNumber: string,
|
|
22
|
-
adInfo: string,
|
|
23
19
|
localIpAddress: string,
|
|
24
20
|
publicIpAddress: string,
|
|
25
21
|
connectionType: string,
|
|
@@ -44,7 +40,6 @@ export type TranslationKeys = {
|
|
|
44
40
|
export const defaultTranslations = {
|
|
45
41
|
unknown: 'UNKNOWN',
|
|
46
42
|
anonymous: 'ANONYMOUS',
|
|
47
|
-
androidWrapperVersion: 'Android wrapper version',
|
|
48
43
|
yes: 'Yes',
|
|
49
44
|
no: 'No',
|
|
50
45
|
prefixed: 'prefixed',
|
|
@@ -52,15 +47,12 @@ export const defaultTranslations = {
|
|
|
52
47
|
username: 'Username',
|
|
53
48
|
profile: 'Profile',
|
|
54
49
|
appVersion: 'App version',
|
|
55
|
-
appCoreVersions: 'Core versions',
|
|
56
50
|
firmwareVersion: 'Firmware version',
|
|
57
51
|
deviceModel: 'Device model',
|
|
58
52
|
deviceManufacturer: 'Device manufacturer',
|
|
59
|
-
deviceLanguage: 'Device Language',
|
|
60
53
|
platform: 'Platform',
|
|
61
54
|
player: 'Player',
|
|
62
55
|
serialNumber: 'Serial number',
|
|
63
|
-
adInfo: 'Ad info',
|
|
64
56
|
localIpAddress: 'Local IP address',
|
|
65
57
|
publicIpAddress: 'Public IP address',
|
|
66
58
|
connectionType: 'Connection type',
|
|
@@ -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,
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
import { KeycodeKeyMap, DeviceEventMap } from '@24i/bigscreen-sdk/driver-base';
|
|
2
|
-
import { DeviceAndroidTV } from '@24i/bigscreen-sdk/driver-androidtv';
|
|
3
2
|
import { DeviceBrowser } from '@24i/bigscreen-sdk/driver-browser';
|
|
4
3
|
import { DeviceEntone } from '@24i/bigscreen-sdk/driver-entone';
|
|
5
|
-
import { DeviceFireTV } from '@24i/bigscreen-sdk/driver-firetv';
|
|
6
4
|
import { DeviceHbbTV } from '@24i/bigscreen-sdk/driver-hbbtv';
|
|
7
5
|
import { DeviceKreaTV } from '@24i/bigscreen-sdk/driver-kreatv';
|
|
8
6
|
import { DeviceSaphi } from '@24i/bigscreen-sdk/driver-saphi';
|
|
9
7
|
import { DeviceTizen } from '@24i/bigscreen-sdk/driver-tizen';
|
|
10
8
|
import { DeviceVidaa } from '@24i/bigscreen-sdk/driver-vidaa';
|
|
11
|
-
import { DeviceSmartCast } from '@24i/bigscreen-sdk/driver-smartcast';
|
|
12
9
|
import { DeviceWebos } from '@24i/bigscreen-sdk/driver-webos';
|
|
13
10
|
import { DeviceXbox } from '@24i/bigscreen-sdk/driver-xbox';
|
|
14
11
|
|
|
@@ -22,26 +19,10 @@ const getDevice = () => {
|
|
|
22
19
|
info('HbbTV');
|
|
23
20
|
return new DeviceHbbTV();
|
|
24
21
|
}
|
|
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
22
|
if (userAgent.match(/Tizen/)) {
|
|
38
23
|
info('Tizen');
|
|
39
24
|
return new DeviceTizen();
|
|
40
25
|
}
|
|
41
|
-
if (userAgent.match(/Vizio/i)) {
|
|
42
|
-
info('SmartCast');
|
|
43
|
-
return new DeviceSmartCast();
|
|
44
|
-
}
|
|
45
26
|
if (userAgent.match(/Web0S/)) { // Yes, it is Web ZERO S
|
|
46
27
|
info('WebOS');
|
|
47
28
|
return new DeviceWebos();
|
|
@@ -8,14 +8,9 @@ export type Props = {
|
|
|
8
8
|
withSeconds?: boolean,
|
|
9
9
|
domRef?: Reference<HTMLDivElement>,
|
|
10
10
|
className?: string,
|
|
11
|
-
isHiddenForAria?: boolean,
|
|
12
11
|
};
|
|
13
12
|
|
|
14
|
-
const WITHOUT_SECONDS_OPTIONS = {
|
|
15
|
-
hour: 'numeric',
|
|
16
|
-
minute: '2-digit',
|
|
17
|
-
formatType: 'timeFormat',
|
|
18
|
-
} as const;
|
|
13
|
+
const WITHOUT_SECONDS_OPTIONS = { hour: 'numeric', minute: '2-digit' } as const;
|
|
19
14
|
const WITH_SECONDS_OPTIONS = { ...WITHOUT_SECONDS_OPTIONS, second: '2-digit' } as const;
|
|
20
15
|
|
|
21
16
|
export class DigitalClock extends Component<Props> {
|
|
@@ -45,7 +40,7 @@ export class DigitalClock extends Component<Props> {
|
|
|
45
40
|
|
|
46
41
|
setTime() {
|
|
47
42
|
const { withSeconds } = this.props;
|
|
48
|
-
const currentTimestampMs = time.
|
|
43
|
+
const currentTimestampMs = time.getCurrentUnixTime();
|
|
49
44
|
if (this.oldUnixTimestampMs !== currentTimestampMs) {
|
|
50
45
|
const options = withSeconds ? WITH_SECONDS_OPTIONS : WITHOUT_SECONDS_OPTIONS;
|
|
51
46
|
this.clearMount((
|
|
@@ -66,13 +61,7 @@ export class DigitalClock extends Component<Props> {
|
|
|
66
61
|
}
|
|
67
62
|
|
|
68
63
|
render() {
|
|
69
|
-
const { className
|
|
70
|
-
return
|
|
71
|
-
<div
|
|
72
|
-
ref={this.clockRef}
|
|
73
|
-
className={className}
|
|
74
|
-
{...isHiddenForAria && { 'aria-hidden': true }}
|
|
75
|
-
/>
|
|
76
|
-
);
|
|
64
|
+
const { className } = this.props;
|
|
65
|
+
return <div ref={this.clockRef} className={className} />;
|
|
77
66
|
}
|
|
78
67
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Storage } from '@24i/bigscreen-sdk/storage';
|
|
2
|
-
import { config } from '@24i/bigscreen-sdk/runtime-config';
|
|
3
2
|
import { generateUuid } from '@24i/bigscreen-sdk/utils/generateUuid';
|
|
4
3
|
import { EventsManager, IEvents, EventMapType } from '@24i/bigscreen-sdk/events-manager';
|
|
5
4
|
import { isRtl } from '@24i/bigscreen-sdk/i18n';
|
|
@@ -8,22 +7,15 @@ import { ScreenSize } from './ScreenSize';
|
|
|
8
7
|
import { VolumeRange } from './VolumeRange';
|
|
9
8
|
import { KeycodeKeyMap } from './types/KeycodeKeyMap';
|
|
10
9
|
import { DeviceEventMap } from './types/DeviceEvent';
|
|
11
|
-
import { AdInfo } from './types/AdInfo';
|
|
12
10
|
import { ScreenSaverStatus } from './types/ScreenSaverStatus';
|
|
13
11
|
import { ExitOptions } from './types/ExitOptions';
|
|
14
12
|
import { inRange } from './utils';
|
|
15
13
|
import { ErrorTemplate } from './errors';
|
|
16
14
|
import { bindPreventDefaultEvent } from './bindPreventDefaultEvent';
|
|
17
|
-
import { LEFT, RIGHT, UP, DOWN, ENTER, BACK
|
|
18
|
-
import { IAPPurchaseProductData, IAPSuccessPayload } from './types/InAppPurchase';
|
|
15
|
+
import { LEFT, RIGHT, UP, DOWN, ENTER, BACK } from './KeyMap';
|
|
19
16
|
|
|
20
17
|
export const STORAGE_UUID_KEY = '__UUID__';
|
|
21
18
|
|
|
22
|
-
const DEFAULT_POLLING_INTERVAL = 15000;
|
|
23
|
-
const DEFAULT_POLLING_TIMEOUT = 15000;
|
|
24
|
-
|
|
25
|
-
const CHECKED_URL = '//www.google-analytics.com/__utm.gif';
|
|
26
|
-
|
|
27
19
|
export abstract class DeviceBase<
|
|
28
20
|
CustomEventMap extends EventMapType = {},
|
|
29
21
|
EventMap extends EventMapType = DeviceEventMap & CustomEventMap,
|
|
@@ -49,14 +41,6 @@ export abstract class DeviceBase<
|
|
|
49
41
|
|
|
50
42
|
screenSize: ScreenSize = 'unknown';
|
|
51
43
|
|
|
52
|
-
pollingInterval: number = DEFAULT_POLLING_INTERVAL;
|
|
53
|
-
|
|
54
|
-
pollingTimeout: number = DEFAULT_POLLING_TIMEOUT;
|
|
55
|
-
|
|
56
|
-
imageTimeout: number = 0;
|
|
57
|
-
|
|
58
|
-
isOffline: boolean = false;
|
|
59
|
-
|
|
60
44
|
// MARK: Initialization
|
|
61
45
|
|
|
62
46
|
/**
|
|
@@ -68,7 +52,6 @@ export abstract class DeviceBase<
|
|
|
68
52
|
if (!this.isInitialized) {
|
|
69
53
|
this.bindPreventDefaultEvents(rootElement);
|
|
70
54
|
const initializer = await this.internalInit();
|
|
71
|
-
this.checkNetworkConnection();
|
|
72
55
|
this.isInitialized = true;
|
|
73
56
|
return initializer;
|
|
74
57
|
}
|
|
@@ -88,46 +71,6 @@ export abstract class DeviceBase<
|
|
|
88
71
|
return this.initializer;
|
|
89
72
|
}
|
|
90
73
|
|
|
91
|
-
doOnlineCheck = () => {
|
|
92
|
-
const protocol = window.location.protocol === 'http:' ? 'http:' : 'https:';
|
|
93
|
-
const tester = new Image();
|
|
94
|
-
this.imageTimeout = window.setTimeout(() => {
|
|
95
|
-
this.connectionNotFound();
|
|
96
|
-
}, this.pollingTimeout || DEFAULT_POLLING_TIMEOUT);
|
|
97
|
-
tester.onload = this.connectionFound;
|
|
98
|
-
tester.onerror = this.connectionNotFound;
|
|
99
|
-
tester.src = `${protocol}${CHECKED_URL}?ts=${Date.now()}`;
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
connectionFound = () => {
|
|
103
|
-
window.clearTimeout(this.imageTimeout);
|
|
104
|
-
if (!this.isOffline) return;
|
|
105
|
-
this.triggerEvent('networkchange',
|
|
106
|
-
{ isConnected: true } as any);
|
|
107
|
-
this.isOffline = false;
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
connectionNotFound = () => {
|
|
111
|
-
window.clearTimeout(this.imageTimeout);
|
|
112
|
-
if (this.isOffline) return;
|
|
113
|
-
this.triggerEvent('networkchange',
|
|
114
|
-
{ isConnected: false } as any);
|
|
115
|
-
this.isOffline = true;
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
checkNetworkConnection() {
|
|
119
|
-
const networkConfig: any = config.get('network.checkConnection');
|
|
120
|
-
this.pollingInterval = Number(networkConfig?.pollingInterval);
|
|
121
|
-
this.pollingTimeout = Number(networkConfig?.pollingTimeout);
|
|
122
|
-
const enableCheckNetwork: any = Boolean(networkConfig?.enableCheckNetwork) ?? false;
|
|
123
|
-
if (enableCheckNetwork) {
|
|
124
|
-
window.setInterval(
|
|
125
|
-
this.doOnlineCheck,
|
|
126
|
-
this.pollingInterval || DEFAULT_POLLING_INTERVAL,
|
|
127
|
-
);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
|
|
131
74
|
// MARK: Interface implemented by individual platform-specific drivers
|
|
132
75
|
|
|
133
76
|
abstract initDevice(): Promise<void>;
|
|
@@ -154,10 +97,6 @@ export abstract class DeviceBase<
|
|
|
154
97
|
|
|
155
98
|
abstract getUuid(): Promise<string>;
|
|
156
99
|
|
|
157
|
-
abstract getAdInfo(): Promise<AdInfo>;
|
|
158
|
-
|
|
159
|
-
abstract getOsLanguage(): Promise<string>;
|
|
160
|
-
|
|
161
100
|
abstract getVolume(): Promise<number>;
|
|
162
101
|
|
|
163
102
|
abstract setVolume(volumePercentage: number): Promise<void>;
|
|
@@ -180,17 +119,11 @@ export abstract class DeviceBase<
|
|
|
180
119
|
|
|
181
120
|
abstract getMacAddress(): Promise<string>;
|
|
182
121
|
|
|
183
|
-
abstract purchaseProduct(data: IAPPurchaseProductData): Promise<IAPSuccessPayload>;
|
|
184
|
-
|
|
185
|
-
abstract cancelSubscription(data: IAPPurchaseProductData): Promise<void>;
|
|
186
|
-
|
|
187
122
|
// MARK: Private functions
|
|
188
123
|
|
|
189
124
|
private bindPreventDefaultEvents(rootElement: HTMLElement) {
|
|
190
125
|
// prevent default to focus the next focusable element of event target
|
|
191
126
|
bindPreventDefaultEvent(rootElement, 'keydown');
|
|
192
|
-
// prevent default not to lose focus (Seen on Android TV Bridge)
|
|
193
|
-
bindPreventDefaultEvent(rootElement, 'keyup');
|
|
194
127
|
// prevent default to focus the nearest focusable ancestor of event target
|
|
195
128
|
bindPreventDefaultEvent(rootElement, 'mousedown');
|
|
196
129
|
}
|
|
@@ -270,7 +203,7 @@ export abstract class DeviceBase<
|
|
|
270
203
|
}
|
|
271
204
|
|
|
272
205
|
isBackOrEscape(event: MouseEvent | KeyboardEvent) {
|
|
273
|
-
return BACK.is(event as KeyboardEvent)
|
|
206
|
+
return BACK.is(event as KeyboardEvent);
|
|
274
207
|
}
|
|
275
208
|
|
|
276
209
|
getDeviceClass() : string {
|
|
@@ -282,8 +215,4 @@ export abstract class DeviceBase<
|
|
|
282
215
|
isMouseUsed() {
|
|
283
216
|
return this.isMouseActive;
|
|
284
217
|
}
|
|
285
|
-
|
|
286
|
-
getResolution() {
|
|
287
|
-
return { width: window.screen?.width, height: window.screen?.height };
|
|
288
|
-
}
|
|
289
218
|
}
|
|
@@ -12,25 +12,21 @@ export class Key {
|
|
|
12
12
|
|
|
13
13
|
alternativeKeyCodes: number[];
|
|
14
14
|
|
|
15
|
-
key: string;
|
|
16
|
-
|
|
17
15
|
constructor({
|
|
18
16
|
id,
|
|
19
17
|
code = '',
|
|
20
18
|
keyCode = 0,
|
|
21
19
|
alternativeCodes = [],
|
|
22
20
|
alternativeKeyCodes = [],
|
|
23
|
-
key = '',
|
|
24
21
|
}: Partial<KeyConfig> = {}) {
|
|
25
22
|
this.id = id!;
|
|
26
23
|
this.code = code;
|
|
27
24
|
this.keyCode = keyCode;
|
|
28
25
|
this.alternativeCodes = alternativeCodes;
|
|
29
26
|
this.alternativeKeyCodes = alternativeKeyCodes;
|
|
30
|
-
this.key = key;
|
|
31
27
|
}
|
|
32
28
|
|
|
33
|
-
is({ keyCode, code
|
|
29
|
+
is({ keyCode, code }: KeyboardEvent) {
|
|
34
30
|
return Boolean(
|
|
35
31
|
code && ( // empty string code means unknown/invalid --> should not compare
|
|
36
32
|
code === this.code
|
|
@@ -39,9 +35,6 @@ export class Key {
|
|
|
39
35
|
|| keyCode && ( // keyCode 0 means unknown/invalid --> should not compare
|
|
40
36
|
keyCode === this.keyCode
|
|
41
37
|
|| this.alternativeKeyCodes.length && includes(this.alternativeKeyCodes, keyCode)
|
|
42
|
-
)
|
|
43
|
-
|| key && ( // empty string code means unknown/invalid --> should not compare
|
|
44
|
-
key === this.key
|
|
45
38
|
),
|
|
46
39
|
);
|
|
47
40
|
}
|
|
@@ -320,10 +320,6 @@ export const GUIDE = new Key({
|
|
|
320
320
|
keyCode: 458,
|
|
321
321
|
});
|
|
322
322
|
|
|
323
|
-
export const SUBTITLES = new Key({
|
|
324
|
-
id: 'SUBTITLES',
|
|
325
|
-
});
|
|
326
|
-
|
|
327
323
|
// MARK: Xbox specials
|
|
328
324
|
export const GAMEPAD_LEFT_THUMBSTICK_UP = new Key({
|
|
329
325
|
id: 'GAMEPAD_LEFT_THUMBSTICK_UP',
|
|
@@ -6,12 +6,11 @@ import * as KeyMap from './KeyMap';
|
|
|
6
6
|
export const overrideValues = (map: Partial<Record<keyof KeycodeKeyMap, Partial<Key>>>) => {
|
|
7
7
|
// @ts-ignore - map and KeyMap have same keys
|
|
8
8
|
forEach(Object.entries(map), ([keyName, {
|
|
9
|
-
keyCode, code, alternativeKeyCodes, alternativeCodes,
|
|
9
|
+
keyCode, code, alternativeKeyCodes, alternativeCodes,
|
|
10
10
|
}]: [keyof typeof import('./KeyMap'), Partial<Key>]) => {
|
|
11
11
|
if (typeof keyCode === 'number') KeyMap[keyName].keyCode = keyCode;
|
|
12
12
|
if (typeof code === 'string') KeyMap[keyName].code = code;
|
|
13
13
|
if (alternativeKeyCodes) KeyMap[keyName].alternativeKeyCodes = alternativeKeyCodes;
|
|
14
14
|
if (alternativeCodes) KeyMap[keyName].alternativeCodes = alternativeCodes;
|
|
15
|
-
if (key) KeyMap[keyName].key = key;
|
|
16
15
|
});
|
|
17
16
|
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { DeviceBase as AbstractDeviceBase } from '../DeviceBase';
|
|
2
2
|
import { ScreenSaverStatus } from '../types/ScreenSaverStatus';
|
|
3
3
|
import { ConnectionType } from '../ConnectionType';
|
|
4
|
-
import { IAPPurchaseProductData, IAPSuccessPayload } from '../types/InAppPurchase';
|
|
5
4
|
|
|
6
5
|
export class DeviceBase extends AbstractDeviceBase {
|
|
7
6
|
volume = 0;
|
|
@@ -54,17 +53,6 @@ export class DeviceBase extends AbstractDeviceBase {
|
|
|
54
53
|
return this.getBaseUuid();
|
|
55
54
|
}
|
|
56
55
|
|
|
57
|
-
async getOsLanguage() {
|
|
58
|
-
return '';
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
async getAdInfo() {
|
|
62
|
-
const adId = 'uuid';
|
|
63
|
-
const type = 'id type';
|
|
64
|
-
const latEnabled = null;
|
|
65
|
-
return { adId, type, latEnabled };
|
|
66
|
-
}
|
|
67
|
-
|
|
68
56
|
async getVolume() {
|
|
69
57
|
return this.volume;
|
|
70
58
|
}
|
|
@@ -109,16 +97,4 @@ export class DeviceBase extends AbstractDeviceBase {
|
|
|
109
97
|
async getMacAddress() {
|
|
110
98
|
return '00:11:22:33:44:55';
|
|
111
99
|
}
|
|
112
|
-
|
|
113
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
114
|
-
async purchaseProduct(data: IAPPurchaseProductData): Promise<IAPSuccessPayload> {
|
|
115
|
-
// not supported
|
|
116
|
-
throw new Error('Not supported');
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
120
|
-
async cancelSubscription(data: IAPPurchaseProductData): Promise<void> {
|
|
121
|
-
// not supported
|
|
122
|
-
throw new Error('Not supported');
|
|
123
|
-
}
|
|
124
100
|
}
|
|
@@ -5,9 +5,6 @@ export { VolumeRange } from './VolumeRange';
|
|
|
5
5
|
export type { ScreenSize } from './ScreenSize';
|
|
6
6
|
export type { KeycodeKeyMap } from './types/KeycodeKeyMap';
|
|
7
7
|
export type { DeviceEventMap } from './types/DeviceEvent';
|
|
8
|
-
export type {
|
|
9
|
-
IAPSuccessPayload, IAPErrorPayload, IAPPromiseResolve, IAPPromiseReject, IAPPurchaseProductData,
|
|
10
|
-
} from './types/InAppPurchase';
|
|
11
8
|
export type { ScreenSaverStatus } from './types/ScreenSaverStatus';
|
|
12
9
|
export type { ExitOptions } from './types/ExitOptions';
|
|
13
10
|
export * as KeyMap from './KeyMap';
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
type NetworkChangeListener = (payload: { isConnected: boolean }) => void;
|
|
2
2
|
type VisibilityChangeListener = (payload: { isVisible: boolean }) => void;
|
|
3
3
|
type MouseActiveListener = (payload: { isMouseActive: boolean }) => void;
|
|
4
|
-
type CCToggleListener = (payload: { isEnabled: boolean }) => void;
|
|
5
4
|
|
|
6
5
|
export interface DeviceEventMap {
|
|
7
6
|
'networkchange': NetworkChangeListener,
|
|
8
7
|
'visibilitychange': VisibilityChangeListener,
|
|
9
8
|
'mouseactive': MouseActiveListener,
|
|
10
|
-
'cctoggle': CCToggleListener,
|
|
11
9
|
}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
DeviceBase, ConnectionType, ScreenSaverStatus, VolumeRange,
|
|
3
|
-
IAPSuccessPayload,
|
|
4
|
-
IAPPurchaseProductData,
|
|
5
3
|
} from '@24i/bigscreen-sdk/driver-base';
|
|
6
4
|
import { runAsync } from '@24i/bigscreen-sdk/utils/timers';
|
|
7
|
-
import { generateUuid } from '@24i/bigscreen-sdk/utils';
|
|
8
5
|
import { getKeyMap } from './keymap';
|
|
9
6
|
import { patchSuitestKeys } from './patchSuitestKeys';
|
|
10
7
|
import { getBrowser } from './getBrowser';
|
|
@@ -117,17 +114,6 @@ export class DeviceBrowser extends DeviceBase {
|
|
|
117
114
|
return this.getBaseUuid();
|
|
118
115
|
}
|
|
119
116
|
|
|
120
|
-
async getAdInfo() {
|
|
121
|
-
const adId = generateUuid();
|
|
122
|
-
const type = 'sessionid';
|
|
123
|
-
const latEnabled = null;
|
|
124
|
-
return { adId, type, latEnabled };
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
async getOsLanguage() {
|
|
128
|
-
return (window.navigator.language || '').slice(0, 2);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
117
|
async getVolume() {
|
|
132
118
|
return this.volume;
|
|
133
119
|
}
|
|
@@ -181,16 +167,4 @@ export class DeviceBrowser extends DeviceBase {
|
|
|
181
167
|
// for development purpose. Correctly, it should return '' for unknown MAC addr.
|
|
182
168
|
return '00:00:00:00:00:00';
|
|
183
169
|
}
|
|
184
|
-
|
|
185
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
186
|
-
async purchaseProduct(data: IAPPurchaseProductData): Promise<IAPSuccessPayload> {
|
|
187
|
-
// not supported
|
|
188
|
-
throw new Error('Not supported');
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
192
|
-
async cancelSubscription(data: IAPPurchaseProductData): Promise<void> {
|
|
193
|
-
// not supported
|
|
194
|
-
throw new Error('Not supported');
|
|
195
|
-
}
|
|
196
170
|
}
|
|
@@ -9,14 +9,6 @@ export const getKeyMap = () => {
|
|
|
9
9
|
VOL_UP: { code: 'KeyU', keyCode: 85 },
|
|
10
10
|
VOL_DOWN: { code: 'KeyJ', keyCode: 74 },
|
|
11
11
|
MUTE: { code: 'KeyM', keyCode: 77 },
|
|
12
|
-
PLAY: { code: 'KeyO', keyCode: 79 },
|
|
13
|
-
PAUSE: { code: 'KeyP', keyCode: 80 },
|
|
14
|
-
PLAYPAUSE: { code: 'Space', keyCode: 32 },
|
|
15
|
-
FF: { code: 'Period', keyCode: 190 },
|
|
16
|
-
REW: { code: 'Comma', keyCode: 188 },
|
|
17
|
-
STOP: { code: 'Escape', keyCode: 27 },
|
|
18
|
-
SUBTITLES: { code: 'KeyS', keyCode: 83 },
|
|
19
|
-
REC: { code: 'KeyI', keyCode: 73 },
|
|
20
12
|
});
|
|
21
13
|
return generateKeyCodeKeyMap();
|
|
22
14
|
};
|