@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.
Files changed (256) hide show
  1. package/README.md +1 -1
  2. package/package.json +34 -53
  3. package/packages/adobe-heartbeat/src/AdobeHeartbeat.ts +9 -9
  4. package/packages/async-image/src/AsyncImage.tsx +10 -15
  5. package/packages/developer-tools/PlayerDebugWindow/README.md +1 -1
  6. package/packages/developer-tools/src/DeveloperToolsService/DeveloperToolsList.tsx +0 -11
  7. package/packages/developer-tools/src/PlayerDebugWindow/PlayerDebugWindow.tsx +5 -5
  8. package/packages/developer-tools/src/PlayerDebugWindow/constants.ts +0 -15
  9. package/packages/developer-tools/src/TechnicalInfo/TechnicalInfoDetail.tsx +1 -2
  10. package/packages/developer-tools/src/TechnicalInfo/TechnicalInfoProvider.ts +3 -34
  11. package/packages/developer-tools/src/TechnicalInfo/__mocks__/Device.ts +0 -4
  12. package/packages/developer-tools/src/TechnicalInfo/translations.ts +0 -4
  13. package/packages/device/src/getKeyDigit.ts +2 -2
  14. package/packages/device/src/resolver/resolver.ts +5 -18
  15. package/packages/digital-clock/src/DigitalClock.tsx +4 -15
  16. package/packages/driver-androidtv/src/DeviceAndroidTV.ts +9 -54
  17. package/packages/driver-androidtv/src/__mocks__/javaScriptBridge.ts +5 -29
  18. package/packages/driver-androidtv/src/keymap.ts +0 -18
  19. package/packages/driver-androidtv/src/types.ts +16 -102
  20. package/packages/driver-base/src/DeviceBase.ts +2 -61
  21. package/packages/driver-base/src/KeyMap/Key.ts +1 -8
  22. package/packages/driver-base/src/KeyMap/KeyMap.ts +0 -4
  23. package/packages/driver-base/src/KeyMap/interface.ts +0 -1
  24. package/packages/driver-base/src/KeyMap/overrideValues.ts +1 -2
  25. package/packages/driver-base/src/__mocks__/keyMap.ts +0 -1
  26. package/packages/driver-base/src/types/DeviceEvent.ts +0 -2
  27. package/packages/driver-base/src/types/KeycodeKeyMap.ts +0 -1
  28. package/packages/driver-browser/src/keymap.ts +0 -8
  29. package/packages/driver-entone/src/keymap.ts +0 -1
  30. package/packages/driver-tizen/src/TizenKeys.ts +0 -2
  31. package/packages/driver-vidaa/src/DeviceVidaa.ts +2 -3
  32. package/packages/driver-vidaa/src/__mocks__/vidaa.ts +1 -1
  33. package/packages/driver-vidaa/src/keymap.ts +0 -2
  34. package/packages/driver-webos/src/DeviceWebos.ts +0 -8
  35. package/packages/driver-webos/src/keymap.ts +1 -2
  36. package/packages/driver-xbox/src/keymap.ts +1 -1
  37. package/packages/epg/README.md +1 -3
  38. package/packages/epg/src/v2/Cell.tsx +2 -16
  39. package/packages/epg/src/v2/DataManager.ts +41 -112
  40. package/packages/epg/src/v2/DatePicker.tsx +3 -9
  41. package/packages/epg/src/v2/DateToast/DateToast.tsx +9 -12
  42. package/packages/epg/src/v2/Day.tsx +3 -6
  43. package/packages/epg/src/v2/Epg.tsx +5 -5
  44. package/packages/epg/src/v2/MockGenerator/generator.ts +2 -3
  45. package/packages/epg/src/v2/ProgramInfo/utils.ts +3 -4
  46. package/packages/epg/src/v2/Row.tsx +1 -3
  47. package/packages/epg/src/v2/TimelineSection.tsx +1 -4
  48. package/packages/epg/src/v2/basic/CellsManager.tsx +2 -7
  49. package/packages/epg/src/v2/basic/RowsManager.tsx +1 -3
  50. package/packages/epg/src/v2/interface.ts +0 -13
  51. package/packages/events-manager/src/EventsManager.ts +56 -1
  52. package/packages/focus/README.md +0 -33
  53. package/packages/focus/src/IFocusable.ts +0 -1
  54. package/packages/focus/src/Layout/Base.tsx +6 -41
  55. package/packages/focus/src/Layout/Matrix.tsx +19 -51
  56. package/packages/focus/src/Layout/__test__/Base.spec.ts +180 -0
  57. package/packages/focus/src/Layout/__test__/Horizontal.spec.ts +94 -0
  58. package/packages/focus/src/Layout/__test__/Matrix.spec.ts +261 -0
  59. package/packages/focus/src/Layout/__test__/Vertical.spec.ts +46 -0
  60. package/packages/focus/src/Layout/__test__/isRtl.spec.ts +23 -0
  61. package/packages/focus/src/Layout/__test__/shared.ts +19 -0
  62. package/packages/focus/src/focusFirstExisting.ts +1 -7
  63. package/packages/focus/src/index.ts +1 -2
  64. package/packages/gallup/src/Gallup.ts +3 -3
  65. package/packages/grid/src/Base/Base.tsx +10 -15
  66. package/packages/grid/src/FirstOnlyGrid/FirstOnlyGrid.tsx +2 -4
  67. package/packages/icon/src/Icon.tsx +5 -27
  68. package/packages/input/README.md +1 -4
  69. package/packages/input/src/Input.tsx +29 -65
  70. package/packages/input/src/handleOverflow.ts +29 -0
  71. package/packages/interactable/README.md +1 -2
  72. package/packages/interactable/src/Interactable.tsx +3 -9
  73. package/packages/interactable/src/interface.ts +0 -1
  74. package/packages/jsx/src/index.ts +1 -1
  75. package/packages/jsx/src/test-utils/index.ts +0 -1
  76. package/packages/keyboard/src/Backdrop/Backdrop.scss +0 -2
  77. package/packages/keyboard/src/KeyboardBase.tsx +4 -16
  78. package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.scss +0 -4
  79. package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.tsx +20 -28
  80. package/packages/keyboard/src/WhitelabelKeyboard/_sizes.1080.scss +0 -1
  81. package/packages/keyboard/src/WhitelabelKeyboard/_sizes.scss +0 -1
  82. package/packages/keyboard/src/WhitelabelKeyboard/layouts/index.ts +0 -11
  83. package/packages/keyboard/src/WhitelabelKeyboard/types.ts +0 -1
  84. package/packages/l10n/README.md +0 -18
  85. package/packages/l10n/src/date/common.ts +6 -18
  86. package/packages/l10n/src/date/cs.ts +8 -2
  87. package/packages/l10n/src/date/en-001.ts +3 -3
  88. package/packages/l10n/src/date/en-common.ts +4 -5
  89. package/packages/l10n/src/date/en-us.ts +3 -3
  90. package/packages/l10n/src/date/iso.ts +13 -12
  91. package/packages/l10n/src/date/types.ts +0 -9
  92. package/packages/l10n/src/l10n.ts +3 -61
  93. package/packages/list/src/Base/Base.tsx +9 -19
  94. package/packages/list/src/Base/interface.ts +2 -2
  95. package/packages/list/src/CenteredList/controller.ts +1 -0
  96. package/packages/list/src/EdgeOffsetList/EdgeOffsetList.tsx +3 -3
  97. package/packages/list/src/UnifiedListController/UnifiedListController.ts +2 -6
  98. package/packages/logger/src/loggers/SentryLogger/Sentry.ts +0 -1
  99. package/packages/logger/src/loggers/SentryLogger/SentryLogger.ts +2 -2
  100. package/packages/menu/src/MenuAndContentContainer/MenuAndContentContainer.tsx +3 -31
  101. package/packages/menu/src/MenuAndContentContainer/interface.ts +0 -8
  102. package/packages/modal-service/README.md +1 -4
  103. package/packages/modal-service/src/ModalService.tsx +5 -29
  104. package/packages/perf-utils/README.md +120 -1
  105. package/packages/perf-utils/src/array/filter.ts +54 -1
  106. package/packages/perf-utils/src/array/find.ts +43 -1
  107. package/packages/perf-utils/src/array/findIndex.ts +43 -1
  108. package/packages/perf-utils/src/array/forEach.ts +48 -1
  109. package/packages/perf-utils/src/array/includes.ts +41 -1
  110. package/packages/perf-utils/src/array/includesNaN.ts +32 -1
  111. package/packages/perf-utils/src/array/index.ts +7 -1
  112. package/packages/perf-utils/src/array/map.ts +52 -1
  113. package/packages/player-ui/README.md +1 -1
  114. package/packages/player-ui/src/CurrentTime.tsx +2 -2
  115. package/packages/player-ui/src/Duration.tsx +2 -2
  116. package/packages/player-ui/src/PauseButton.tsx +0 -8
  117. package/packages/player-ui/src/PlayerInteractable.tsx +0 -1
  118. package/packages/player-ui/src/PlayerTime.tsx +1 -3
  119. package/packages/player-ui/src/PlayerUI.tsx +35 -68
  120. package/packages/player-ui/src/RemainingTime.tsx +2 -2
  121. package/packages/player-ui/src/Seekbar.tsx +18 -110
  122. package/packages/player-ui/src/Seeking.ts +16 -57
  123. package/packages/player-ui/src/Subtitles.tsx +2 -2
  124. package/packages/player-ui/src/index.ts +0 -1
  125. package/packages/player-ui/src/mocks.ts +8 -32
  126. package/packages/player-ui/src/timeUtils.ts +3 -3
  127. package/packages/player-ui/src/types.ts +3 -9
  128. package/packages/router/src/Route.tsx +27 -61
  129. package/packages/router/src/Router.tsx +13 -59
  130. package/packages/router/src/history.ts +1 -8
  131. package/packages/router/src/index.ts +1 -1
  132. package/packages/router/src/utils.ts +4 -9
  133. package/packages/sass-utils/src/linear-gradient.scss +4 -9
  134. package/packages/sass-utils/src/scale.1080.scss +1 -3
  135. package/packages/sass-utils/src/scale.720.scss +1 -1
  136. package/packages/time/README.md +1 -4
  137. package/packages/time/src/Time.ts +13 -35
  138. package/packages/time/src/constants.ts +0 -1
  139. package/packages/toast/src/ToastService.tsx +5 -16
  140. package/packages/types-bigscreen-jsx/README.md +4 -5
  141. package/packages/types-bigscreen-jsx/index.d.ts +67 -72
  142. package/packages/utils/README.md +0 -27
  143. package/packages/utils/src/elementUtils.ts +0 -25
  144. package/packages/utils/src/index.ts +0 -8
  145. package/packages/utils/src/scaledImage.ts +3 -6
  146. package/packages/utils/src/textUtils.ts +14 -46
  147. package/packages/utils/src/wait.ts +1 -3
  148. package/packages/utils/src/xhr/xhrSend.ts +1 -3
  149. package/packages/utils/src/xhr/xhrSendRetry.ts +1 -3
  150. package/packages/zapping/src/ChannelZapping.ts +0 -9
  151. package/packages/zapping/src/Zapping.tsx +0 -10
  152. package/.vscode/settings.json +0 -6
  153. package/packages/analytics/README.md +0 -8
  154. package/packages/analytics/src/A.ts +0 -1
  155. package/packages/analytics/src/Analytics.ts +0 -1
  156. package/packages/analytics/src/analyticsOnScroll.ts +0 -1
  157. package/packages/analytics/src/clients/ConsoleAnalytics/ConsoleAnalytics.ts +0 -1
  158. package/packages/analytics/src/clients/ConsoleAnalytics/index.ts +0 -1
  159. package/packages/analytics/src/clients/GoogleAnalytics/GoogleAnalytics.ts +0 -200
  160. package/packages/analytics/src/clients/GoogleAnalytics/constants.ts +0 -118
  161. package/packages/analytics/src/clients/GoogleAnalytics/getUrl.ts +0 -17
  162. package/packages/analytics/src/clients/GoogleAnalytics/index.ts +0 -2
  163. package/packages/analytics/src/clients/GoogleAnalytics/interface.ts +0 -77
  164. package/packages/analytics/src/clients/GoogleAnalytics/mapPayload.ts +0 -50
  165. package/packages/analytics/src/clients/GoogleAnalytics/prepareBody.ts +0 -14
  166. package/packages/analytics/src/clients/TealiumAnalytics/TealiumAnalytics.ts +0 -169
  167. package/packages/analytics/src/clients/TealiumAnalytics/constants.ts +0 -102
  168. package/packages/analytics/src/clients/TealiumAnalytics/findIdForLanguage.ts +0 -9
  169. package/packages/analytics/src/clients/TealiumAnalytics/index.ts +0 -4
  170. package/packages/analytics/src/clients/TealiumAnalytics/interface.ts +0 -33
  171. package/packages/analytics/src/clients/TealiumAnalytics/mappers/__mocks__/mediaPayload.ts +0 -70
  172. package/packages/analytics/src/clients/TealiumAnalytics/mappers/helper.ts +0 -36
  173. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapAppError.ts +0 -13
  174. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapFavoriteAdd.ts +0 -11
  175. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapFavoriteRemove.ts +0 -11
  176. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapPlayerClose.ts +0 -15
  177. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapPlayerOpen.ts +0 -15
  178. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSceneView.ts +0 -18
  179. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearch.ts +0 -18
  180. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearchFailed.ts +0 -8
  181. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearchSuccess.ts +0 -8
  182. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoPause.ts +0 -15
  183. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoProgress.ts +0 -18
  184. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoResume.ts +0 -15
  185. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoStart.ts +0 -15
  186. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoStop.ts +0 -15
  187. package/packages/analytics/src/clients/TealiumAnalytics/types.ts +0 -156
  188. package/packages/analytics/src/clients/TwentyFourIQ/TwentyFourIQClient.ts +0 -116
  189. package/packages/analytics/src/clients/TwentyFourIQ/constants.ts +0 -99
  190. package/packages/analytics/src/clients/TwentyFourIQ/helper.ts +0 -34
  191. package/packages/analytics/src/clients/TwentyFourIQ/index.ts +0 -2
  192. package/packages/analytics/src/clients/TwentyFourIQ/interface.ts +0 -31
  193. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapAdLoaded.ts +0 -13
  194. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapAdSkipped.ts +0 -16
  195. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapBase.ts +0 -21
  196. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapBuffering.ts +0 -15
  197. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapPlayerClose.ts +0 -24
  198. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapPlayerOpen.ts +0 -18
  199. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapSceneView.ts +0 -15
  200. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapScroll.ts +0 -17
  201. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoComplete.ts +0 -21
  202. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoPause.ts +0 -24
  203. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoProgress.ts +0 -24
  204. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoStart.ts +0 -34
  205. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoStop.ts +0 -32
  206. package/packages/analytics/src/clients/TwentyFourIQ/types.ts +0 -115
  207. package/packages/analytics/src/constants.ts +0 -1
  208. package/packages/analytics/src/index.ts +0 -3
  209. package/packages/analytics/src/interface.ts +0 -1
  210. package/packages/analytics/src/utils/generateSessionId.ts +0 -8
  211. package/packages/create-package/dist/createPackage.js +0 -66
  212. package/packages/create-package/dist/createPackage.js.map +0 -1
  213. package/packages/create-package/dist/index.js +0 -5
  214. package/packages/create-package/dist/index.js.map +0 -1
  215. package/packages/create-package/dist/questionnaire/questions.js +0 -35
  216. package/packages/create-package/dist/questionnaire/questions.js.map +0 -1
  217. package/packages/create-package/dist/settings/Settings.js +0 -10
  218. package/packages/create-package/dist/settings/Settings.js.map +0 -1
  219. package/packages/create-package/dist/types.js +0 -3
  220. package/packages/create-package/dist/types.js.map +0 -1
  221. package/packages/device/src/driver/index.firetv.ts +0 -1
  222. package/packages/device/src/driver/index.smartcast.tv.ts +0 -1
  223. package/packages/driver-firetv/src/DeviceFireTV.ts +0 -18
  224. package/packages/driver-firetv/src/__mocks__/javaScriptBridge.ts +0 -36
  225. package/packages/driver-firetv/src/index.ts +0 -1
  226. package/packages/driver-smartcast/src/DeviceSmartCast.ts +0 -317
  227. package/packages/driver-smartcast/src/__mocks__/api.ts +0 -49
  228. package/packages/driver-smartcast/src/index.ts +0 -1
  229. package/packages/driver-smartcast/src/keymap.ts +0 -9
  230. package/packages/driver-smartcast/src/types.ts +0 -65
  231. package/packages/focus/src/hasFocus.ts +0 -36
  232. package/packages/input/src/utils.ts +0 -71
  233. package/packages/jsx/src/test-utils/keyup.ts +0 -27
  234. package/packages/keyboard/src/WhitelabelKeyboard/layouts/arabic.ts +0 -27
  235. package/packages/keyboard/src/WhitelabelKeyboard/layouts/burmese.ts +0 -27
  236. package/packages/keyboard/src/WhitelabelKeyboard/layouts/dari.ts +0 -28
  237. package/packages/keyboard/src/WhitelabelKeyboard/layouts/korean.ts +0 -26
  238. package/packages/keyboard/src/WhitelabelKeyboard/layouts/pashto.ts +0 -27
  239. package/packages/keyboard/src/WhitelabelKeyboard/layouts/persian.ts +0 -27
  240. package/packages/keyboard/src/WhitelabelKeyboard/layouts/russian.ts +0 -27
  241. package/packages/keyboard/src/WhitelabelKeyboard/layouts/tibetan.ts +0 -26
  242. package/packages/keyboard/src/WhitelabelKeyboard/layouts/turkish.ts +0 -26
  243. package/packages/keyboard/src/WhitelabelKeyboard/layouts/ukrainian.ts +0 -27
  244. package/packages/keyboard/src/WhitelabelKeyboard/layouts/urdu.ts +0 -26
  245. package/packages/l10n/src/date/de.ts +0 -97
  246. package/packages/l10n/src/date/es.ts +0 -71
  247. package/packages/l10n/src/date/fr.ts +0 -94
  248. package/packages/l10n/src/date/he.ts +0 -101
  249. package/packages/time/src/adapters/24iMediaTimeApi.ts +0 -47
  250. package/packages/time/src/services/24iMediaTimeApi/24iMediaTimeApi.ts +0 -43
  251. package/packages/time/src/services/24iMediaTimeApi/index.ts +0 -6
  252. package/packages/utils/src/forceReflow.ts +0 -14
  253. package/packages/utils/src/keyPress/index.ts +0 -6
  254. package/packages/utils/src/keyPress/keyPressSimulator.ts +0 -74
  255. package/packages/utils/src/keyPress/simulateKeyPress.ts +0 -25
  256. package/utils/release/release.ts +0 -154
