@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.
- package/README.md +3 -2
- package/package.json +34 -53
- package/packages/adobe-heartbeat/src/AdobeHeartbeat.ts +9 -9
- package/packages/async-image/src/AsyncImage.tsx +10 -15
- package/packages/developer-tools/PlayerDebugWindow/README.md +1 -1
- package/packages/developer-tools/src/DeveloperToolsService/DeveloperToolsList.tsx +0 -11
- package/packages/developer-tools/src/PlayerDebugWindow/PlayerDebugWindow.tsx +5 -5
- package/packages/developer-tools/src/PlayerDebugWindow/constants.ts +0 -15
- package/packages/developer-tools/src/TechnicalInfo/TechnicalInfoDetail.tsx +1 -2
- package/packages/developer-tools/src/TechnicalInfo/TechnicalInfoProvider.ts +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 +5 -18
- package/packages/digital-clock/src/DigitalClock.tsx +4 -15
- package/packages/driver-androidtv/src/DeviceAndroidTV.ts +9 -92
- package/packages/driver-androidtv/src/__mocks__/javaScriptBridge.ts +5 -38
- package/packages/driver-androidtv/src/index.ts +0 -1
- package/packages/driver-androidtv/src/keymap.ts +0 -18
- package/packages/driver-androidtv/src/types.ts +16 -144
- package/packages/driver-base/src/DeviceBase.ts +2 -80
- 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 -126
- 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 -16
- 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/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.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.firetv.ts +0 -1
- package/packages/device/src/driver/index.smartcast.tv.ts +0 -1
- package/packages/driver-base/src/types/AdInfo.ts +0 -5
- package/packages/driver-base/src/types/InAppPurchase.ts +0 -25
- package/packages/driver-firetv/src/DeviceFireTV.ts +0 -91
- 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 -394
- package/packages/driver-smartcast/src/__mocks__/api.ts +0 -79
- 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 -111
- 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
|
@@ -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
|
};
|
|
@@ -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 {
|
|
10
|
+
import { TizenKeys } from './TizenKeys';
|
|
13
11
|
import {
|
|
14
|
-
|
|
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:
|
|
29
|
-
declare const 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:
|
|
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.
|
|
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
|
}
|