@24i/bigscreen-sdk 1.0.54-alpha.2836 → 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 (278) hide show
  1. package/README.md +3 -2
  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 +5 -57
  11. package/packages/developer-tools/src/TechnicalInfo/__mocks__/Device.ts +0 -12
  12. package/packages/developer-tools/src/TechnicalInfo/translations.ts +0 -8
  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 -92
  17. package/packages/driver-androidtv/src/__mocks__/javaScriptBridge.ts +5 -38
  18. package/packages/driver-androidtv/src/index.ts +0 -1
  19. package/packages/driver-androidtv/src/keymap.ts +0 -18
  20. package/packages/driver-androidtv/src/types.ts +16 -144
  21. package/packages/driver-base/src/DeviceBase.ts +2 -80
  22. package/packages/driver-base/src/KeyMap/Key.ts +1 -8
  23. package/packages/driver-base/src/KeyMap/KeyMap.ts +0 -4
  24. package/packages/driver-base/src/KeyMap/interface.ts +0 -1
  25. package/packages/driver-base/src/KeyMap/overrideValues.ts +1 -2
  26. package/packages/driver-base/src/__mocks__/DeviceBase.ts +0 -24
  27. package/packages/driver-base/src/__mocks__/keyMap.ts +0 -1
  28. package/packages/driver-base/src/index.ts +0 -3
  29. package/packages/driver-base/src/types/DeviceEvent.ts +0 -2
  30. package/packages/driver-base/src/types/KeycodeKeyMap.ts +0 -1
  31. package/packages/driver-browser/src/DeviceBrowser.ts +0 -26
  32. package/packages/driver-browser/src/keymap.ts +0 -8
  33. package/packages/driver-entone/src/DeviceEntone.ts +1 -31
  34. package/packages/driver-entone/src/keymap.ts +0 -1
  35. package/packages/driver-hbbtv/src/DeviceHbbTV.ts +0 -26
  36. package/packages/driver-kreatv/src/DeviceKreaTV.ts +0 -26
  37. package/packages/driver-saphi/src/DeviceSaphi.ts +0 -26
  38. package/packages/driver-tizen/src/DeviceTizen.ts +7 -126
  39. package/packages/driver-tizen/src/ITizen.ts +202 -15116
  40. package/packages/driver-tizen/src/IWebapis.ts +87 -8643
  41. package/packages/driver-tizen/src/TizenKeys.ts +2 -4
  42. package/packages/driver-tizen/src/__mocks__/tizen.ts +8 -7
  43. package/packages/driver-tizen/src/constants.ts +195 -1
  44. package/packages/driver-tizen/src/types.ts +14 -0
  45. package/packages/driver-vidaa/src/DeviceVidaa.ts +2 -29
  46. package/packages/driver-vidaa/src/__mocks__/vidaa.ts +1 -1
  47. package/packages/driver-vidaa/src/keymap.ts +0 -2
  48. package/packages/driver-webos/src/DeviceWebos.ts +0 -55
  49. package/packages/driver-webos/src/__mocks__/webos.ts +0 -33
  50. package/packages/driver-webos/src/constants.ts +0 -1
  51. package/packages/driver-webos/src/keymap.ts +1 -2
  52. package/packages/driver-webos/src/types.ts +0 -30
  53. package/packages/driver-xbox/src/DeviceXbox.ts +1 -30
  54. package/packages/driver-xbox/src/keymap.ts +1 -1
  55. package/packages/epg/README.md +1 -3
  56. package/packages/epg/src/v2/Cell.tsx +2 -16
  57. package/packages/epg/src/v2/DataManager.ts +41 -112
  58. package/packages/epg/src/v2/DatePicker.tsx +3 -9
  59. package/packages/epg/src/v2/DateToast/DateToast.tsx +9 -12
  60. package/packages/epg/src/v2/Day.tsx +3 -6
  61. package/packages/epg/src/v2/Epg.tsx +5 -5
  62. package/packages/epg/src/v2/MockGenerator/generator.ts +2 -3
  63. package/packages/epg/src/v2/ProgramInfo/utils.ts +3 -4
  64. package/packages/epg/src/v2/Row.tsx +1 -3
  65. package/packages/epg/src/v2/TimelineSection.tsx +1 -4
  66. package/packages/epg/src/v2/basic/CellsManager.tsx +2 -7
  67. package/packages/epg/src/v2/basic/RowsManager.tsx +1 -3
  68. package/packages/epg/src/v2/interface.ts +0 -13
  69. package/packages/events-manager/src/EventsManager.ts +56 -1
  70. package/packages/focus/README.md +0 -33
  71. package/packages/focus/src/IFocusable.ts +0 -1
  72. package/packages/focus/src/Layout/Base.tsx +6 -41
  73. package/packages/focus/src/Layout/Matrix.tsx +19 -51
  74. package/packages/focus/src/Layout/__test__/Base.spec.ts +180 -0
  75. package/packages/focus/src/Layout/__test__/Horizontal.spec.ts +94 -0
  76. package/packages/focus/src/Layout/__test__/Matrix.spec.ts +261 -0
  77. package/packages/focus/src/Layout/__test__/Vertical.spec.ts +46 -0
  78. package/packages/focus/src/Layout/__test__/isRtl.spec.ts +23 -0
  79. package/packages/focus/src/Layout/__test__/shared.ts +19 -0
  80. package/packages/focus/src/focusFirstExisting.ts +1 -7
  81. package/packages/focus/src/index.ts +1 -2
  82. package/packages/gallup/src/Gallup.ts +3 -3
  83. package/packages/grid/src/Base/Base.tsx +10 -15
  84. package/packages/grid/src/FirstOnlyGrid/FirstOnlyGrid.tsx +2 -4
  85. package/packages/grid/src/UnifiedGridController/UnifiedGridController.ts +6 -6
  86. package/packages/icon/src/Icon.tsx +5 -27
  87. package/packages/input/README.md +1 -1
  88. package/packages/input/src/Input.tsx +10 -16
  89. package/packages/interactable/README.md +1 -2
  90. package/packages/interactable/src/Interactable.tsx +3 -9
  91. package/packages/interactable/src/interface.ts +0 -1
  92. package/packages/jsx/src/index.ts +1 -1
  93. package/packages/jsx/src/test-utils/index.ts +0 -1
  94. package/packages/keyboard/src/Backdrop/Backdrop.scss +0 -2
  95. package/packages/keyboard/src/KeyboardBase.tsx +4 -16
  96. package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.scss +0 -4
  97. package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.tsx +20 -28
  98. package/packages/keyboard/src/WhitelabelKeyboard/_sizes.1080.scss +0 -1
  99. package/packages/keyboard/src/WhitelabelKeyboard/_sizes.scss +0 -1
  100. package/packages/keyboard/src/WhitelabelKeyboard/layouts/index.ts +0 -12
  101. package/packages/keyboard/src/WhitelabelKeyboard/types.ts +0 -1
  102. package/packages/keyboard/src/utils/caret.ts +8 -5
  103. package/packages/keyboard/src/utils/input.ts +6 -5
  104. package/packages/l10n/README.md +0 -18
  105. package/packages/l10n/src/date/common.ts +6 -18
  106. package/packages/l10n/src/date/cs.ts +8 -2
  107. package/packages/l10n/src/date/en-001.ts +3 -3
  108. package/packages/l10n/src/date/en-common.ts +4 -5
  109. package/packages/l10n/src/date/en-us.ts +3 -3
  110. package/packages/l10n/src/date/iso.ts +13 -12
  111. package/packages/l10n/src/date/types.ts +0 -9
  112. package/packages/l10n/src/l10n.ts +3 -61
  113. package/packages/list/src/Base/Base.tsx +9 -19
  114. package/packages/list/src/Base/interface.ts +2 -2
  115. package/packages/list/src/BasicList/BasicList.tsx +7 -7
  116. package/packages/list/src/CenteredList/CenteredList.tsx +2 -2
  117. package/packages/list/src/CenteredList/controller.ts +1 -0
  118. package/packages/list/src/EdgeOffsetList/EdgeOffsetList.tsx +10 -10
  119. package/packages/list/src/FirstOnlyList/FirstOnlyList.tsx +2 -2
  120. package/packages/list/src/FirstOnlyVariedList/FirstOnlyVariedList.tsx +2 -2
  121. package/packages/list/src/FixedToEndList/FixedToEndList.tsx +2 -2
  122. package/packages/list/src/UnifiedListController/UnifiedListController.ts +2 -6
  123. package/packages/list/src/interface.ts +2 -2
  124. package/packages/logger/src/loggers/ConsoleLogger/ConsoleLogger.ts +1 -7
  125. package/packages/logger/src/loggers/SentryLogger/Sentry.ts +0 -1
  126. package/packages/logger/src/loggers/SentryLogger/SentryLogger.ts +3 -5
  127. package/packages/menu/src/MenuAndContentContainer/MenuAndContentContainer.tsx +3 -31
  128. package/packages/menu/src/MenuAndContentContainer/interface.ts +0 -8
  129. package/packages/modal-service/README.md +1 -4
  130. package/packages/modal-service/src/ModalService.tsx +5 -29
  131. package/packages/perf-utils/README.md +120 -1
  132. package/packages/perf-utils/src/array/filter.ts +54 -1
  133. package/packages/perf-utils/src/array/find.ts +43 -1
  134. package/packages/perf-utils/src/array/findIndex.ts +43 -1
  135. package/packages/perf-utils/src/array/forEach.ts +48 -1
  136. package/packages/perf-utils/src/array/includes.ts +41 -1
  137. package/packages/perf-utils/src/array/includesNaN.ts +32 -1
  138. package/packages/perf-utils/src/array/index.ts +7 -1
  139. package/packages/perf-utils/src/array/map.ts +52 -1
  140. package/packages/player-ui/README.md +1 -1
  141. package/packages/player-ui/src/CurrentTime.tsx +2 -2
  142. package/packages/player-ui/src/Duration.tsx +2 -2
  143. package/packages/player-ui/src/PauseButton.tsx +0 -8
  144. package/packages/player-ui/src/PlayerInteractable.tsx +0 -1
  145. package/packages/player-ui/src/PlayerTime.tsx +1 -3
  146. package/packages/player-ui/src/PlayerUI.tsx +35 -68
  147. package/packages/player-ui/src/RemainingTime.tsx +2 -2
  148. package/packages/player-ui/src/Seekbar.tsx +18 -110
  149. package/packages/player-ui/src/Seeking.ts +16 -57
  150. package/packages/player-ui/src/Subtitles.tsx +2 -2
  151. package/packages/player-ui/src/index.ts +0 -1
  152. package/packages/player-ui/src/mocks.ts +8 -32
  153. package/packages/player-ui/src/timeUtils.ts +3 -3
  154. package/packages/player-ui/src/types.ts +3 -9
  155. package/packages/router/README.md +0 -1
  156. package/packages/router/src/Route.tsx +27 -61
  157. package/packages/router/src/Router.tsx +14 -63
  158. package/packages/router/src/history.ts +1 -8
  159. package/packages/router/src/index.ts +1 -1
  160. package/packages/router/src/utils.ts +4 -9
  161. package/packages/sass-utils/src/linear-gradient.scss +4 -9
  162. package/packages/sass-utils/src/scale.1080.scss +1 -3
  163. package/packages/sass-utils/src/scale.720.scss +1 -1
  164. package/packages/time/README.md +1 -4
  165. package/packages/time/src/Time.ts +13 -35
  166. package/packages/time/src/constants.ts +0 -1
  167. package/packages/toast/src/ToastService.tsx +5 -16
  168. package/packages/types-bigscreen-jsx/README.md +4 -5
  169. package/packages/types-bigscreen-jsx/index.d.ts +67 -72
  170. package/packages/utils/README.md +0 -27
  171. package/packages/utils/src/elementUtils.ts +0 -25
  172. package/packages/utils/src/index.ts +0 -8
  173. package/packages/utils/src/scaledImage.ts +3 -6
  174. package/packages/utils/src/textUtils.ts +14 -46
  175. package/packages/utils/src/wait.ts +1 -3
  176. package/packages/utils/src/xhr/xhrSend.ts +1 -3
  177. package/packages/utils/src/xhr/xhrSendRetry.ts +1 -3
  178. package/packages/zapping/src/ChannelZapping.ts +0 -9
  179. package/packages/zapping/src/Zapping.tsx +0 -10
  180. package/ci/is_ci_job_skippable.sh +0 -153
  181. package/packages/analytics/README.md +0 -8
  182. package/packages/analytics/src/A.ts +0 -1
  183. package/packages/analytics/src/Analytics.ts +0 -1
  184. package/packages/analytics/src/analyticsOnScroll.ts +0 -1
  185. package/packages/analytics/src/clients/ConsoleAnalytics/ConsoleAnalytics.ts +0 -1
  186. package/packages/analytics/src/clients/ConsoleAnalytics/index.ts +0 -1
  187. package/packages/analytics/src/clients/GoogleAnalytics/GoogleAnalytics.ts +0 -196
  188. package/packages/analytics/src/clients/GoogleAnalytics/constants.ts +0 -126
  189. package/packages/analytics/src/clients/GoogleAnalytics/getUrl.ts +0 -17
  190. package/packages/analytics/src/clients/GoogleAnalytics/index.ts +0 -2
  191. package/packages/analytics/src/clients/GoogleAnalytics/interface.ts +0 -82
  192. package/packages/analytics/src/clients/GoogleAnalytics/mapPayload.ts +0 -51
  193. package/packages/analytics/src/clients/GoogleAnalytics/prepareBody.ts +0 -14
  194. package/packages/analytics/src/clients/TealiumAnalytics/TealiumAnalytics.ts +0 -181
  195. package/packages/analytics/src/clients/TealiumAnalytics/constants.ts +0 -106
  196. package/packages/analytics/src/clients/TealiumAnalytics/findForLanguage.ts +0 -9
  197. package/packages/analytics/src/clients/TealiumAnalytics/index.ts +0 -4
  198. package/packages/analytics/src/clients/TealiumAnalytics/interface.ts +0 -35
  199. package/packages/analytics/src/clients/TealiumAnalytics/mappers/__mocks__/mediaPayload.ts +0 -72
  200. package/packages/analytics/src/clients/TealiumAnalytics/mappers/helper.ts +0 -36
  201. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapAppError.ts +0 -13
  202. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapAppOpen.ts +0 -13
  203. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapFavoriteAdd.ts +0 -11
  204. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapFavoriteRemove.ts +0 -11
  205. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapPlayerClose.ts +0 -15
  206. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapPlayerOpen.ts +0 -15
  207. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSceneView.ts +0 -18
  208. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearch.ts +0 -18
  209. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearchFailed.ts +0 -8
  210. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearchSuccess.ts +0 -8
  211. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoPause.ts +0 -15
  212. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoProgress.ts +0 -18
  213. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoResume.ts +0 -15
  214. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoStart.ts +0 -15
  215. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoStop.ts +0 -15
  216. package/packages/analytics/src/clients/TealiumAnalytics/types.ts +0 -161
  217. package/packages/analytics/src/clients/TwentyFourIQ/TwentyFourIQClient.ts +0 -107
  218. package/packages/analytics/src/clients/TwentyFourIQ/constants.ts +0 -111
  219. package/packages/analytics/src/clients/TwentyFourIQ/helper.ts +0 -34
  220. package/packages/analytics/src/clients/TwentyFourIQ/index.ts +0 -2
  221. package/packages/analytics/src/clients/TwentyFourIQ/interface.ts +0 -34
  222. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapAdEvent.ts +0 -20
  223. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapBase.ts +0 -24
  224. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapBuffering.ts +0 -15
  225. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapPlayerClose.ts +0 -25
  226. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapPlayerOpen.ts +0 -17
  227. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapSceneView.ts +0 -15
  228. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapScroll.ts +0 -17
  229. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoComplete.ts +0 -22
  230. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoPause.ts +0 -25
  231. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoProgress.ts +0 -25
  232. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoStart.ts +0 -34
  233. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoStop.ts +0 -32
  234. package/packages/analytics/src/clients/TwentyFourIQ/types.ts +0 -132
  235. package/packages/analytics/src/constants.ts +0 -1
  236. package/packages/analytics/src/index.ts +0 -3
  237. package/packages/analytics/src/interface.ts +0 -1
  238. package/packages/analytics/src/utils/generateSessionId.ts +0 -8
  239. package/packages/device/src/driver/index.firetv.ts +0 -1
  240. package/packages/device/src/driver/index.smartcast.tv.ts +0 -1
  241. package/packages/driver-base/src/types/AdInfo.ts +0 -5
  242. package/packages/driver-base/src/types/InAppPurchase.ts +0 -25
  243. package/packages/driver-firetv/src/DeviceFireTV.ts +0 -91
  244. package/packages/driver-firetv/src/__mocks__/javaScriptBridge.ts +0 -45
  245. package/packages/driver-firetv/src/index.ts +0 -1
  246. package/packages/driver-firetv/src/types.ts +0 -1
  247. package/packages/driver-smartcast/src/DeviceSmartCast.ts +0 -394
  248. package/packages/driver-smartcast/src/__mocks__/api.ts +0 -79
  249. package/packages/driver-smartcast/src/index.ts +0 -1
  250. package/packages/driver-smartcast/src/keymap.ts +0 -9
  251. package/packages/driver-smartcast/src/types.ts +0 -111
  252. package/packages/focus/src/hasFocus.ts +0 -36
  253. package/packages/jsx/src/test-utils/keyup.ts +0 -27
  254. package/packages/keyboard/src/WhitelabelKeyboard/layouts/arabic.ts +0 -27
  255. package/packages/keyboard/src/WhitelabelKeyboard/layouts/burmese.ts +0 -27
  256. package/packages/keyboard/src/WhitelabelKeyboard/layouts/dari.ts +0 -28
  257. package/packages/keyboard/src/WhitelabelKeyboard/layouts/korean.ts +0 -26
  258. package/packages/keyboard/src/WhitelabelKeyboard/layouts/pashto.ts +0 -27
  259. package/packages/keyboard/src/WhitelabelKeyboard/layouts/persian.ts +0 -27
  260. package/packages/keyboard/src/WhitelabelKeyboard/layouts/russian.ts +0 -27
  261. package/packages/keyboard/src/WhitelabelKeyboard/layouts/spanish.ts +0 -26
  262. package/packages/keyboard/src/WhitelabelKeyboard/layouts/tibetan.ts +0 -26
  263. package/packages/keyboard/src/WhitelabelKeyboard/layouts/turkish.ts +0 -26
  264. package/packages/keyboard/src/WhitelabelKeyboard/layouts/ukrainian.ts +0 -27
  265. package/packages/keyboard/src/WhitelabelKeyboard/layouts/urdu.ts +0 -26
  266. package/packages/keyboard/src/utils/setInputSelectionRange.ts +0 -10
  267. package/packages/l10n/src/date/de.ts +0 -97
  268. package/packages/l10n/src/date/es.ts +0 -71
  269. package/packages/l10n/src/date/fr.ts +0 -94
  270. package/packages/l10n/src/date/he.ts +0 -101
  271. package/packages/time/src/adapters/24iMediaTimeApi.ts +0 -47
  272. package/packages/time/src/services/24iMediaTimeApi/24iMediaTimeApi.ts +0 -43
  273. package/packages/time/src/services/24iMediaTimeApi/index.ts +0 -6
  274. package/packages/utils/src/forceReflow.ts +0 -14
  275. package/packages/utils/src/keyPress/index.ts +0 -6
  276. package/packages/utils/src/keyPress/keyPressSimulator.ts +0 -74
  277. package/packages/utils/src/keyPress/simulateKeyPress.ts +0 -25
  278. package/utils/release/release.ts +0 -156