@@ -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.getCurrentTime().getTime();
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, isHiddenForAria } = this.props;
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
  }
@@ -4,9 +4,9 @@ import {
4
4
  ScreenSaverStatus,
5
5
  VolumeRange,
6
6
  } from '@24i/bigscreen-sdk/driver-base';
7
- import { IJavaScriptBridge, DeviceInfo } from './types';
7
+ import { IJavaScriptBridge } from './types';
8
8
  import { getFirmware } from './formatUserAgent';
9
- import { getKeyMap, AndroidKeyMap } from './keymap';
9
+ import { getKeyMap } from './keymap';
10
10
 
11
11
  interface CustomKeyboardEvent extends KeyboardEvent {
12
12
  /** Flag indicating that the driver has already re-emitted this event. */
@@ -25,9 +25,7 @@ declare global {
25
25
  export class DeviceAndroidTV extends DeviceBase {
26
26
  keyMap = getKeyMap();
27
27
 
28
- deviceInfo = window.JavaScriptBridge.bridgeJavaScriptToAndroid_GetDeviceInfo();
29
-
30
- platformInfo: DeviceInfo = this.deviceInfo ? JSON.parse(this.deviceInfo) : '';
28
+ platformInfo = window.JavaScriptBridge.bridgeJavaScriptToAndroid_GetDeviceInfo();
31
29
 
32
30
  firmware = getFirmware(navigator.userAgent);
33
31
 
@@ -46,54 +44,17 @@ export class DeviceAndroidTV extends DeviceBase {
46
44
  }
47
45
 
48
46
  /**
49
- * Handles keydown/up events for the BACK, FF, REW, STOP, PLAY key which are
50
- * dispatched on the document from the Android TV Bridge. We must catch them
51
- * and re-emit them properly on the active (focused) element in the DOM tree.
47
+ * Handles keydown/up events for the BACK key which are dispatched on the document
48
+ * from the Android TV Bridge. We must catch them and re-emit them properly
49
+ * on the active (focused) element in the DOM tree.
52
50
  * @param event keyboard event
53
51
  */
54
- // eslint-disable-next-line complexity
55
52
  relaunchKeyEvent = (event: CustomKeyboardEvent) => {
56
53
  if (event.bigscreenSdkRelaunched) { // prevent to relaunch event in loop
57
54
  return;
58
55
  }
59
-
60
- const { key } = event;
61
- let { keyCode } = event;
62
-
63
- // KeyCodes collisions for some key sent from Android wrapper or JavaScript (webView)
64
- if (
65
- key === 'u' // keyCode 85, same like PLAYPAUSE
66
- || key === 'v' // keyCode 86, same like STOP
67
- || key === 'y' // keyCode 89, same like REW
68
- || key === 'z' // keyCode 90, same like FF
69
- ) {
70
- return;
71
- }
72
-
73
- /**
74
- * Remap KeyCode by its key value.
75
- * On Android all colors keys and some others coming with "0" keyCode.
76
- */
77
- if (key === 'ColorF0Red') keyCode = this.keyMap.RED;
78
- if (key === 'ColorF1Green') keyCode = this.keyMap.GREEN;
79
- if (key === 'ColorF2Yellow') keyCode = this.keyMap.YELLOW;
80
- if (key === 'ColorF3Blue') keyCode = this.keyMap.BLUE;
81
- if (key === 'ClosedCaptionToggle') keyCode = this.keyMap.SUBTITLES;
82
- if (keyCode === AndroidKeyMap.STOP) keyCode = this.keyMap.STOP;
83
- if (keyCode === AndroidKeyMap.PAUSE) keyCode = this.keyMap.PAUSE;
84
-
85
- if (keyCode === this.keyMap.BACK
86
- || keyCode === this.keyMap.STOP
87
- || keyCode === this.keyMap.FF
88
- || keyCode === this.keyMap.REW
89
- || keyCode === this.keyMap.PLAYPAUSE
90
- || keyCode === this.keyMap.PLAY
91
- || keyCode === this.keyMap.RED
92
- || keyCode === this.keyMap.GREEN
93
- || keyCode === this.keyMap.YELLOW
94
- || keyCode === this.keyMap.BLUE
95
- || keyCode === this.keyMap.SUBTITLES
96
- ) {
56
+ const { keyCode } = event;
57
+ if (keyCode === this.keyMap.BACK) {
97
58
  event.preventDefault();
98
59
  event.stopImmediatePropagation();
99
60
  const newEvent = new KeyboardEvent(event.type, {
@@ -166,10 +127,6 @@ export class DeviceAndroidTV extends DeviceBase {
166
127
  return VolumeRange.UNSUPPORTED;
167
128
  }
168
129
 
169
- async getWrapperVersion(): Promise<string> {
170
- return this.platformInfo.appVersion;
171
- }
172
-
173
130
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
174
131
  async setVolume(volumePercentage: number): Promise<void> {
175
132
  // not supported on AndroidTV platform
@@ -211,9 +168,7 @@ export class DeviceAndroidTV extends DeviceBase {
211
168
  }
212
169
 
213
170
  async getLocalIP(): Promise<string> {
214
- const ipv4RegExp = /\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b/;
215
- const ip = this.platformInfo.ipLocal.toString().match(ipv4RegExp);
216
- if (ip) return ip.toString();
171
+ // not supported on AndroidTV platform
217
172
  return '';
218
173
  }
219
174
 
@@ -2,35 +2,11 @@ import { IJavaScriptBridge } from '../types';
2
2
 
3
3
  export const mockJavaScriptBridge: IJavaScriptBridge = {
4
4
  JavaScriptBridge: {
5
- bridgeJavaScriptToAndroid_GetDeviceInfo: () => (
6
- JSON.stringify({
7
- deviceBrand: 'Sony',
8
- deviceModel: 'BRAVIA 4K 2015',
9
- osVersion: '8.0.0',
10
- appVersion: '0.0.1',
11
- appFlavor: 'appstage-bigscreen',
12
- drmKeySystems: '["W3C Clear Key", "Google Widevine"]',
13
- ipLocal: '127.0.0.1',
14
- })
15
- ),
5
+ bridgeJavaScriptToAndroid_GetDeviceInfo: () => ({
6
+ deviceBrand: 'Sony',
7
+ deviceModel: 'BRAVIA 4K 2015',
8
+ osVersion: '8.0.0',
9
+ }),
16
10
  bridgeJavaScriptToAndroid_Back: () => {},
17
- bridgeJavaScriptToAndroid_StopVideo: () => {},
18
- bridgeJavaScriptToAndroid_FullScreenVideo: () => {},
19
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
20
- bridgeJavaScriptToAndroid_SetVideoPath: (url: string) => {},
21
- bridgeJavaScriptToAndroid_IsPlaying: () => true,
22
- bridgeJavaScriptToAndroid_PauseVideo: () => {},
23
- bridgeJavaScriptToAndroid_PlayVideo: () => {},
24
- bridgeJavaScriptToAndroid_IsLive: () => false,
25
- bridgeJavaScriptToAndroid_GetCurrentTime: () => Date.now(),
26
- bridgeJavaScriptToAndroid_GetTotalTime: () => Date.now(),
27
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
28
- bridgeJavaScriptToAndroid_SeekTo: (milliseconds: number) => {},
29
- bridgeJavaScriptToAndroid_getCurrentSubtitleTrack: () => '{}',
30
- bridgeJavaScriptToAndroid_getCurrentAudioTrack: () => '{}',
31
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
32
- bridgeJavaScriptToAndroid_SetTrack: (track: string) => {},
33
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
34
- bridgeJavaScriptToAndroid_SetAudioTrack: (track: string) => {},
35
11
  },
36
12
  };
@@ -4,24 +4,6 @@ import { KeyMap } from '@24i/bigscreen-sdk/driver-base';
4
4
  export const getKeyMap = () => {
5
5
  KeyMap.overrideValues({
6
6
  BACK: { keyCode: 4 },
7
- STOP: { keyCode: 86 },
8
- FF: { keyCode: 90 },
9
- REW: { keyCode: 89 },
10
- PLAY: { keyCode: 126 },
11
- PAUSE: { keyCode: 127 },
12
- PLAYPAUSE: { keyCode: 85 },
13
- SUBTITLES: { keyCode: 175 },
14
7
  });
15
8
  return KeyMap.generateKeyCodeKeyMap();
16
9
  };
17
-
18
- /**
19
- * For the specific AndroidTV devices like Sony Bravia or Nvidia Shield
20
- * there are different KeyCodes for some buttons than on other platforms.
21
- * In that case we need to re-map this specific KeyCodes to the
22
- * same values as we using in generic KeyMap list for the AndroidTV.
23
- */
24
- export const AndroidKeyMap = {
25
- STOP: 178,
26
- PAUSE: 85,
27
- };
@@ -1,113 +1,27 @@
1
1
  interface JavaScriptBridge {
2
2
  /**
3
- * It returns a JSON string with device info.
4
- * @return JSON string with the information about the device brand, model and Android version.
5
- * Ex. '{"deviceBrand": "Sony", "deviceModel": "BRAVIA 4K 2015", "osVersion": "7.0",
6
- * "appFlavor": "appstage-bigscreen", "drmKeySystems": ["Widewine", "W3C ClearKey"],
7
- * "ipLocal": "fe80::475:3045:2928:3a32%wlan0127.0.0.1", "appVersion": '0.0.1' }'
8
- */
9
- bridgeJavaScriptToAndroid_GetDeviceInfo: () => string,
3
+ * It returns device info.
4
+ */
5
+ bridgeJavaScriptToAndroid_GetDeviceInfo: () => {
6
+ /**
7
+ * Device brand. Ex. "Sony"
8
+ */
9
+ deviceBrand: string,
10
+ /**
11
+ * Device model. Ex. "BRAVIA 4K 2015"
12
+ */
13
+ deviceModel: string,
14
+ /**
15
+ * Android version. Ex. "7.0"
16
+ */
17
+ osVersion: string,
18
+ },
10
19
  /**
11
20
  * It simulates a native Android back press.
12
21
  */
13
22
  bridgeJavaScriptToAndroid_Back: () => void,
14
- /**
15
- * It simulates a native Android stop button press.
16
- */
17
- bridgeJavaScriptToAndroid_StopVideo: () => void;
18
- /**
19
- * It sets the video to fullscreen mode
20
- */
21
- bridgeJavaScriptToAndroid_FullScreenVideo: () => void;
22
- /**
23
- * It sets the video url
24
- */
25
- bridgeJavaScriptToAndroid_SetVideoPath: (url: string) => void;
26
- /**
27
- * It returns whether the video is playing
28
- */
29
- bridgeJavaScriptToAndroid_IsPlaying: () => boolean;
30
- /**
31
- * It pauses the video
32
- */
33
- bridgeJavaScriptToAndroid_PauseVideo: () => void;
34
- /**
35
- * It plays the video
36
- */
37
- bridgeJavaScriptToAndroid_PlayVideo: () => void;
38
- /**
39
- * It returns whether the video is live
40
- */
41
- bridgeJavaScriptToAndroid_IsLive: () => boolean;
42
- /**
43
- * It returns current time of currently played video
44
- */
45
- bridgeJavaScriptToAndroid_GetCurrentTime: () => number;
46
- /**
47
- * It returns total duration of the video
48
- */
49
- bridgeJavaScriptToAndroid_GetTotalTime: () => number;
50
- /**
51
- * It seeks the video to specified milliseconds
52
- */
53
- bridgeJavaScriptToAndroid_SeekTo: (milliseconds: number) => void;
54
- /**
55
- * It returns current text track
56
- */
57
- bridgeJavaScriptToAndroid_getCurrentSubtitleTrack: () => string | undefined;
58
- /**
59
- * It returns current audio track
60
- */
61
- bridgeJavaScriptToAndroid_getCurrentAudioTrack: () => string | undefined;
62
- /**
63
- * It sets text track to be shown.
64
- */
65
- bridgeJavaScriptToAndroid_SetTrack: (track: string) => void;
66
- /**
67
- * It sets audio track to be used.
68
- */
69
- bridgeJavaScriptToAndroid_SetAudioTrack: (track: string) => void;
70
23
  }
71
24
 
72
- export type DeviceInfo = {
73
- /**
74
- * Device brand. Ex. "Sony"
75
- */
76
- deviceBrand: string,
77
- /**
78
- * Device model. Ex. "BRAVIA 4K 2015"
79
- */
80
- deviceModel: string,
81
- /**
82
- * Android version. Ex. "7.0"
83
- */
84
- osVersion: string,
85
- /**
86
- * Android wrapper version. Ex. "0.0.1"
87
- */
88
- appVersion: string,
89
- /**
90
- * Android flavor. Ex. "appstage-bigscreen"
91
- */
92
- appFlavor: string,
93
- /**
94
- * Underlying player engine name. Ex. "exoplayer"
95
- */
96
- engineName: string,
97
- /**
98
- * Version of player engine. Ex. "2.18.1"
99
- */
100
- engineVersion: string,
101
- /**
102
- * Android DRM key systems. Ex. ["Widewine", "W3C ClearKey"]
103
- */
104
- drmKeySystems: Array<string>,
105
- /**
106
- * Android local IP adress in array Ex. "fe80::475:3045:2928:3a32%wlan0127.0.0.1"
107
- */
108
- ipLocal: string,
109
- };
110
-
111
25
  export interface IJavaScriptBridge {
112
26
  JavaScriptBridge: JavaScriptBridge,
113
27
  }
@@ -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';
@@ -13,15 +12,10 @@ import { ExitOptions } from './types/ExitOptions';
13
12
  import { inRange } from './utils';
14
13
  import { ErrorTemplate } from './errors';
15
14
  import { bindPreventDefaultEvent } from './bindPreventDefaultEvent';
16
- import { LEFT, RIGHT, UP, DOWN, ENTER, BACK, ESC } from './KeyMap';
15
+ import { LEFT, RIGHT, UP, DOWN, ENTER, BACK } from './KeyMap';
17
16
 
18
17
  export const STORAGE_UUID_KEY = '__UUID__';
19
18
 
20
- const DEFAULT_POLLING_INTERVAL = 15000;
21
- const DEFAULT_POLLING_TIMEOUT = 15000;
22
-
23
- const CHECKED_URL = '//www.google-analytics.com/__utm.gif';
24
-
25
19
  export abstract class DeviceBase<
26
20
  CustomEventMap extends EventMapType = {},
27
21
  EventMap extends EventMapType = DeviceEventMap & CustomEventMap,
@@ -47,14 +41,6 @@ export abstract class DeviceBase<
47
41
 
48
42
  screenSize: ScreenSize = 'unknown';
49
43
 
50
- pollingInterval: number = DEFAULT_POLLING_INTERVAL;
51
-
52
- pollingTimeout: number = DEFAULT_POLLING_TIMEOUT;
53
-
54
- imageTimeout: number = 0;
55
-
56
- isOffline: boolean = false;
57
-
58
44
  // MARK: Initialization
59
45
 
60
46
  /**
@@ -66,7 +52,6 @@ export abstract class DeviceBase<
66
52
  if (!this.isInitialized) {
67
53
  this.bindPreventDefaultEvents(rootElement);
68
54
  const initializer = await this.internalInit();
69
- this.checkNetworkConnection();
70
55
  this.isInitialized = true;
71
56
  return initializer;
72
57
  }
@@ -86,46 +71,6 @@ export abstract class DeviceBase<
86
71
  return this.initializer;
87
72
  }
88
73
 
89
- doOnlineCheck = () => {
90
- const protocol = window.location.protocol === 'http:' ? 'http:' : 'https:';
91
- const tester = new Image();
92
- this.imageTimeout = window.setTimeout(() => {
93
- this.connectionNotFound();
94
- }, this.pollingTimeout || DEFAULT_POLLING_TIMEOUT);
95
- tester.onload = this.connectionFound;
96
- tester.onerror = this.connectionNotFound;
97
- tester.src = `${protocol}${CHECKED_URL}?ts=${Date.now()}`;
98
- };
99
-
100
- connectionFound = () => {
101
- window.clearTimeout(this.imageTimeout);
102
- if (!this.isOffline) return;
103
- this.triggerEvent('networkchange',
104
- { isConnected: true } as any);
105
- this.isOffline = false;
106
- };
107
-
108
- connectionNotFound = () => {
109
- window.clearTimeout(this.imageTimeout);
110
- if (this.isOffline) return;
111
- this.triggerEvent('networkchange',
112
- { isConnected: false } as any);
113
- this.isOffline = true;
114
- };
115
-
116
- checkNetworkConnection() {
117
- const networkConfig: any = config.get('network.checkConnection');
118
- this.pollingInterval = Number(networkConfig?.pollingInterval);
119
- this.pollingTimeout = Number(networkConfig?.pollingTimeout);
120
- const enableCheckNetwork: any = Boolean(networkConfig?.enableCheckNetwork) ?? false;
121
- if (enableCheckNetwork) {
122
- window.setInterval(
123
- this.doOnlineCheck,
124
- this.pollingInterval || DEFAULT_POLLING_INTERVAL,
125
- );
126
- }
127
- }
128
-
129
74
  // MARK: Interface implemented by individual platform-specific drivers
130
75
 
131
76
  abstract initDevice(): Promise<void>;
@@ -260,7 +205,7 @@ export abstract class DeviceBase<
260
205
  }
261
206
 
262
207
  isBackOrEscape(event: MouseEvent | KeyboardEvent) {
263
- return BACK.is(event as KeyboardEvent) || ESC.is(event as KeyboardEvent);
208
+ return BACK.is(event as KeyboardEvent);
264
209
  }
265
210
 
266
211
  getDeviceClass() : string {
@@ -272,8 +217,4 @@ export abstract class DeviceBase<
272
217
  isMouseUsed() {
273
218
  return this.isMouseActive;
274
219
  }
275
-
276
- getResolution() {
277
- return { width: window.screen?.width, height: window.screen?.height };
278
- }
279
220
  }
@@ -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, key }: KeyboardEvent) {
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',
@@ -4,5 +4,4 @@ export interface KeyConfig {
4
4
  code: string,
5
5
  alternativeKeyCodes: number[],
6
6
  alternativeCodes: string[],
7
- key : string,
8
7
  }
@@ -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, key,
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
  };
@@ -38,5 +38,4 @@ export const KEYMAP = {
38
38
  KP_9: 105,
39
39
  CHANNEL_UP: 33,
40
40
  CHANNEL_DOWN: 34,
41
- SUBTITLES: 83,
42
41
  };
@@ -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
  }
@@ -61,7 +61,6 @@ export type KeycodeKeyMap = {
61
61
  EXIT: number,
62
62
  INFO: number,
63
63
  GUIDE: number,
64
- SUBTITLES: number,
65
64
 
66
65
  // Xbox specials
67
66
  GAMEPAD_LEFT_THUMBSTICK_UP: number,
@@ -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
  };
@@ -51,7 +51,6 @@ export function getKeyMap() {
51
51
  EXIT: { keyCode: EntoneInput.KEY_EXIT },
52
52
  INFO: { keyCode: EntoneInput.KEY_INFO },
53
53
  GUIDE: { keyCode: EntoneInput.KEY_GUIDE },
54
- SUBTITLES: { keyCode: EntoneInput.KEY_SUBTITLE },
55
54
  });
56
55
  return KeyMap.generateKeyCodeKeyMap();
57
56
  }
@@ -49,7 +49,6 @@ export class TizenKeys {
49
49
  tizen.tvinputdevice.registerKey('PreviousChannel');
50
50
  tizen.tvinputdevice.registerKey('Info');
51
51
  tizen.tvinputdevice.registerKey('Guide');
52
- tizen.tvinputdevice.registerKey('Caption');
53
52
  }
54
53
 
55
54
  buildKeyMap(keyCodeMap: KeyCodeMap) {
@@ -85,7 +84,6 @@ export class TizenKeys {
85
84
  EXIT: { keyCode: keyCodeMap.Exit },
86
85
  INFO: { keyCode: keyCodeMap.Info },
87
86
  GUIDE: { keyCode: keyCodeMap.Guide },
88
- SUBTITLES: { keyCode: keyCodeMap.Caption },
89
87
  });
90
88
  this.keyMap = KeyMap.generateKeyCodeKeyMap();
91
89
  }
@@ -43,7 +43,7 @@ export class DeviceVidaa extends DeviceBase {
43
43
  }
44
44
 
45
45
  async getManufacturerName(): Promise<string> {
46
- return window.Hisense_GetBrand() || '';
46
+ return 'Hisense';
47
47
  }
48
48
 
49
49
  async getPlatformName(): Promise<string> {
@@ -56,8 +56,7 @@ export class DeviceVidaa extends DeviceBase {
56
56
  }
57
57
 
58
58
  async getDeviceName(): Promise<string> {
59
- const manufacturerName = await this.getManufacturerName();
60
- return `${manufacturerName} VIDAA ${await this.getModelName()}`.trim();
59
+ return `Hisense VIDAA ${await this.getModelName()}`.trim();
61
60
  }
62
61
 
63
62
  async getModelName(): Promise<string> {
@@ -1,7 +1,7 @@
1
1
  import { HisenseVidaaApi, HisenseVidaaKeys } from '../types';
2
2
 
3
3
  export const mockHisenseVidaaApi: HisenseVidaaApi = {
4
- Hisense_GetBrand: () => 'Hisense',
4
+ Hisense_GetBrand: () => 'hisense',
5
5
  Hisense_GetModelName: () => '5U61FQEVS',
6
6
  Hisense_GetFirmWareVersion: () => 'V0000.01.00Q.L0301',
7
7
  Hisense_Get4KSupportState: () => true,
@@ -49,8 +49,6 @@ export const getKeyMap = () => {
49
49
  CHANNEL_UP: { keyCode: window.VK_CHANNEL_UP || 427 },
50
50
  CHANNEL_DOWN: { keyCode: window.VK_CHANNEL_DOWN || 428 },
51
51
  INFO: { keyCode: window.VK_INFO },
52
- // VK_SUBTITLE defined on 2019, not on 2021.
53
- SUBTITLES: { keyCode: window.VK_SUBTITLE || 460 },
54
52
  });
55
53
  return KeyMap.generateKeyCodeKeyMap();
56
54
  };
@@ -95,15 +95,7 @@ export class DeviceWebos extends DeviceBase {
95
95
  }
96
96
 
97
97
  initMouseActiveListener() {
98
- // checks if mouse is already being used since startup - PRDSAPPSBW-1005
99
- const mouseActiveAtStartupHandler = () => {
100
- document.removeEventListener('mousemove', mouseActiveAtStartupHandler);
101
- this.isMouseActive = true;
102
- this.triggerEvent('mouseactive', { isMouseActive: true });
103
- };
104
- document.addEventListener('mousemove', mouseActiveAtStartupHandler);
105
98
  document.addEventListener('cursorStateChange', (event) => {
106
- document.removeEventListener('mousemove', mouseActiveAtStartupHandler);
107
99
  // @ts-ignore - the LG event has this structure.
108
100
  this.isMouseActive = event.detail.visibility;
109
101
  this.triggerEvent('mouseactive', {
@@ -2,9 +2,8 @@ import { generateKeyCodeKeyMap, overrideValues } from '@24i/bigscreen-sdk/driver
2
2
 
3
3
  export const getKeyMap = () => {
4
4
  overrideValues({
5
- BACK: { keyCode: 461, key: 'RCUBack' },
5
+ BACK: { keyCode: 461 },
6
6
  TXT: { keyCode: 110 },
7
- SUBTITLES: { keyCode: 460 },
8
7
  });
9
8
  return generateKeyCodeKeyMap();
10
9
  };
@@ -4,7 +4,7 @@
4
4
  import { KeyMap } from '@24i/bigscreen-sdk/driver-base';
5
5
 
6
6
  export const getKeyMap = () => {
7
- const { VirtualKey } = window.Windows.System;
7
+ const { VirtualKey } = window.Windows?.System;
8
8
  KeyMap.overrideValues({
9
9
  LEFT: {
10
10
  keyCode: VirtualKey.left,