@24i/smartapps-bigscreen-rnv-build-engine 0.17.2-alpha.2162 → 0.17.2-alpha.2164
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/resolvers/resolveBuildFileExtension.js +1 -0
- package/dist/src/sdks/sdk-androidtv/sdkAndroidtv.js +46 -7
- package/dist/src/tasks/task.rnv.build.js +1 -0
- package/dist/templates/platforms/androidtv/project/amazoniap/build.gradle +1 -3
- package/dist/templates/platforms/androidtv/project/app/build.gradle +270 -37
- package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/drawable/banner.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/raw/configuration.json +4 -1
- package/dist/templates/platforms/androidtv/project/app/src/kan/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
- package/dist/templates/platforms/androidtv/project/app/src/kan/res/drawable/banner.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/kan/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/kan/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/kan/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/kan/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/kan/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/kan/res/raw/configuration.json +9 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/AndroidManifest.xml +8 -2
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/bridge/BridgeFromJavaScript.kt +19 -13
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/bridge/BridgeToJavaScript.kt +32 -14
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/BridgeConfig.kt +7 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ActivityModule.kt +5 -3
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/LoggingDrmCallback.kt +15 -23
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/OverriddenHttpMediaDrmCallback.kt +134 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/PlayerFactoryExoPlayerCustomized.kt +84 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/SourceDrmOverridden.kt +49 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/jump/JumpAnalytics.kt +4 -2
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/client/BridgeWebView.kt +2 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/MediaEventType.kt +3 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/TrackJsonModelParser.kt +37 -55
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/Mainview.kt +1 -3
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/PlayerCache.kt +2 -2
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/WebViewActivity.kt +40 -18
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/viewmodel/WebViewModel.kt +173 -171
- package/dist/templates/platforms/androidtv/project/app/src/main/res/layout/activity_web_view.xml +2 -4
- package/dist/templates/platforms/androidtv/project/app/src/main/res/values/styles.xml +1 -0
- package/dist/templates/platforms/androidtv/project/build.gradle +6 -10
- package/dist/templates/platforms/androidtv/project/common/build.gradle +1 -3
- package/dist/templates/platforms/androidtv/project/googleiap/build.gradle +1 -3
- package/dist/templates/platforms/androidtv/project/gradle/wrapper/gradle-wrapper.properties +3 -3
- package/dist/templates/platforms/androidtv/project/gradle.properties +1 -2
- package/dist/templates/platforms/androidtv/project/keystore/kan11_applicaster.keystore +0 -0
- package/dist/templates/platforms/androidtv/project/local.properties +8 -0
- package/package.json +1 -1
|
@@ -34,7 +34,13 @@ const sdk_webpack_1 = require("@rnv/sdk-webpack");
|
|
|
34
34
|
const sdk_webpack_2 = require("../sdk-webpack");
|
|
35
35
|
const sdk_utils_1 = require("../sdk-utils");
|
|
36
36
|
const services_1 = require("../sdk-utils/sdk-installer/services");
|
|
37
|
+
const resolvers_1 = require("../../resolvers");
|
|
37
38
|
const constants_1 = require("../../constants");
|
|
39
|
+
const flavourName = 'bigscreenAppstage';
|
|
40
|
+
const buildType = 'debug';
|
|
41
|
+
const capitalizeFirstLetter = (str) => {
|
|
42
|
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
43
|
+
};
|
|
38
44
|
const buildAndroidTVProject = async (c) => {
|
|
39
45
|
rnv_1.Logger.logTask('buildAndroidTVProject');
|
|
40
46
|
await (0, sdk_webpack_2.buildCoreWebpackProject)(c);
|
|
@@ -42,11 +48,13 @@ const buildAndroidTVProject = async (c) => {
|
|
|
42
48
|
const projectDir = rnv_1.Common.getPlatformProjectDir(c);
|
|
43
49
|
const projectParentDir = path.join(projectDir, '..');
|
|
44
50
|
const tOut = path.join(projectParentDir, 'output');
|
|
45
|
-
const flavourName = 'bigscreenAppstage';
|
|
46
51
|
const apkFileName = `app-${flavourName}-debug.apk`;
|
|
47
52
|
const apkFilePath = path.join(projectDir, `app/build/outputs/apk/${flavourName}/debug/${apkFileName}`);
|
|
48
53
|
const gradlew = './gradlew';
|
|
49
|
-
|
|
54
|
+
const taskBuildType = buildType === 'debug' ? 'Debug' : 'Release';
|
|
55
|
+
const taskFlavourName = capitalizeFirstLetter(flavourName);
|
|
56
|
+
const taskName = `assemble${taskFlavourName}${taskBuildType}`;
|
|
57
|
+
(0, child_process_1.execSync)(`cd ${projectDir} && ${gradlew} ${taskName}`);
|
|
50
58
|
if (!fs.existsSync(tOut)) {
|
|
51
59
|
fs.mkdirSync(tOut);
|
|
52
60
|
}
|
|
@@ -60,27 +68,58 @@ const configureProject = (c) => {
|
|
|
60
68
|
rnv_1.Logger.logTask('configureProject');
|
|
61
69
|
const buildGradleFileName = 'build.gradle';
|
|
62
70
|
const buildGradleFilePath = path.join(rnv_1.Common.getPlatformProjectDir(c), 'app', buildGradleFileName);
|
|
63
|
-
const
|
|
64
|
-
const
|
|
65
|
-
|
|
71
|
+
const version = semver.coerce(rnv_1.Common.getAppVersion(c, c.platform));
|
|
72
|
+
const semVerObj = semver.parse(version);
|
|
73
|
+
if (!semVerObj) {
|
|
74
|
+
throw new Error(`Failed to parse Application version: ${version}`);
|
|
75
|
+
}
|
|
76
|
+
const major = `${semVerObj.major}`.padStart(2, '0');
|
|
77
|
+
const minor = `${semVerObj.minor}`.padStart(2, '0');
|
|
78
|
+
const patch = `${semVerObj.patch}`.padStart(2, '0');
|
|
79
|
+
const versionCode = parseInt(`${major}${minor}${patch}00`, 10);
|
|
80
|
+
const appId = rnv_1.Common.getConfigProp(c, c.platform, 'id', '');
|
|
66
81
|
const injects = [{
|
|
67
82
|
pattern: '{{APP_VERSION_CODE}}',
|
|
68
83
|
override: versionCode,
|
|
69
84
|
}, {
|
|
70
85
|
pattern: '{{APP_VERSION_NAME}}',
|
|
71
|
-
override:
|
|
86
|
+
override: version,
|
|
87
|
+
}, {
|
|
88
|
+
pattern: '{{APP_ID}}',
|
|
89
|
+
override: appId,
|
|
72
90
|
}];
|
|
73
91
|
rnv_1.Common.addSystemInjects(c, injects);
|
|
74
92
|
rnv_1.FileUtils.writeCleanFile(buildGradleFilePath, buildGradleFilePath, injects, null, c);
|
|
75
93
|
};
|
|
94
|
+
const getHostedAppEntryUrl = (c) => {
|
|
95
|
+
const { platform, runtime } = c;
|
|
96
|
+
const baseUrl = (0, resolvers_1.resolveBaseUrl)({
|
|
97
|
+
platform,
|
|
98
|
+
scheme: runtime.scheme || '',
|
|
99
|
+
flavour: runtime.appId,
|
|
100
|
+
});
|
|
101
|
+
return `${baseUrl}/public/index.html`;
|
|
102
|
+
};
|
|
103
|
+
const configureEntryUrl = (c) => {
|
|
104
|
+
rnv_1.Logger.logTask('configureEntryUrl');
|
|
105
|
+
const entryUrl = getHostedAppEntryUrl(c);
|
|
106
|
+
const configFileName = 'configuration.json';
|
|
107
|
+
const injects = [{
|
|
108
|
+
pattern: '{{APP_URL}}',
|
|
109
|
+
override: entryUrl,
|
|
110
|
+
}];
|
|
111
|
+
const file = path.join(rnv_1.Common.getPlatformProjectDir(c), 'app/src', flavourName, 'res/raw', configFileName);
|
|
112
|
+
rnv_1.FileUtils.writeCleanFile(file, file, injects, null, c);
|
|
113
|
+
};
|
|
76
114
|
const configureAndroidTVProject = async (c) => {
|
|
77
115
|
rnv_1.Logger.logTask('configureAndroidTVProject');
|
|
78
116
|
c.runtime.platformBuildsProjectPath = rnv_1.Common.getPlatformProjectDir(c);
|
|
79
117
|
const platform = constants_1.Platforms.ANDROIDTV;
|
|
80
|
-
await rnv_1.ProjectManager.copyAssetsFolder(c, platform);
|
|
118
|
+
await rnv_1.ProjectManager.copyAssetsFolder(c, platform, `app/src/${flavourName}/res`);
|
|
81
119
|
await (0, sdk_webpack_1.configureCoreWebProject)(c);
|
|
82
120
|
await configureAndroidProperties(c);
|
|
83
121
|
configureProject(c);
|
|
122
|
+
configureEntryUrl(c);
|
|
84
123
|
const gradlew = path.join(rnv_1.Common.getPlatformProjectDir(c), 'gradlew');
|
|
85
124
|
fs.chmodSync(gradlew, '755');
|
|
86
125
|
await rnv_1.ProjectManager.copyBuildsFolder(c, platform);
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
apply plugin: 'com.android.library'
|
|
2
2
|
apply plugin: 'kotlin-android'
|
|
3
|
-
apply plugin: 'kotlin-android-extensions'
|
|
4
3
|
|
|
5
4
|
android {
|
|
6
|
-
compileSdkVersion
|
|
7
|
-
buildToolsVersion "30.0.2"
|
|
5
|
+
compileSdkVersion 31
|
|
8
6
|
|
|
9
7
|
compileOptions {
|
|
10
8
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
@@ -1,22 +1,29 @@
|
|
|
1
1
|
apply plugin: 'com.android.application'
|
|
2
2
|
apply plugin: 'kotlin-android'
|
|
3
|
-
apply plugin: 'kotlin-android-extensions'
|
|
4
3
|
apply plugin: 'kotlin-kapt'
|
|
5
4
|
apply plugin: 'com.google.gms.google-services'
|
|
6
5
|
apply plugin: 'com.google.firebase.crashlytics'
|
|
7
6
|
|
|
8
7
|
android {
|
|
9
|
-
compileSdkVersion
|
|
10
|
-
buildToolsVersion "30.0.2"
|
|
8
|
+
compileSdkVersion 31
|
|
11
9
|
|
|
12
10
|
compileOptions {
|
|
13
11
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
14
12
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
15
13
|
}
|
|
16
14
|
|
|
15
|
+
kotlinOptions {
|
|
16
|
+
jvmTarget = '1.8'
|
|
17
|
+
freeCompilerArgs = ['-Xjvm-default=compatibility']
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
packagingOptions {
|
|
21
|
+
exclude 'META-INF/*.kotlin_module'
|
|
22
|
+
}
|
|
23
|
+
|
|
17
24
|
defaultConfig {
|
|
18
25
|
minSdkVersion 21
|
|
19
|
-
targetSdkVersion
|
|
26
|
+
targetSdkVersion 31
|
|
20
27
|
|
|
21
28
|
applicationId 'com.twentyfouri.tvbridge'
|
|
22
29
|
versionCode 1
|
|
@@ -44,11 +51,19 @@ android {
|
|
|
44
51
|
v1SigningEnabled true
|
|
45
52
|
v2SigningEnabled true
|
|
46
53
|
}
|
|
47
|
-
bbg {
|
|
54
|
+
/*bbg {
|
|
48
55
|
storeFile file('/Users/matus/StudioProjects/Keystores/pureflix.jks')
|
|
49
56
|
storePassword 'freddie12'
|
|
50
57
|
keyPassword 'freddie12'
|
|
51
58
|
keyAlias 'iamflix-app'
|
|
59
|
+
}*/
|
|
60
|
+
kan {
|
|
61
|
+
keyAlias 'ireshet'
|
|
62
|
+
keyPassword 'applicaster'
|
|
63
|
+
storeFile file('../keystore/kan11_applicaster.keystore')
|
|
64
|
+
storePassword 'applicaster'
|
|
65
|
+
v1SigningEnabled true
|
|
66
|
+
v2SigningEnabled true
|
|
52
67
|
}
|
|
53
68
|
}
|
|
54
69
|
|
|
@@ -60,7 +75,6 @@ android {
|
|
|
60
75
|
release {
|
|
61
76
|
minifyEnabled true
|
|
62
77
|
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
63
|
-
signingConfig signingConfigs.pureflix
|
|
64
78
|
}
|
|
65
79
|
}
|
|
66
80
|
|
|
@@ -70,22 +84,242 @@ android {
|
|
|
70
84
|
|
|
71
85
|
flavorDimensions "bridge"
|
|
72
86
|
productFlavors {
|
|
87
|
+
portal {
|
|
88
|
+
dimension "bridge"
|
|
89
|
+
versionCode 2003000
|
|
90
|
+
versionName "2.3"
|
|
91
|
+
resValue "string", "app_name", "24i Portal"
|
|
92
|
+
}
|
|
93
|
+
portalDrm {
|
|
94
|
+
dimension "bridge"
|
|
95
|
+
applicationIdSuffix ".drmCallback"
|
|
96
|
+
versionCode 1006000
|
|
97
|
+
versionName "1.6"
|
|
98
|
+
resValue "string", "app_name", "24i Portal DRM"
|
|
99
|
+
}
|
|
100
|
+
smartOTT {
|
|
101
|
+
dimension "bridge"
|
|
102
|
+
applicationIdSuffix ".smartOTT"
|
|
103
|
+
versionCode 1
|
|
104
|
+
versionName "1.0"
|
|
105
|
+
resValue "string", "app_name", "SmartOTT"
|
|
106
|
+
}
|
|
107
|
+
hummingbird {
|
|
108
|
+
dimension "bridge"
|
|
109
|
+
applicationIdSuffix ".hummingbird"
|
|
110
|
+
versionCode 1
|
|
111
|
+
versionName "1.0"
|
|
112
|
+
resValue "string", "app_name", "Hummingbird"
|
|
113
|
+
}
|
|
114
|
+
tennisChannel {
|
|
115
|
+
dimension "bridge"
|
|
116
|
+
applicationId "com.tennischannel.tceverywhere.amazon"
|
|
117
|
+
versionCode 46
|
|
118
|
+
versionName "1.1.1"
|
|
119
|
+
resValue "string", "app_name", "Tennis Channel Sinclair"
|
|
120
|
+
}
|
|
121
|
+
cineClick {
|
|
122
|
+
dimension "bridge"
|
|
123
|
+
applicationIdSuffix ".cineclick"
|
|
124
|
+
versionCode 1
|
|
125
|
+
versionName "1.0"
|
|
126
|
+
resValue "string", "app_name", "Cineclick"
|
|
127
|
+
}
|
|
128
|
+
hereMedia {
|
|
129
|
+
dimension "bridge"
|
|
130
|
+
applicationIdSuffix ".heretv"
|
|
131
|
+
versionCode 1
|
|
132
|
+
versionName "1.0"
|
|
133
|
+
resValue "string", "app_name", "Here TV"
|
|
134
|
+
}
|
|
135
|
+
fuboTV {
|
|
136
|
+
dimension "bridge"
|
|
137
|
+
applicationIdSuffix ".fuboTV"
|
|
138
|
+
versionCode 1
|
|
139
|
+
versionName "1.0"
|
|
140
|
+
resValue "string", "app_name", "[Fubo TV]"
|
|
141
|
+
}
|
|
142
|
+
sentai {
|
|
143
|
+
dimension "bridge"
|
|
144
|
+
applicationIdSuffix ".sentai"
|
|
145
|
+
versionCode 1007002
|
|
146
|
+
versionName "1.7.2"
|
|
147
|
+
resValue "string", "app_name", "HIDIVE"
|
|
148
|
+
// uncomment for signing testing builds
|
|
149
|
+
// signingConfig signingConfigs.hidiverelease
|
|
150
|
+
}
|
|
151
|
+
sentaiandroidtv {
|
|
152
|
+
dimension "bridge"
|
|
153
|
+
applicationId 'com.twentyfouri.androidtv.hidive'
|
|
154
|
+
versionCode 1010000
|
|
155
|
+
versionName "1.1.0"
|
|
156
|
+
resValue "string", "app_name", "HIDIVE"
|
|
157
|
+
// uncomment for signing testing builds
|
|
158
|
+
// signingConfig signingConfigs.hidiverelease
|
|
159
|
+
}
|
|
160
|
+
newsmax {
|
|
161
|
+
dimension "bridge"
|
|
162
|
+
//Android TV
|
|
163
|
+
applicationId "com.fli.android.newsmaxapp"
|
|
164
|
+
versionCode 1000300
|
|
165
|
+
versionName "1.0.2-androidTV"
|
|
166
|
+
resValue "string", "app_name", "Newsmax"
|
|
167
|
+
//FireTV
|
|
168
|
+
// applicationId "com.fli.googletv.newsmaxapp"
|
|
169
|
+
// versionCode 1411285562
|
|
170
|
+
// versionName "1.0.5-fireTV"
|
|
171
|
+
// resValue "string", "app_name", "Newsmax"
|
|
172
|
+
}
|
|
173
|
+
entel {
|
|
174
|
+
dimension "bridge"
|
|
175
|
+
applicationIdSuffix ".entel"
|
|
176
|
+
versionCode 1
|
|
177
|
+
versionName "1.0"
|
|
178
|
+
resValue "string", "app_name", "Entel"
|
|
179
|
+
}
|
|
180
|
+
youFone {
|
|
181
|
+
dimension "bridge"
|
|
182
|
+
applicationIdSuffix ".youfone"
|
|
183
|
+
versionCode 1
|
|
184
|
+
versionName "1.0"
|
|
185
|
+
resValue "string", "app_name", "YouFone"
|
|
186
|
+
}
|
|
187
|
+
bbg {
|
|
188
|
+
dimension "bridge"
|
|
189
|
+
applicationIdSuffix ".bbg"
|
|
190
|
+
versionCode 10
|
|
191
|
+
versionName "1.8"
|
|
192
|
+
resValue "string", "app_name", "BBG"
|
|
193
|
+
}
|
|
194
|
+
kijk {
|
|
195
|
+
dimension "bridge"
|
|
196
|
+
applicationIdSuffix ".kijk"
|
|
197
|
+
versionCode 2
|
|
198
|
+
versionName "1.01"
|
|
199
|
+
resValue "string", "app_name", "KIJK"
|
|
200
|
+
}
|
|
201
|
+
rte {
|
|
202
|
+
dimension "bridge"
|
|
203
|
+
applicationIdSuffix ".rte"
|
|
204
|
+
versionCode 5
|
|
205
|
+
versionName "1.0.2"
|
|
206
|
+
resValue "string", "app_name", "RTE"
|
|
207
|
+
}
|
|
208
|
+
alhurra {
|
|
209
|
+
// X.Y.Z XXYYZZUU -> version 1.2.3 will be 01020300, 5th update of 1.2.3 will be 01020305
|
|
210
|
+
dimension "bridge"
|
|
211
|
+
applicationIdSuffix ".alhurra"
|
|
212
|
+
versionCode 1000800
|
|
213
|
+
versionName "1.0.8"
|
|
214
|
+
resValue "string", "app_name", "Alhurra"
|
|
215
|
+
}
|
|
216
|
+
marti {
|
|
217
|
+
// X.Y.Z XXYYZZUU -> version 1.2.3 will be 01020300, 5th update of 1.2.3 will be 01020305
|
|
218
|
+
dimension "bridge"
|
|
219
|
+
applicationIdSuffix ".marti"
|
|
220
|
+
versionCode 1000800
|
|
221
|
+
versionName "1.0.8"
|
|
222
|
+
resValue "string", "app_name", "Marti"
|
|
223
|
+
}
|
|
224
|
+
voa {
|
|
225
|
+
// X.Y.Z XXYYZZUU -> version 1.2.3 will be 01020300, 5th update of 1.2.3 will be 01020305
|
|
226
|
+
dimension "bridge"
|
|
227
|
+
applicationIdSuffix ".voa"
|
|
228
|
+
versionCode 1000800
|
|
229
|
+
versionName "1.0.8"
|
|
230
|
+
resValue "string", "app_name", "VOA"
|
|
231
|
+
}
|
|
232
|
+
voa365 {
|
|
233
|
+
// X.Y.Z XXYYZZUU -> version 1.2.3 will be 01020300, 5th update of 1.2.3 will be 01020305
|
|
234
|
+
dimension "bridge"
|
|
235
|
+
applicationIdSuffix ".voa365"
|
|
236
|
+
versionCode 1000300
|
|
237
|
+
versionName "1.0.3"
|
|
238
|
+
resValue "string", "app_name", "VOA 365"
|
|
239
|
+
}
|
|
240
|
+
rfe {
|
|
241
|
+
// X.Y.Z XXYYZZUU -> version 1.2.3 will be 01020300, 5th update of 1.2.3 will be 01020305
|
|
242
|
+
dimension "bridge"
|
|
243
|
+
applicationIdSuffix ".rfe"
|
|
244
|
+
versionCode 1000100
|
|
245
|
+
versionName "1.0.1"
|
|
246
|
+
resValue "string", "app_name", "RFE"
|
|
247
|
+
}
|
|
73
248
|
bigscreenAppstage {
|
|
74
249
|
// X.Y.Z XXYYZZUU -> version 1.2.3 will be 01020300, 5th update of 1.2.3 will be 01020305
|
|
75
250
|
dimension "bridge"
|
|
76
|
-
versionCode
|
|
77
|
-
versionName "
|
|
78
|
-
applicationId "
|
|
79
|
-
resValue "string", "app_name", "
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
251
|
+
versionCode 1000100
|
|
252
|
+
versionName "1.0.1"
|
|
253
|
+
applicationId "com.twentyfouri.app.appstagebigscreen"
|
|
254
|
+
resValue "string", "app_name", "Appstage BIGscreen"
|
|
255
|
+
}
|
|
256
|
+
kan {
|
|
257
|
+
// X.Y.Z XXYYZZUU -> version 1.2.3 will be 01020300, 5th update of 1.2.3 will be 01020305
|
|
258
|
+
dimension "bridge"
|
|
259
|
+
versionCode 5407
|
|
260
|
+
versionName "54.0.7"
|
|
261
|
+
applicationId "com.applicaster.il.ch1"
|
|
262
|
+
resValue "string", "app_name", "כאן BOX"
|
|
263
|
+
signingConfig signingConfigs.kan
|
|
264
|
+
}
|
|
265
|
+
pureflix {
|
|
266
|
+
// X.Y.Z XXYYZZUU -> version 1.2.3 will be 01020300, 5th update of 1.2.3 will be 01020305
|
|
267
|
+
dimension "bridge"
|
|
268
|
+
versionCode 5000900
|
|
269
|
+
versionName "5.0.9"
|
|
270
|
+
// Android TV
|
|
271
|
+
applicationId "com.pureflix"
|
|
272
|
+
resValue "string", "app_name", "PureFlix (Android TV)"
|
|
273
|
+
// Fire TV
|
|
274
|
+
// applicationId "com.rollingstorm.pureflixFTV"
|
|
275
|
+
// resValue "string", "app_name", "PureFlix"
|
|
276
|
+
}
|
|
277
|
+
rfa {
|
|
278
|
+
// X.Y.Z XXYYZZUU -> version 1.2.3 will be 01020300, 5th update of 1.2.3 will be 01020305
|
|
279
|
+
dimension "bridge"
|
|
280
|
+
applicationIdSuffix ".rfa"
|
|
281
|
+
versionCode 1000300
|
|
282
|
+
versionName "1.0.3"
|
|
283
|
+
resValue "string", "app_name", "RFA"
|
|
284
|
+
}
|
|
285
|
+
fuse {
|
|
286
|
+
dimension "bridge"
|
|
287
|
+
applicationIdSuffix ".fuse"
|
|
288
|
+
versionCode 3
|
|
289
|
+
versionName "1.0.2"
|
|
290
|
+
resValue "string", "app_name", "Fuse"
|
|
291
|
+
}
|
|
292
|
+
gsn {
|
|
293
|
+
dimension "bridge"
|
|
294
|
+
applicationId "com.gsn.apptv" // production
|
|
295
|
+
// applicationId "com.gsn.test.apptv" // staging
|
|
296
|
+
versionCode 1000900
|
|
297
|
+
versionName "1.0.9"
|
|
298
|
+
resValue "string", "app_name", "GSN"
|
|
299
|
+
}
|
|
300
|
+
topic {
|
|
301
|
+
dimension "bridge"
|
|
302
|
+
applicationId "com.flm.topictv" // production
|
|
303
|
+
// applicationId "com.twentyfouri.tvbridge.topic" // staging
|
|
304
|
+
versionCode 1010000
|
|
305
|
+
versionName "1.1.0"
|
|
306
|
+
resValue "string", "app_name", "Topic"
|
|
307
|
+
}
|
|
308
|
+
broadwayhd {
|
|
309
|
+
dimension "bridge"
|
|
310
|
+
applicationId "com.broadwayhd.apptv" // production
|
|
311
|
+
// applicationId "com.twentyfouri.tvbridge.broadwayhd" // staging
|
|
312
|
+
versionCode 1000700
|
|
313
|
+
versionName "1.0.7"
|
|
314
|
+
resValue "string", "app_name", "BroadwayHD"
|
|
315
|
+
}
|
|
316
|
+
kpn {
|
|
317
|
+
dimension "bridge"
|
|
318
|
+
applicationId "com.twentyfouri.kpnandroidtv"
|
|
319
|
+
versionCode 2
|
|
320
|
+
versionName "0.0.2"
|
|
321
|
+
resValue "string", "app_name", "KPN iTV"
|
|
322
|
+
}
|
|
89
323
|
}
|
|
90
324
|
|
|
91
325
|
sourceSets {
|
|
@@ -109,29 +343,28 @@ android.applicationVariants.all { variant ->
|
|
|
109
343
|
|
|
110
344
|
dependencies {
|
|
111
345
|
implementation fileTree(include: ['*.jar'], dir: 'libs')
|
|
112
|
-
implementation "org.jetbrains.kotlin:kotlin-stdlib-
|
|
346
|
+
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
|
|
113
347
|
api "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
|
|
114
|
-
api "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.
|
|
348
|
+
api "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2"
|
|
115
349
|
|
|
116
350
|
compileOnly "javax.annotation:jsr250-api:1.0"
|
|
117
|
-
implementation "androidx.appcompat:appcompat:1.2
|
|
351
|
+
implementation "androidx.appcompat:appcompat:1.4.2"
|
|
118
352
|
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
|
|
119
|
-
implementation "androidx.recyclerview:recyclerview:1.1
|
|
120
|
-
implementation 'com.google.firebase:firebase-crashlytics:18.2.
|
|
121
|
-
implementation 'com.google.firebase:firebase-analytics:
|
|
353
|
+
implementation "androidx.recyclerview:recyclerview:1.2.1"
|
|
354
|
+
implementation 'com.google.firebase:firebase-crashlytics:18.2.11'
|
|
355
|
+
implementation 'com.google.firebase:firebase-analytics:21.0.0'
|
|
122
356
|
|
|
123
|
-
implementation "com.google.dagger:dagger:2.
|
|
124
|
-
kapt "com.google.dagger:dagger-compiler:2.
|
|
357
|
+
implementation "com.google.dagger:dagger:2.42"
|
|
358
|
+
kapt "com.google.dagger:dagger-compiler:2.42"
|
|
125
359
|
|
|
126
360
|
implementation "com.squareup.retrofit2:retrofit:2.9.0"
|
|
127
361
|
implementation "com.squareup.retrofit2:converter-gson:2.5.0"
|
|
128
|
-
implementation "com.squareup.okhttp3:logging-interceptor:
|
|
129
|
-
implementation "com.squareup.okhttp3:okhttp:
|
|
362
|
+
implementation "com.squareup.okhttp3:logging-interceptor:4.9.2"
|
|
363
|
+
implementation "com.squareup.okhttp3:okhttp:4.9.2"
|
|
364
|
+
implementation "com.twentyfouri.player:exoplayer:0.6.0-alpha.23"
|
|
365
|
+
implementation 'com.google.android.exoplayer:extension-okhttp:2.17.1'
|
|
130
366
|
implementation "com.jumptvs.jumpkit:jumpkit-exoplayer:2.6.5"
|
|
131
367
|
|
|
132
|
-
implementation "com.twentyfouri.smartexoplayer:smartexoplayer:4.0.23"
|
|
133
|
-
implementation "com.twentyfouri.androidcore:chromecast:2.1.5"
|
|
134
|
-
|
|
135
368
|
implementation project(':common')
|
|
136
369
|
portalImplementation project(':amazoniap')
|
|
137
370
|
portalImplementation project(':googleiap')
|
|
@@ -144,11 +377,11 @@ dependencies {
|
|
|
144
377
|
androidTestImplementation "com.squareup.retrofit2:retrofit-mock:2.5.0"
|
|
145
378
|
androidTestImplementation "com.squareup.okhttp:mockwebserver:2.7.0"
|
|
146
379
|
androidTestImplementation "com.squareup.spoon:spoon-client:1.2.0"
|
|
147
|
-
androidTestImplementation "androidx.test:runner:1.
|
|
148
|
-
androidTestImplementation "androidx.test:rules:1.
|
|
149
|
-
androidTestImplementation 'androidx.test.ext:junit:1.1.
|
|
150
|
-
androidTestImplementation "androidx.test.espresso:espresso-core:3.
|
|
151
|
-
androidTestImplementation "androidx.test.espresso:espresso-web:3.
|
|
380
|
+
androidTestImplementation "androidx.test:runner:1.4.0"
|
|
381
|
+
androidTestImplementation "androidx.test:rules:1.4.0"
|
|
382
|
+
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
|
|
383
|
+
androidTestImplementation "androidx.test.espresso:espresso-core:3.4.0"
|
|
384
|
+
androidTestImplementation "androidx.test.espresso:espresso-web:3.4.0"
|
|
152
385
|
androidTestImplementation('com.github.andrzejchm.RESTMock:android:0.3.1') {
|
|
153
386
|
exclude module: 'support-annotations'
|
|
154
387
|
}
|
package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/drawable/banner.png
CHANGED
|
Binary file
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
{
|
|
2
|
-
"baseUrl": "
|
|
2
|
+
"baseUrl": "http://appstage-bigscreen.kan.24imedia.com.s3.amazonaws.com/builds/androidtv/animated_1080/dist/v0.0.9/public/index.html",
|
|
3
|
+
"customizableUrl": false,
|
|
4
|
+
"mediaEventPrefix": "player:",
|
|
5
|
+
"startWithHighVideoQuality": true,
|
|
3
6
|
"drm": {
|
|
4
7
|
"overrideDrmCallback": true
|
|
5
8
|
}
|
|
Binary file
|
package/dist/templates/platforms/androidtv/project/app/src/kan/res/mipmap-hdpi/ic_launcher.png
ADDED
|
Binary file
|
package/dist/templates/platforms/androidtv/project/app/src/kan/res/mipmap-mdpi/ic_launcher.png
ADDED
|
Binary file
|
package/dist/templates/platforms/androidtv/project/app/src/kan/res/mipmap-xhdpi/ic_launcher.png
ADDED
|
Binary file
|
package/dist/templates/platforms/androidtv/project/app/src/kan/res/mipmap-xxhdpi/ic_launcher.png
ADDED
|
Binary file
|
package/dist/templates/platforms/androidtv/project/app/src/kan/res/mipmap-xxxhdpi/ic_launcher.png
ADDED
|
Binary file
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"baseUrl": "http://appstage-bigscreen.kan.24imedia.com.s3.amazonaws.com/builds/androidtv/animated_1080/live/public/index.html",
|
|
3
|
+
"customizableUrl": false,
|
|
4
|
+
"mediaEventPrefix": "player:",
|
|
5
|
+
"startWithHighVideoQuality": true,
|
|
6
|
+
"drm": {
|
|
7
|
+
"overrideDrmCallback": true
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -15,6 +15,9 @@
|
|
|
15
15
|
|
|
16
16
|
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
|
17
17
|
|
|
18
|
+
<uses-permission android:name="com.google.android.assistant.READ_HOTWORD_STATE" />
|
|
19
|
+
<uses-permission android:name="com.google.android.assistant.WRITE_HOTWORD_STATE" />
|
|
20
|
+
|
|
18
21
|
<application
|
|
19
22
|
android:name=".global.BaseApplication"
|
|
20
23
|
android:allowBackup="true"
|
|
@@ -27,7 +30,9 @@
|
|
|
27
30
|
android:theme="@style/AppTheme">
|
|
28
31
|
<activity
|
|
29
32
|
android:name=".webview.view.WebViewActivity"
|
|
30
|
-
android:
|
|
33
|
+
android:hardwareAccelerated="true"
|
|
34
|
+
android:label="@string/app_name"
|
|
35
|
+
android:exported="true">
|
|
31
36
|
<intent-filter>
|
|
32
37
|
<action android:name="android.intent.action.MAIN" />
|
|
33
38
|
|
|
@@ -36,7 +41,8 @@
|
|
|
36
41
|
</intent-filter>
|
|
37
42
|
</activity>
|
|
38
43
|
<receiver android:name="com.amazon.device.iap.ResponseReceiver"
|
|
39
|
-
android:permission="com.amazon.inapp.purchasing.Permission.NOTIFY"
|
|
44
|
+
android:permission="com.amazon.inapp.purchasing.Permission.NOTIFY"
|
|
45
|
+
android:exported="true">
|
|
40
46
|
<intent-filter>
|
|
41
47
|
<action
|
|
42
48
|
android:name="com.amazon.inapp.purchasing.NOTIFY" />
|