@@ -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
  };
@@ -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
  }
@@ -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
  };
@@ -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
  }
@@ -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,
@@ -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
  };
@@ -1,11 +1,4 @@
1
- import {
2
- DeviceBase,
3
- IAPPurchaseProductData,
4
- IAPSuccessPayload,
5
- ScreenSaverStatus,
6
- VolumeRange,
7
- } from '@24i/bigscreen-sdk/driver-base';
8
- import { generateUuid } from '@24i/bigscreen-sdk/utils';
1
+ import { DeviceBase, ScreenSaverStatus, VolumeRange } from '@24i/bigscreen-sdk/driver-base';
9
2
  import { getKeyMap } from './keymap';
10
3
  import { EntoneDeviceModelName } from './constants';
11
4
  import { IEntone, NetworkEvent } from './IEntone';
@@ -127,17 +120,6 @@ export class DeviceEntone extends DeviceBase {
127
120
  return '';
128
121
  }
129
122
 
130
- async getAdInfo() {
131
- const adId = generateUuid();
132
- const type = 'sessionid';
133
- const latEnabled = null;
134
- return { adId, type, latEnabled };
135
- }
136
-
137
- async getOsLanguage() {
138
- return (window.navigator.language || '').slice(0, 2);
139
- }
140
-
141
123
  async getVolume() {
142
124
  try {
143
125
  const { leftVolPercentage, rightVolPercentage } = ENTONE.stb.getAudioVolume();
@@ -247,16 +229,4 @@ export class DeviceEntone extends DeviceBase {
247
229
  }
248
230
  return macAddress || '';
249
231
  }
250
-
251
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
252
- async purchaseProduct(data: IAPPurchaseProductData): Promise<IAPSuccessPayload> {
253
- // not supported
254
- throw new Error('Not supported');
255
- }
256
-
257
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
258
- async cancelSubscription(data: IAPPurchaseProductData): Promise<void> {
259
- // not supported
260
- throw new Error('Not supported');
261
- }
262
232
  }
