@24i/smartapps-bigscreen-rnv-build-engine 0.18.2-alpha.2846 → 0.18.2-test.0
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/dist/src/sdks/sdk-androidtv/sdkAndroidtv.js +0 -5
- package/dist/src/sdks/sdk-vegaos/sdkVegaOS.js +5 -22
- package/dist/templates/platforms/androidtv/project/app/build.gradle +1 -3
- package/dist/templates/platforms/androidtv/project/app/src/main/kotlin/com/twentyfouri/tvbridge/configuration/BridgeConfig.kt +0 -1
- package/dist/templates/platforms/androidtv/project/app/src/main/kotlin/com/twentyfouri/tvbridge/global/utils/PlayerFactoryBitmovinCustomized.kt +1 -3
- package/dist/templates/platforms/androidtv/project/app/src/main/kotlin/com/twentyfouri/tvbridge/webview/model/MediaEventType.kt +0 -1
- package/dist/templates/platforms/androidtv/project/app/src/main/kotlin/com/twentyfouri/tvbridge/webview/viewmodel/WebViewModel.kt +0 -11
- package/dist/templates/platforms/vegaos/project/manifest.toml +0 -14
- package/dist/templates/platforms/vegaos/project/package-lock.json +605 -5835
- package/dist/templates/platforms/vegaos/project/package.json +0 -2
- package/dist/templates/platforms/vegaos/project/src/App.tsx +4 -5
- package/dist/templates/platforms/vegaos/project/src/inject.ts +2 -13
- package/dist/templates/platforms/vegaos/project/src/messageHandler.ts +7 -24
- package/package.json +1 -1
- package/dist/templates/platforms/vegaos/project/src/deviceApi/adInfo.ts +0 -16
- package/dist/templates/platforms/vegaos/project/src/deviceApi/index.ts +0 -3
- package/dist/templates/platforms/vegaos/project/src/deviceApi/purchase.ts +0 -61
- /package/dist/templates/platforms/vegaos/project/src/{deviceApi/deviceInfo.ts → deviceInfo.ts} +0 -0
|
@@ -200,8 +200,6 @@ const configureEntryUrl = (c) => {
|
|
|
200
200
|
const entryUrl = getHostedAppEntryUrl(c);
|
|
201
201
|
const bitmovinLicense = process.env.BITMOVIN_LICENSE
|
|
202
202
|
|| rnv_1.Common.getConfigProp(c, c.platform, 'bitmovinLicense', '');
|
|
203
|
-
const bitmovinAnalytics = process.env.BITMOVIN_ANALYTICS
|
|
204
|
-
|| rnv_1.Common.getConfigProp(c, c.platform, 'bitmovinAnalytics', '');
|
|
205
203
|
const npawAccountCode = process.env.NPAW_ACCOUNT_CODE
|
|
206
204
|
|| rnv_1.Common.getConfigProp(c, c.platform, 'npawAccountCode', '');
|
|
207
205
|
const enableImaSdk = !!rnv_1.Common.getConfigProp(c, c.platform, 'enableImaSdk', false);
|
|
@@ -211,9 +209,6 @@ const configureEntryUrl = (c) => {
|
|
|
211
209
|
}, {
|
|
212
210
|
pattern: '{{BITMOVIN_LICENSE}}',
|
|
213
211
|
override: bitmovinLicense,
|
|
214
|
-
}, {
|
|
215
|
-
pattern: '{{BITMOVIN_ANALYTICS}}',
|
|
216
|
-
override: bitmovinAnalytics,
|
|
217
212
|
}, {
|
|
218
213
|
pattern: '{{NPAW_ACCOUNT_CODE}}',
|
|
219
214
|
override: npawAccountCode,
|
|
@@ -35,7 +35,6 @@ const rnv_1 = require("rnv");
|
|
|
35
35
|
const sdk_webpack_1 = require("@rnv/sdk-webpack");
|
|
36
36
|
const resolvers_1 = require("../../resolvers");
|
|
37
37
|
const copyEnvironmentFolder_1 = require("../../utils/copyEnvironmentFolder");
|
|
38
|
-
const resolveBuildEnvType_1 = require("../../resolvers/resolveBuildEnvType");
|
|
39
38
|
const constants_1 = require("../../constants");
|
|
40
39
|
const sdk_webpack_2 = require("../sdk-webpack");
|
|
41
40
|
const getHostedAppUrl = (c) => {
|
|
@@ -93,20 +92,7 @@ const copyAppIcon = (c) => {
|
|
|
93
92
|
if (!fs.existsSync(destDir)) {
|
|
94
93
|
fs.mkdirSync(destDir, { recursive: true });
|
|
95
94
|
}
|
|
96
|
-
|
|
97
|
-
const envHierarchy = ['dev', 'staging', 'prod'];
|
|
98
|
-
const envIndex = envHierarchy.indexOf(envType);
|
|
99
|
-
const srcIconPath = envHierarchy
|
|
100
|
-
.slice(envIndex)
|
|
101
|
-
.map((env) => path.join(destDir, `_${env}`, 'app_icon.png'))
|
|
102
|
-
.find((candidate) => fs.existsSync(candidate));
|
|
103
|
-
if (srcIconPath) {
|
|
104
|
-
fs.copyFileSync(srcIconPath, destIconPath);
|
|
105
|
-
rnv_1.Logger.logInfo(`App icon copied from: ${srcIconPath}`);
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
rnv_1.Logger.logDebug(`No environment-specific app icon found, skipping copy.`);
|
|
109
|
-
}
|
|
95
|
+
rnv_1.Logger.logDebug(`App icon destination: ${destIconPath}`);
|
|
110
96
|
};
|
|
111
97
|
const installDependencies = (c) => {
|
|
112
98
|
rnv_1.Logger.logTask('installDependencies');
|
|
@@ -127,8 +113,6 @@ const buildVegaOSProject = async (c) => {
|
|
|
127
113
|
const projectParentDir = path.join(projectDir, '..');
|
|
128
114
|
const outputDir = path.join(projectParentDir, 'output');
|
|
129
115
|
const buildType = c.runtime.scheme === constants_1.BuildSchemes.DEBUG ? 'Debug' : 'Release';
|
|
130
|
-
const appVersion = rnv_1.Common.getAppVersion(c, c.platform) || '0.0.1';
|
|
131
|
-
const versionCode = rnv_1.Common.getConfigProp(c, c.platform, 'versionCode', '1');
|
|
132
116
|
try {
|
|
133
117
|
const watchListOutput = (0, child_process_1.execSync)('watchman watch-list', { stdio: 'pipe' }).toString();
|
|
134
118
|
const watchList = JSON.parse(watchListOutput);
|
|
@@ -140,7 +124,7 @@ const buildVegaOSProject = async (c) => {
|
|
|
140
124
|
catch {
|
|
141
125
|
}
|
|
142
126
|
rnv_1.Logger.logInfo(`Building VegaOS project (${buildType})...`);
|
|
143
|
-
const buildCmd = `npx react-native build-vega --build-type ${buildType}
|
|
127
|
+
const buildCmd = `npx react-native build-vega --build-type ${buildType}`;
|
|
144
128
|
(0, child_process_1.execSync)(buildCmd, { cwd: projectDir, stdio: 'inherit' });
|
|
145
129
|
if (!fs.existsSync(outputDir)) {
|
|
146
130
|
fs.mkdirSync(outputDir, { recursive: true });
|
|
@@ -190,12 +174,11 @@ exports.configureVegaOSProject = configureVegaOSProject;
|
|
|
190
174
|
const handleVegaOSSdk = async (_c) => {
|
|
191
175
|
rnv_1.Logger.logTask('handleVegaOSSdk');
|
|
192
176
|
try {
|
|
193
|
-
(0, child_process_1.execSync)('
|
|
194
|
-
rnv_1.Logger.logInfo('
|
|
177
|
+
(0, child_process_1.execSync)('npm --version', { stdio: 'pipe' });
|
|
178
|
+
rnv_1.Logger.logInfo('VegaOS SDK: npm is available. Kepler CLI will be installed via npm install during project configuration.');
|
|
195
179
|
}
|
|
196
180
|
catch {
|
|
197
|
-
throw new Error('
|
|
198
|
-
+ 'See: https://developer.amazon.com/docs/vega/0.21/install-vega-sdk.html');
|
|
181
|
+
throw new Error('VegaOS SDK: npm not found. Please install Node.js and npm to build VegaOS projects.');
|
|
199
182
|
}
|
|
200
183
|
};
|
|
201
184
|
exports.handleVegaOSSdk = handleVegaOSSdk;
|
|
@@ -7,13 +7,12 @@ plugins {
|
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
def bitmovinLicense = '{{BITMOVIN_LICENSE}}'
|
|
10
|
-
def bitmovinAnalytics = '{{BITMOVIN_ANALYTICS}}'
|
|
11
10
|
def useBitmovin = bitmovinLicense != ''
|
|
12
11
|
def npawAccountCode = '{{NPAW_ACCOUNT_CODE}}'
|
|
13
12
|
def useNpawPlugin = npawAccountCode != ''
|
|
14
13
|
def useImaSdk = {{ENABLE_IMA_SDK}}
|
|
15
14
|
|
|
16
|
-
def player_version = '0.8.0-alpha.
|
|
15
|
+
def player_version = '0.8.0-alpha.41'
|
|
17
16
|
|
|
18
17
|
android {
|
|
19
18
|
namespace = 'com.twentyfouri.tvbridge'
|
|
@@ -43,7 +42,6 @@ android {
|
|
|
43
42
|
|
|
44
43
|
buildConfigField "String", "APP_URL", '"{{APP_URL}}"'
|
|
45
44
|
buildConfigField "String", "BITMOVIN_LICENSE", "\"$bitmovinLicense\""
|
|
46
|
-
buildConfigField "String", "BITMOVIN_ANALYTICS", "\"$bitmovinAnalytics\""
|
|
47
45
|
buildConfigField "String", "NPAW_ACCOUNT_CODE", "\"$npawAccountCode\""
|
|
48
46
|
buildConfigField "Boolean", "startWithHighVideoQuality", "true"
|
|
49
47
|
}
|
|
@@ -14,6 +14,5 @@ class BridgeConfig {
|
|
|
14
14
|
var customizableUrl: Boolean = BuildConfig.DEBUG
|
|
15
15
|
var startWithHighVideoQuality: Boolean = false
|
|
16
16
|
var bitmovinLicense: String = BuildConfig.BITMOVIN_LICENSE
|
|
17
|
-
var bitmovinAnalytics: String = BuildConfig.BITMOVIN_ANALYTICS
|
|
18
17
|
var npawAccount: String = BuildConfig.NPAW_ACCOUNT_CODE
|
|
19
18
|
}
|
|
@@ -2,7 +2,6 @@ package com.twentyfouri.tvbridge.global.utils
|
|
|
2
2
|
|
|
3
3
|
import android.app.Application
|
|
4
4
|
import com.twentyfouri.player.bitmovin.NpawConfig
|
|
5
|
-
import com.twentyfouri.player.bitmovin.PlayerBitmovin
|
|
6
5
|
import com.twentyfouri.player.bitmovin.PlayerFactoryBitmovin
|
|
7
6
|
import com.twentyfouri.tvbridge.configuration.BridgeConfig
|
|
8
7
|
|
|
@@ -13,7 +12,6 @@ class PlayerFactoryBitmovinCustomized(config: BridgeConfig, application: Applica
|
|
|
13
12
|
NpawConfig(config.npawAccount, application)
|
|
14
13
|
} else {
|
|
15
14
|
null
|
|
16
|
-
}
|
|
17
|
-
config.bitmovinAnalytics.ifEmpty { PlayerBitmovin.ANALYTICS_LICENSE_DEFERRED }
|
|
15
|
+
}
|
|
18
16
|
),
|
|
19
17
|
PlayerFactoryVersion
|
|
@@ -14,7 +14,6 @@ object MediaEventType {
|
|
|
14
14
|
const val LOADEDMETADATA = "loadedmetadata"
|
|
15
15
|
const val LOADEDDATA = "loadeddata"
|
|
16
16
|
const val WAITING = "waiting"
|
|
17
|
-
const val DURATION_CHANGE = "durationchange"
|
|
18
17
|
const val SEEKING = "seeking"
|
|
19
18
|
const val SEEKED = "seeked"
|
|
20
19
|
const val KEY_PRESS = "keypress"
|
|
@@ -29,7 +29,6 @@ import com.twentyfouri.player.base.AudioTrack
|
|
|
29
29
|
import com.twentyfouri.player.base.CanPlayEvent
|
|
30
30
|
import com.twentyfouri.player.base.ChangeAudioTrackEvent
|
|
31
31
|
import com.twentyfouri.player.base.ChangeTextTrackEvent
|
|
32
|
-
import com.twentyfouri.player.base.DurationChangeEvent
|
|
33
32
|
import com.twentyfouri.player.base.EndedEvent
|
|
34
33
|
import com.twentyfouri.player.base.ErrorEvent
|
|
35
34
|
import com.twentyfouri.player.base.Event
|
|
@@ -47,7 +46,6 @@ import com.twentyfouri.player.base.SeekingEvent
|
|
|
47
46
|
import com.twentyfouri.player.base.Source
|
|
48
47
|
import com.twentyfouri.player.base.SourceDrmPlayready
|
|
49
48
|
import com.twentyfouri.player.base.SourceDrmWidevine
|
|
50
|
-
import com.twentyfouri.player.base.SourceImaAds
|
|
51
49
|
import com.twentyfouri.player.base.TextTrack
|
|
52
50
|
import com.twentyfouri.player.base.TimeUpdateEvent
|
|
53
51
|
import com.twentyfouri.player.base.TrackKind
|
|
@@ -180,11 +178,6 @@ class WebViewModel @Inject constructor(
|
|
|
180
178
|
|
|
181
179
|
private fun logSource(source: Source) {
|
|
182
180
|
Log.i("BridgeVideo", "Url: ${source.url}")
|
|
183
|
-
when (val ads = source.ads) {
|
|
184
|
-
is SourceImaAds -> {
|
|
185
|
-
Log.i("BridgeVideo", "Ads: ${ads.url}")
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
181
|
when (val drmModel = source.drm.firstOrNull()) {
|
|
189
182
|
is SourceDrmWidevine -> {
|
|
190
183
|
Log.i("BridgeVideo", "DRM: " + drmModel.packageName)
|
|
@@ -373,10 +366,6 @@ class WebViewModel @Inject constructor(
|
|
|
373
366
|
jsBridge.bridgeAndroidToJavaScript_MediaEvent(MediaEventType.PLAYING)
|
|
374
367
|
}
|
|
375
368
|
|
|
376
|
-
is DurationChangeEvent -> {
|
|
377
|
-
jsBridge.bridgeAndroidToJavaScript_MediaEvent(MediaEventType.DURATION_CHANGE)
|
|
378
|
-
}
|
|
379
|
-
|
|
380
369
|
is SeekingEvent -> {
|
|
381
370
|
jsBridge.bridgeAndroidToJavaScript_MediaEvent(MediaEventType.SEEKING)
|
|
382
371
|
}
|
|
@@ -49,20 +49,6 @@ id = "com.amazon.audio.control"
|
|
|
49
49
|
[[wants.service]]
|
|
50
50
|
id = "com.amazon.audio.system"
|
|
51
51
|
|
|
52
|
-
[[wants.service]]
|
|
53
|
-
id = "com.amazon.admanager.service.main"
|
|
54
|
-
|
|
55
|
-
[[wants.service]]
|
|
56
|
-
id = "com.amazon.iap.core.service"
|
|
57
|
-
|
|
58
|
-
[[wants.module]]
|
|
59
|
-
id = "/com.amazon.iap.core@IIAPCoreUI"
|
|
60
|
-
|
|
61
|
-
[needs]
|
|
62
|
-
|
|
63
|
-
[[needs.module]]
|
|
64
|
-
id = "/com.amazon.kepler.appstore.iap.purchase.core@IAppstoreIAPPurchaseCoreService"
|
|
65
|
-
|
|
66
52
|
[offers]
|
|
67
53
|
|
|
68
54
|
[[offers.service]]
|