@@ -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
  }
@@ -1,9 +1,6 @@
1
1
  import {
2
2
  DeviceBase, ConnectionType, ScreenSaverStatus, loadObject, VolumeRange,
3
- IAPSuccessPayload,
4
- IAPPurchaseProductData,
5
3
  } from '@24i/bigscreen-sdk/driver-base';
6
- import { generateUuid } from '@24i/bigscreen-sdk/utils';
7
4
  import { getKeyMap } from './keymap';
8
5
  import { getVersion } from './getVersion';
9
6
  import { getDeviceInfo } from './deviceInfo';
@@ -248,17 +245,6 @@ export class DeviceHbbTV extends DeviceBase {
248
245
  return this.getBaseUuid();
249
246
  }
250
247
 
251
- async getAdInfo() {
252
- const adId = generateUuid();
253
- const type = 'sessionid';
254
- const latEnabled = null;
255
- return { adId, type, latEnabled };
256
- }
257
-
258
- async getOsLanguage() {
259
- return (window.navigator.language || '').slice(0, 2);
260
- }
261
-
262
248
  async getVolume() {
263
249
  // TODO: not yet implemented
264
250
  return VolumeRange.UNSUPPORTED;
@@ -324,16 +310,4 @@ export class DeviceHbbTV extends DeviceBase {
324
310
  console.warn('[HbbTV] Broadcast tune failed');
325
311
  }
326
312
  }
327
-
328
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
329
- async purchaseProduct(data: IAPPurchaseProductData): Promise<IAPSuccessPayload> {
330
- // not supported
331
- throw new Error('Not supported');
332
- }
333
-
334
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
335
- async cancelSubscription(data: IAPPurchaseProductData): Promise<void> {
336
- // not supported
337
- throw new Error('Not supported');
338
- }
339
313
  }
@@ -3,10 +3,7 @@ import {
3
3
  ConnectionType,
4
4
  ScreenSaverStatus,
5
5
  VolumeRange,
6
- IAPSuccessPayload,
7
- IAPPurchaseProductData,
8
6
  } from '@24i/bigscreen-sdk/driver-base';
9
- import { generateUuid } from '@24i/bigscreen-sdk/utils';
10
7
  import { getKeyMap } from './keymap';
11
8
  import { toi2 } from './toi2';
12
9
  import { toi3 } from './toi3';
@@ -162,17 +159,6 @@ export class DeviceKreaTV extends DeviceBase {
162
159
  return '';
163
160
  }
164
161
 
165
- async getAdInfo() {
166
- const adId = generateUuid();
167
- const type = 'sessionid';
168
- const latEnabled = null;
169
- return { adId, type, latEnabled };
170
- }
171
-
172
- async getOsLanguage() {
173
- return (window.navigator.language || '').slice(0, 2);
174
- }
175
-
176
162
  getSupportedAudioConnections() {
177
163
  const { audioOutputService } = this.toiInstance;
178
164
  const { ToiAudioOutputService } = this.toiInstance.consts;
@@ -282,16 +268,4 @@ export class DeviceKreaTV extends DeviceBase {
282
268
  async getMacAddress(): Promise<string> {
283
269
  return this.toiResolver.getMacAddress();
284
270
  }
285
-
286
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
287
- async purchaseProduct(data: IAPPurchaseProductData): Promise<IAPSuccessPayload> {
288
- // not supported
289
- throw new Error('Not supported');
290
- }
291
-
292
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
293
- async cancelSubscription(data: IAPPurchaseProductData): Promise<void> {
294
- // not supported
295
- throw new Error('Not supported');
296
- }
297
271
  }
@@ -3,10 +3,7 @@ import {
3
3
  ConnectionType,
4
4
  ScreenSaverStatus,
5
5
  VolumeRange,
6
- IAPSuccessPayload,
7
- IAPPurchaseProductData,
8
6
  } from '@24i/bigscreen-sdk/driver-base';
9
- import { generateUuid } from '@24i/bigscreen-sdk/utils';
10
7
  import { getDeviceInfo, getFirmware, getPlatformInfo } from './formatUserAgent';
11
8
  import { ISmartTvAApi } from './types';
12
9
  import { getKeyMap } from './keymap';
@@ -84,17 +81,6 @@ export class DeviceSaphi extends DeviceBase {
84
81
  return this.getBaseUuid();
85
82
  }
86
83
 
87
- async getAdInfo() {
88
- const adId = generateUuid();
89
- const type = 'sessionid';
90
- const latEnabled = null;
91
- return { adId, type, latEnabled };
92
- }
93
-
94
- async getOsLanguage() {
95
- return (window.navigator.language || '').slice(0, 2);
96
- }
97
-
98
84
  async getVolume(): Promise<number> {
99
85
  return VolumeRange.UNSUPPORTED;
100
86
  }
@@ -155,16 +141,4 @@ export class DeviceSaphi extends DeviceBase {
155
141
  // not supported on Saphi platform
156
142
  return '';
157
143
  }
158
-
159
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
160
- async purchaseProduct(data: IAPPurchaseProductData): Promise<IAPSuccessPayload> {
161
- // not supported
162
- throw new Error('Not supported');
163
- }
164
-
165
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
166
- async cancelSubscription(data: IAPPurchaseProductData): Promise<void> {
167
- // not supported
168
- throw new Error('Not supported');
169
- }
170
144
  }
@@ -4,29 +4,20 @@ import {
4
4
  ScreenSaverStatus,
5
5
  VolumeRange,
6
6
  ExitOptions,
7
- IAPSuccessPayload,
8
- IAPPurchaseProductData,
9
7
  } from '@24i/bigscreen-sdk/driver-base';
10
8
  import { Storage } from '@24i/bigscreen-sdk/storage';
11
9
  import { runAsync } from '@24i/bigscreen-sdk/utils/timers';
12
- import { VendorType } from '@24i/smartapps-datalayer/api';
10
+ import { TizenKeys } from './TizenKeys';
13
11
  import {
14
- type Webapis,
15
- BillingBuyData,
12
+ VENDOR,
16
13
  NetworkState,
17
14
  NetworkActiveConnectionType,
18
15
  AppCommonScreenSaverState,
19
- CancelSubscriptionData,
20
- CancelSubscriptionAPIResult,
21
- } from './IWebapis';
22
- import { Tizen, Application } from './ITizen';
23
- import { TizenKeys } from './TizenKeys';
24
- import {
25
- VENDOR,
26
16
  } from './constants';
17
+ import { IWebapis, ITizen, TizenApplication } from './types';
27
18
 
28
- declare const webapis: Webapis;
29
- declare const tizen: Tizen;
19
+ declare const webapis: IWebapis;
20
+ declare const tizen: ITizen;
30
21
 
31
22
  const isNetworkConnected = (state: NetworkState) => {
32
23
  switch (state) {
@@ -45,7 +36,7 @@ const isNetworkConnected = (state: NetworkState) => {
45
36
  export class DeviceTizen extends DeviceBase {
46
37
  // MARK: Properties
47
38
 
48
- application: Application = tizen.application.getCurrentApplication();
39
+ application: TizenApplication = tizen.application.getCurrentApplication();
49
40
 
50
41
  keys: TizenKeys = new TizenKeys();
51
42
 
@@ -55,11 +46,6 @@ export class DeviceTizen extends DeviceBase {
55
46
 
56
47
  screenSaverStatus: AppCommonScreenSaverState = AppCommonScreenSaverState.SCREEN_SAVER_OFF;
57
48
 
58
- subscriptionFeaturesConfiguration = {
59
- purchase: true,
60
- management: true,
61
- };
62
-
63
49
  // MARK: Initialization
64
50
 
65
51
  async initDevice(): Promise<void> {
@@ -211,30 +197,6 @@ export class DeviceTizen extends DeviceBase {
211
197
  return '';
212
198
  }
213
199
 
214
- async getAdInfo() {
215
- let adId = null;
216
- let latEnabled = null;
217
- const type = 'tifa';
218
- try {
219
- adId = webapis.adinfo.getTIFA() ?? null;
220
- latEnabled = webapis.adinfo.isLATEnabled() ?? true;
221
- } catch (e) {
222
- latEnabled = true;
223
- console.error('[DeviceTizen] Failed getAdInfo', e);
224
- }
225
- return { adId, type, latEnabled };
226
- }
227
-
228
- async getOsLanguage() {
229
- return new Promise<string>((resolve) => {
230
- tizen.systeminfo.getPropertyValue(
231
- 'LOCALE',
232
- ({ language }) => resolve(language),
233
- () => resolve(''),
234
- );
235
- });
236
- }
237
-
238
200
  async getVolume() {
239
201
  try {
240
202
  const volume = tizen.tvaudiocontrol.getVolume();
@@ -284,7 +246,7 @@ export class DeviceTizen extends DeviceBase {
284
246
  ? AppCommonScreenSaverState.SCREEN_SAVER_ON
285
247
  : AppCommonScreenSaverState.SCREEN_SAVER_OFF;
286
248
  return new Promise((resolve) => {
287
- webapis.appcommon.setScreenSaver(
249
+ webapis.appCommon.setScreenSaver(
288
250
  status,
289
251
  () => {
290
252
  this.screenSaverStatus = status;
@@ -333,85 +295,4 @@ export class DeviceTizen extends DeviceBase {
333
295
  async getMacAddress() {
334
296
  return webapis.network.getMac();
335
297
  }
336
-
337
- async purchaseProduct({
338
- sku, product, appId,
339
- }: IAPPurchaseProductData): Promise<IAPSuccessPayload> {
340
- return new Promise((resolve, reject) => {
341
- if (!product || !appId) reject(new Error('Missing product or appId'));
342
- const paymentDetails = {
343
- OrderItemID: sku,
344
- OrderTitle: product!.title,
345
- OrderTotal: product!.price![0].amount,
346
- OrderCurrencyID: product!.price![0].currency,
347
- OrderCustomID: webapis.sso.getLoginUid(),
348
- };
349
- const onSuccess = (data: BillingBuyData) => {
350
- try {
351
- if (data.payResult !== 'SUCCESS') throw new Error('Purchase failed');
352
- const countryCode = webapis.productinfo.getSystemConfig(
353
- webapis.productinfo.ProductInfoConfigKey.CONFIG_KEY_SERVICE_COUNTRY,
354
- );
355
- const detail = JSON.parse(data.payDetail);
356
- resolve({
357
- platform: VendorType.SAMSUNG,
358
- receiptPayload: {
359
- appId,
360
- samsungInvoiceId: detail.InvoiceID,
361
- samsungCustomId: paymentDetails.OrderCustomID,
362
- countryCode,
363
- },
364
- });
365
- } catch (e) {
366
- reject(e);
367
- }
368
- };
369
- webapis.billing.buyItem(
370
- appId!, 'PRD', JSON.stringify(paymentDetails), onSuccess, reject,
371
- );
372
- });
373
- }
374
-
375
- async cancelSubscription(
376
- { product, appId }: IAPPurchaseProductData,
377
- ): Promise<void> {
378
- return new Promise((resolve, reject) => {
379
- if (!product || !appId) {
380
- reject(new Error('Missing product or appId'));
381
- }
382
- const UID = webapis.sso.getLoginUid();
383
- const countryCode = webapis.productinfo.getSystemConfig(
384
- webapis.productinfo.ProductInfoConfigKey.CONFIG_KEY_SERVICE_COUNTRY,
385
- );
386
- try {
387
- const vendorTransactionId = product?.vendorTransactionId;
388
- if (!vendorTransactionId) {
389
- reject(new Error('Missing vendorTransactionId'));
390
- }
391
- const onSuccess = (data: CancelSubscriptionData) => {
392
- try {
393
- const result: CancelSubscriptionAPIResult = JSON.parse(data.apiResult);
394
- if (result.CPStatus === '100000') {
395
- resolve();
396
- } else {
397
- reject(new Error(`Cancel subscription failed: ${result.CPStatus}`));
398
- }
399
- } catch (e) {
400
- reject(e);
401
- }
402
- };
403
- webapis.billing.cancelSubscription(
404
- appId!,
405
- product!.vendorTransactionId!.toString(),
406
- UID,
407
- countryCode,
408
- 'PRD',
409
- onSuccess,
410
- reject,
411
- );
412
- } catch (e) {
413
- reject(e);
414
- }
415
- });
416
- }
417
298
  }