@24i/smartapps-bigscreen-rnv-build-engine 0.17.2-alpha.2168 → 0.17.2

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 (94) hide show
  1. package/dist/src/resolvers/index.js +1 -3
  2. package/dist/src/resolvers/resolveBuildFileName.js +27 -3
  3. package/dist/src/sdks/index.js +1 -5
  4. package/dist/src/sdks/sdk-utils/sdk-installer/services/unzip.js +2 -3
  5. package/dist/src/tasks/task.rnv.build.js +1 -3
  6. package/dist/src/tasks/task.rnv.configure.js +1 -3
  7. package/dist/src/tasks/task.rnv.platform.configure.js +1 -4
  8. package/package.json +2 -3
  9. package/dist/src/__tests__/resolvers/resolveBuildFileBaseName.spec.js +0 -80
  10. package/dist/src/resolvers/resolveBuildFileBaseName.js +0 -34
  11. package/dist/src/sdks/sdk-androidtv/index.js +0 -17
  12. package/dist/src/sdks/sdk-androidtv/sdkAndroidtv.js +0 -260
  13. package/dist/templates/platforms/androidtv/project/README.md +0 -198
  14. package/dist/templates/platforms/androidtv/project/amazoniap/build.gradle +0 -37
  15. package/dist/templates/platforms/androidtv/project/amazoniap/consumer-rules.pro +0 -0
  16. package/dist/templates/platforms/androidtv/project/amazoniap/libs/in-app-purchasing-2.0.76.jar +0 -0
  17. package/dist/templates/platforms/androidtv/project/amazoniap/proguard-rules.pro +0 -21
  18. package/dist/templates/platforms/androidtv/project/amazoniap/src/main/AndroidManifest.xml +0 -4
  19. package/dist/templates/platforms/androidtv/project/amazoniap/src/main/java/com/twentyfouri/bridgetv/amazoniap/AmazonIapSevice.kt +0 -106
  20. package/dist/templates/platforms/androidtv/project/app/build.gradle +0 -112
  21. package/dist/templates/platforms/androidtv/project/app/proguard-rules.pro +0 -32
  22. package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  23. package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/raw/configuration.json +0 -9
  24. package/dist/templates/platforms/androidtv/project/app/src/main/AndroidManifest.xml +0 -53
  25. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/FlavorBase.kt +0 -12
  26. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/bridge/BridgeFromJavaScript.kt +0 -385
  27. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/bridge/BridgeToJavaScript.kt +0 -83
  28. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/BridgeConfig.kt +0 -16
  29. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/ConfigCallback.kt +0 -6
  30. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/ConfigProvider.kt +0 -27
  31. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/Drm.kt +0 -10
  32. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/UserAgent.kt +0 -6
  33. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/BaseApplication.kt +0 -73
  34. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ActivityComponent.kt +0 -13
  35. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ActivityModule.kt +0 -21
  36. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ApplicationComponent.kt +0 -24
  37. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ApplicationModule.kt +0 -43
  38. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/PerActivity.kt +0 -26
  39. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/LocalStorage.kt +0 -30
  40. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/LoggingDrmCallback.kt +0 -38
  41. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/OverriddenHttpMediaDrmCallback.kt +0 -134
  42. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/PlayerFactoryExoPlayerCustomized.kt +0 -84
  43. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/SimpleActivityLifecycleCallback.kt +0 -32
  44. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/SourceDrmOverridden.kt +0 -49
  45. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/jump/JumpAnalytics.kt +0 -211
  46. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/sound/TouchPlayer.kt +0 -86
  47. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/client/BridgeWebView.kt +0 -82
  48. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/client/BridgeWebViewClient.kt +0 -114
  49. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/AnalyticsPlaybackInfo.kt +0 -10
  50. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/ContentModel.kt +0 -14
  51. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/DrmModel.kt +0 -20
  52. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/MediaEventType.kt +0 -20
  53. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/ContentModelParser.kt +0 -16
  54. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/DeviceInfoParser.kt +0 -22
  55. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/PlaybackInfoParser.kt +0 -10
  56. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/TrackJsonModelParser.kt +0 -58
  57. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/Mainview.kt +0 -20
  58. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/PlayerCache.kt +0 -15
  59. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/WebViewActivity.kt +0 -301
  60. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/viewmodel/WebViewModel.kt +0 -571
  61. package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/banner.png +0 -0
  62. package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_background_focus.xml +0 -10
  63. package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_background_normal.xml +0 -7
  64. package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_background_pressed.xml +0 -7
  65. package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_focus.xml +0 -8
  66. package/dist/templates/platforms/androidtv/project/app/src/main/res/layout/activity_web_view.xml +0 -76
  67. package/dist/templates/platforms/androidtv/project/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  68. package/dist/templates/platforms/androidtv/project/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  69. package/dist/templates/platforms/androidtv/project/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  70. package/dist/templates/platforms/androidtv/project/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  71. package/dist/templates/platforms/androidtv/project/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  72. package/dist/templates/platforms/androidtv/project/app/src/main/res/raw/click.ogg +0 -0
  73. package/dist/templates/platforms/androidtv/project/app/src/main/res/raw/fiddle_root_michal_konecny.cer +0 -0
  74. package/dist/templates/platforms/androidtv/project/app/src/main/res/raw/proxy_milanwilczak.pem +0 -26
  75. package/dist/templates/platforms/androidtv/project/app/src/main/res/values/styles.xml +0 -12
  76. package/dist/templates/platforms/androidtv/project/app/src/main/res/xml/network_security_config.xml +0 -12
  77. package/dist/templates/platforms/androidtv/project/build.gradle +0 -48
  78. package/dist/templates/platforms/androidtv/project/common/build.gradle +0 -36
  79. package/dist/templates/platforms/androidtv/project/common/consumer-rules.pro +0 -0
  80. package/dist/templates/platforms/androidtv/project/common/proguard-rules.pro +0 -21
  81. package/dist/templates/platforms/androidtv/project/common/src/main/AndroidManifest.xml +0 -4
  82. package/dist/templates/platforms/androidtv/project/common/src/main/java/com/twentyfouri/tvbridge/common/IapService.kt +0 -114
  83. package/dist/templates/platforms/androidtv/project/googleiap/build.gradle +0 -38
  84. package/dist/templates/platforms/androidtv/project/googleiap/consumer-rules.pro +0 -0
  85. package/dist/templates/platforms/androidtv/project/googleiap/proguard-rules.pro +0 -21
  86. package/dist/templates/platforms/androidtv/project/googleiap/src/main/AndroidManifest.xml +0 -6
  87. package/dist/templates/platforms/androidtv/project/googleiap/src/main/java/com/twentyfouri/tvbridge/googleiap/GoogleIapService.kt +0 -29
  88. package/dist/templates/platforms/androidtv/project/gradle/wrapper/gradle-wrapper.jar +0 -0
  89. package/dist/templates/platforms/androidtv/project/gradle/wrapper/gradle-wrapper.properties +0 -6
  90. package/dist/templates/platforms/androidtv/project/gradle.properties +0 -4
  91. package/dist/templates/platforms/androidtv/project/gradlew +0 -185
  92. package/dist/templates/platforms/androidtv/project/gradlew.bat +0 -104
  93. package/dist/templates/platforms/androidtv/project/proguard-rules.pro +0 -42
  94. package/dist/templates/platforms/androidtv/project/settings.gradle +0 -4
@@ -1,198 +0,0 @@
1
- # Android TV Bridge
2
-
3
- > Readme updated for the androidVersionCode 2
4
-
5
- ## Requirements
6
- * Android Studio (https://developer.android.com/studio/index.html)
7
-
8
- ## Getting started
9
-
10
- #### Repository
11
- Clone the repository `git clone git@bitbucket.org:24imedia/androidtvbridge.git`
12
-
13
- #### Editor
14
- Open the project by opening Android Studio and selecting `Open an existing Android Studio project`. Select the folder in which you've cloned the repository.
15
-
16
- #### Installation
17
- Make sure you have ADB (Android Debug Bridge) install in order to run the app on a device through Android Studio or via "command line" (https://developer.android.com/studio/command-line/adb.html#wireless)
18
-
19
- #### Launch
20
- * Android Studio
21
- * Once you've connected a device you can press `Run` in Android Studio and it will take care of building and running the app. You will be prompted with a dialog box asking where to run the application, select the device and the application will be started.
22
- * Command line
23
- * adb connect `<IP of the TV>`
24
- * adb install `<apk file>`
25
-
26
- ## Changing the default URL
27
-
28
- The application by default has a front-loading page where you can enter the URL you want to load. You can adjust this default by modifying the following values:
29
-
30
- **app/build.gradle**
31
-
32
- This file determines which URL is loaded.
33
-
34
-
35
- productFlavors {
36
- flavourName {
37
- resValue "string", "app_name", "24i Bridge"
38
- resValue "string", "url_base", "http://smart-template-sinclair-appcore.feature1.24i-dev.com/build/amazon-firetv_stb-default/index.html"
39
- }
40
- ...
41
- }
42
-
43
-
44
- #### Adding new environments
45
- Add a new flavour to let Android Studio generate a new version pointing to the new url.
46
-
47
- ### JS Methods
48
-
49
- #### void bridgeAndroidToJavaScript_KeyEvent(int keyCode, String keyEvent)
50
- Fires a JS key event
51
- Possible events:
52
- * keypress
53
- * keyup
54
- * keydown
55
-
56
- Where keycode is the keycode that is send
57
-
58
- #### void bridgeAndroidToJavaScript_MediaEvent(String mediaEvent)
59
- Fires a JS MediaEvent
60
- Possible mediaEvents:
61
- * timeupdate
62
- * error
63
- * playing
64
- * ended
65
- * waiting
66
- * seeked
67
-
68
- #### void bridgeJavaScriptToAndroid_Message(String messageString)
69
- Send a message/Toast to Android app
70
-
71
- #### void bridgeJavaScriptToAndroid_SetVideoPath(final String jsonString)
72
- Sets the content to the player. Can be only a stream Url exmaple `http://www.stream.nl?lsadlk.m3u8`
73
- Or:
74
- Json string expected format:
75
- ```json
76
- {
77
- "streamUrl": "http://www.stream.nl?lsadlk.m3u8",
78
- "drmConfig": {
79
- "drmSchemeUuid": "widevine",
80
- "drmLicenseUrl": "http://licenseurl.com",
81
- "drmCustomData": {
82
- "custom": "data",
83
- "data": "custom"
84
- }
85
- }
86
- }
87
- ```
88
- drmConfig is nullable
89
-
90
- * streamUrl: the stream url
91
- * drmSchemeUuid: widevine, playready, clearkey or custom UUID
92
- * drmLicenseUrl: the license server url
93
- * drmCustomData: key value pairs of custom data
94
-
95
- #### void bridgeJavaScriptToAndroid_PlayVideo()
96
- Plays the current stream
97
-
98
- #### bridgeJavaScriptToAndroid_PauseVideo()
99
- Pauses the current stream
100
-
101
- #### bridgeJavaScriptToAndroid_StopVideo()
102
- Stops the current stream
103
-
104
- #### int bridgeJavaScriptToAndroid_GetCurrentTime()
105
- Gets the current time from player
106
-
107
- #### float bridgeJavaScriptToAndroid_GetCurrentTimeFloat()
108
- Gets the current time float from player
109
-
110
- #### void bridgeJavaScriptToAndroid_setNativeSubtitlesEnabled(boolean subtitlesEnabled)
111
- Enable or disable subtitles in the player
112
-
113
- #### int bridgeJavaScriptToAndroid_GetTotalTime()
114
- Gets the duration of the stream
115
-
116
- #### void bridgeJavaScriptToAndroid_SeekTo(int seconds)
117
- Seek to a specific position in the stream
118
-
119
- #### boolean bridgeJavaScriptToAndroid_IsPlaying()
120
- Return true if the player is playing, otherwise false
121
-
122
- #### void bridgeJavaScriptToAndroid_FullScreenVideo()
123
- Sets the player to full screen mode
124
-
125
- #### void bridgeJavaScriptToAndroid_SetVideoLayout(int width, int height, int left, int top)
126
- Resize the player
127
-
128
- #### void bridgeJavaScriptToAndroid_Back()
129
- Simulate a native Android back press
130
-
131
- #### void bridgeAndroidToJavaScript_MediaTrackEvent(String mediaEvent, List<TrackInfo> tracks)
132
- Send event to JS
133
- Possible event:
134
- tracksChanged
135
-
136
- TrackInfo list:
137
- ```json
138
- [
139
- {
140
- "type": "",
141
- "language": "",
142
- "name": ""
143
- },
144
- {
145
- "type": "",
146
- "language": "",
147
- "name": ""
148
- }
149
- ]
150
- ```
151
-
152
- #### void bridgeJavaScriptToAndroid_SetTrack(String trackJson)
153
- Change the track thats currently playing
154
- Returns void
155
- trackJson format:
156
- ```json
157
- {
158
- "type": "",
159
- "language": "",
160
- "name": ""
161
- }
162
- ```
163
- * type: audio or subtitles
164
- * language: the language String example: `en`
165
- * name: the name of language(display name) example: `English`
166
- Disable the tracks again. Set `off` in language
167
-
168
- #### void bridgeJavaScriptToAndroid_SaveToLocalStorage(String key, String value)
169
- Save an string to Android localstorage
170
- * key: a constant set in JS app to save/get the saved value
171
- * value: the value you want to save(can be a json string)
172
-
173
- #### void bridgeJavaScriptToAndroid_RemoveFromLocalStorage(String key)
174
- * key: a constant set in JS app to remove the saved value
175
-
176
- #### String bridgeJavaScriptToAndroid_GetFromLocalStorage(String key)
177
- * key: a constant set in JS app to get the saved value
178
-
179
- #### void bridgeReceiptAmazonIAPValidation(String sku, String token, String urlReceiptValidation, String urlGetStatus)
180
- Validate that the in app purchase is accepted by Amazon
181
- * sku: id of the product
182
- * token: token of the sell
183
- * urlReceiptValidation: url where to validate the receipt
184
- * urlGetStatus: url to get the status of the purchase
185
- #### void bridgeReceiptAmazonIAPValidated(String receiptId)
186
- In app purchase validation of a receipt by Amazon
187
- * receiptId: id of the receipt
188
- #### String bridgeGetHistoricPurchases()
189
- Get the history of the purchases by Amazon of the current user
190
- #### String bridgeJavaScriptToAndroid_GetDeviceInfo()
191
- Returns a Json string with the information about the device brand, model and Android version.
192
- Json format example:
193
- ```json
194
- { "deviceBrand": "Sony",
195
- "deviceModel": "BRAVIA 4K 2015",
196
- "osVersion": "7.0"
197
- }
198
- ```
@@ -1,37 +0,0 @@
1
- apply plugin: 'com.android.library'
2
- apply plugin: 'kotlin-android'
3
-
4
- android {
5
- compileSdkVersion 31
6
-
7
- compileOptions {
8
- sourceCompatibility JavaVersion.VERSION_1_8
9
- targetCompatibility JavaVersion.VERSION_1_8
10
- }
11
-
12
- defaultConfig {
13
- minSdkVersion 21
14
- targetSdkVersion 30
15
-
16
- versionCode 1
17
- versionName "1.0"
18
-
19
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
20
- consumerProguardFiles "consumer-rules.pro"
21
- }
22
-
23
- buildTypes {
24
- release {
25
- minifyEnabled false
26
- proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
27
- }
28
- }
29
- }
30
-
31
- dependencies {
32
- api fileTree(dir: "libs", include: ["*.jar"])
33
- implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
34
- implementation 'androidx.core:core-ktx:1.3.2'
35
- implementation 'androidx.appcompat:appcompat:1.2.0'
36
- implementation project(':common')
37
- }
@@ -1,21 +0,0 @@
1
- # Add project specific ProGuard rules here.
2
- # You can control the set of applied configuration files using the
3
- # proguardFiles setting in build.gradle.
4
- #
5
- # For more details, see
6
- # http://developer.android.com/guide/developing/tools/proguard.html
7
-
8
- # If your project uses WebView with JS, uncomment the following
9
- # and specify the fully qualified class name to the JavaScript interface
10
- # class:
11
- #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
12
- # public *;
13
- #}
14
-
15
- # Uncomment this to preserve the line number information for
16
- # debugging stack traces.
17
- #-keepattributes SourceFile,LineNumberTable
18
-
19
- # If you keep the line number information, uncomment this to
20
- # hide the original source file name.
21
- #-renamesourcefileattribute SourceFile
@@ -1,4 +0,0 @@
1
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2
- package="com.twentyfouri.androidtv.amazoniap">
3
-
4
- </manifest>
@@ -1,106 +0,0 @@
1
- package com.twentyfouri.bridgetv.amazoniap
2
-
3
- import android.app.Activity
4
- import android.content.Context
5
- import android.os.Build
6
- import androidx.core.content.ContextCompat
7
- import com.amazon.device.iap.PurchasingListener
8
- import com.amazon.device.iap.PurchasingService
9
- import com.amazon.device.iap.model.*
10
- import com.twentyfouri.tvbridge.common.*
11
-
12
- object AmazonIapServiceFactory : IapServiceFactory {
13
- override fun detectSupport(context: Context): Boolean {
14
- val installer = context.installerPackageName
15
- return when {
16
- installer == "com.android.vending" -> false
17
- installer == "com.amazon.venezia" -> true
18
- Build.MANUFACTURER == "Amazon" -> true
19
- else -> false
20
- }
21
- }
22
-
23
- override fun build(context: Context): IapService =
24
- AmazonIapService(context)
25
- }
26
-
27
- class AmazonIapService(
28
- private val context: Context
29
- ) : IapService, PurchasingListener {
30
-
31
- private var callback: IapCallback? = null
32
-
33
- override fun initialize() {
34
- PurchasingService.registerListener(context, this)
35
- }
36
-
37
- override fun destroy() {
38
- }
39
-
40
- override fun setCallback(callback: IapCallback?) {
41
- this.callback = callback
42
- }
43
-
44
- override fun onUserDataResponse(result: UserDataResponse) {
45
- // not called
46
- }
47
-
48
- override fun checkNewPurchases() {
49
- PurchasingService.getPurchaseUpdates(true)
50
- }
51
-
52
- override fun onPurchaseUpdatesResponse(result: PurchaseUpdatesResponse) {
53
- if (result.requestStatus == PurchaseUpdatesResponse.RequestStatus.SUCCESSFUL) {
54
- val iapPurchases = result.receipts.map { receipt ->
55
- IapPurchase(receipt.sku, result.userData.userId, receipt.receiptId)
56
- }
57
- callback?.checkNewPurchasesFinished(iapPurchases)
58
- } else {
59
- callback?.checkNewPurchasesFinished(IapException(result.requestStatus.name))
60
- }
61
- }
62
-
63
- override fun purchase(activity: Activity, sku: String) {
64
- PurchasingService.purchase(sku)
65
- }
66
-
67
- override fun onPurchaseResponse(result: PurchaseResponse) {
68
- if (result.requestStatus == PurchaseResponse.RequestStatus.SUCCESSFUL) {
69
- callback?.purchaseFinished(IapPurchase(
70
- result.receipt.sku,
71
- result.userData.userId,
72
- result.receipt.receiptId
73
- ))
74
- } else {
75
- callback?.purchaseFinished(IapException(result.requestStatus.name))
76
- }
77
- }
78
-
79
- override fun getProducts(skus: List<String>) {
80
- PurchasingService.getProductData(skus.toSet())
81
- }
82
-
83
- override fun onProductDataResponse(result: ProductDataResponse) {
84
- if (result.requestStatus == ProductDataResponse.RequestStatus.SUCCESSFUL) {
85
- callback?.getProductsFinished(
86
- result.productData.values.map {
87
- IapProduct(
88
- title = it.title ?: "",
89
- description = it.description ?: "",
90
- price = it.price ?: "",
91
- icon = it.smallIconUrl ?: "",
92
- type = it.productType.name,
93
- sku = it.sku
94
- )
95
- },
96
- result.unavailableSkus.toList()
97
- )
98
- } else {
99
- callback?.getProductsFinished(IapException(result.requestStatus.name))
100
- }
101
- }
102
-
103
- override fun acknowledgeReceipt(receipt: String) {
104
- PurchasingService.notifyFulfillment(receipt, FulfillmentResult.FULFILLED)
105
- }
106
- }
@@ -1,112 +0,0 @@
1
- apply plugin: 'com.android.application'
2
- apply plugin: 'kotlin-android'
3
- apply plugin: 'kotlin-kapt'
4
- apply plugin: 'com.google.gms.google-services'
5
- apply plugin: 'com.google.firebase.crashlytics'
6
-
7
- android {
8
- compileSdkVersion {{COMPILE_SDK_VERSION}}
9
-
10
- compileOptions {
11
- sourceCompatibility JavaVersion.VERSION_1_8
12
- targetCompatibility JavaVersion.VERSION_1_8
13
- }
14
-
15
- kotlinOptions {
16
- jvmTarget = '1.8'
17
- freeCompilerArgs = ['-Xjvm-default=compatibility']
18
- }
19
-
20
- packagingOptions {
21
- exclude 'META-INF/*.kotlin_module'
22
- }
23
-
24
- defaultConfig {
25
- minSdkVersion {{MIN_SDK_VERSION}}
26
- targetSdkVersion {{TARGET_SDK_VERSION}}
27
-
28
- applicationId 'com.twentyfouri.tvbridge'
29
- versionCode 1
30
- versionName "1.0"
31
- testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
32
-
33
- // necessary for Fire OS - installation of debug build fails otherwise
34
- multiDexEnabled true
35
- }
36
-
37
- signingConfigs {
38
- bigscreenAppstage {
39
- keyAlias '{{KEY_ALIAS}}'
40
- keyPassword '{{KEY_PASSWORD}}'
41
- storeFile file('{{STORE_FILE}}')
42
- storePassword '{{STORE_PASSWORD}}'
43
- v1SigningEnabled true
44
- v2SigningEnabled true
45
- }
46
- }
47
-
48
- buildTypes {
49
- debug {
50
- // uncomment for signing testing builds
51
- // signingConfig null
52
- }
53
- release {
54
- minifyEnabled true
55
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
56
- }
57
- }
58
-
59
- buildFeatures {
60
- dataBinding true
61
- }
62
-
63
- flavorDimensions "bridge"
64
- productFlavors {
65
- bigscreenAppstage {
66
- // X.Y.Z XXYYZZUU -> version 1.2.3 will be 01020300, 5th update of 1.2.3 will be 01020305
67
- dimension "bridge"
68
- versionCode {{APP_VERSION_CODE}}
69
- versionName "{{APP_VERSION_NAME}}"
70
- applicationId "{{APP_ID}}"
71
- resValue "string", "app_name", "{{configProps.appName}}"
72
- {{SIGNING_CONFIG_REF}}
73
- }
74
- }
75
- }
76
-
77
- //Enable GoogleServices and Crashlytics for specified variant
78
- android.applicationVariants.all { variant ->
79
- project.tasks.getByName('process' + variant.name.capitalize() + 'GoogleServices').enabled = false
80
- tasks.whenTaskAdded { task ->
81
- if (task.name.toLowerCase().contains("crashlytics")) {
82
- task.enabled = false
83
- }
84
- }
85
- }
86
-
87
- dependencies {
88
- implementation fileTree(include: ['*.jar'], dir: 'libs')
89
- implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
90
- api "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
91
- api "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2"
92
-
93
- compileOnly "javax.annotation:jsr250-api:1.0"
94
- implementation "androidx.appcompat:appcompat:1.4.2"
95
- implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
96
- implementation "androidx.recyclerview:recyclerview:1.2.1"
97
- implementation 'com.google.firebase:firebase-crashlytics:18.2.11'
98
- implementation 'com.google.firebase:firebase-analytics:21.0.0'
99
-
100
- implementation "com.google.dagger:dagger:2.42"
101
- kapt "com.google.dagger:dagger-compiler:2.42"
102
-
103
- implementation "com.squareup.retrofit2:retrofit:2.9.0"
104
- implementation "com.squareup.retrofit2:converter-gson:2.5.0"
105
- implementation "com.squareup.okhttp3:logging-interceptor:4.9.2"
106
- implementation "com.squareup.okhttp3:okhttp:4.9.2"
107
- implementation "com.twentyfouri.player:exoplayer:0.6.0-alpha.23"
108
- implementation 'com.google.android.exoplayer:extension-okhttp:2.17.1'
109
- implementation "com.jumptvs.jumpkit:jumpkit-exoplayer:2.6.5"
110
-
111
- implementation project(':common')
112
- }
@@ -1,32 +0,0 @@
1
- # Add project specific ProGuard rules here.
2
- # By default, the flags in this file are appended to flags specified
3
- # in /Applications/Android SDK/sdk/tools/proguard/proguard-android.txt
4
- # You can edit the include path and order by changing the proguardFiles
5
- # directive in build.gradle.
6
- #
7
- # For more details, see
8
- # http://developer.android.com/guide/developing/tools/proguard.html
9
-
10
- # Add any project specific keep options here:
11
-
12
- # If your project uses WebView with JS, uncomment the following
13
- # and specify the fully qualified class name to the JavaScript interface
14
- # class:
15
- -keepclassmembers class com.twentyfouri.tvbridge.bridge.JavaScript** {
16
- public *;
17
- }
18
- -dontwarn okhttp3.**
19
- -dontwarn javax.annotation.**
20
- # A resource is loaded with a relative path so the package of this class must be preserved.
21
- -keepnames class okhttp3.internal.publicsuffix.PublicSuffixDatabase
22
-
23
- -ignorewarnings
24
- -keep class * {
25
- public private *;
26
- }
27
-
28
- -dontwarn com.amazon.**
29
- -keep class com.amazon.** {*;}
30
- -keepattributes *Annotation*
31
-
32
- -optimizationpasses 1
@@ -1,5 +0,0 @@
1
- package com.twentyfouri.tvbridge
2
-
3
- class Flavor: FlavorBase() {
4
-
5
- }
@@ -1,9 +0,0 @@
1
- {
2
- "baseUrl": "{{APP_URL}}",
3
- "customizableUrl": false,
4
- "mediaEventPrefix": "player:",
5
- "startWithHighVideoQuality": true,
6
- "drm": {
7
- "overrideDrmCallback": true
8
- }
9
- }
@@ -1,53 +0,0 @@
1
- <?xml version="1.0" encoding="utf-8"?>
2
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
3
- xmlns:tools="http://schemas.android.com/tools"
4
- package="com.twentyfouri.tvbridge" >
5
-
6
- <!-- Allow the app to run on non-touch devices. -->
7
- <uses-feature android:name="android.hardware.touchscreen" android:required="false" />
8
- <uses-feature android:name="android.hardware.screen.portrait" android:required="false" />
9
- <uses-feature android:name="android.hardware.gamepad" android:required="false"/>
10
- <!-- Limit the app to running on Android TV devices. -->
11
- <uses-feature android:name="android.software.leanback" android:required="true" />
12
-
13
- <!-- Allow the app access to the internet. -->
14
- <uses-permission android:name="android.permission.INTERNET" />
15
-
16
- <uses-permission android:name="android.permission.WAKE_LOCK" />
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
-
21
- <application
22
- android:name=".global.BaseApplication"
23
- android:allowBackup="true"
24
- android:banner="@drawable/banner"
25
- android:icon="@mipmap/ic_launcher"
26
- android:label="@string/app_name"
27
- android:networkSecurityConfig="@xml/network_security_config"
28
- tools:ignore="GoogleAppIndexingWarning"
29
- android:usesCleartextTraffic="true"
30
- android:theme="@style/AppTheme">
31
- <activity
32
- android:name=".webview.view.WebViewActivity"
33
- android:hardwareAccelerated="true"
34
- android:label="@string/app_name"
35
- android:exported="true">
36
- <intent-filter>
37
- <action android:name="android.intent.action.MAIN" />
38
-
39
- <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
40
- <category android:name="android.intent.category.LAUNCHER" />
41
- </intent-filter>
42
- </activity>
43
- <receiver android:name="com.amazon.device.iap.ResponseReceiver"
44
- android:permission="com.amazon.inapp.purchasing.Permission.NOTIFY"
45
- android:exported="true">
46
- <intent-filter>
47
- <action
48
- android:name="com.amazon.inapp.purchasing.NOTIFY" />
49
- </intent-filter>
50
- </receiver>
51
- </application>
52
-
53
- </manifest>
@@ -1,12 +0,0 @@
1
- package com.twentyfouri.tvbridge
2
-
3
- import android.content.Context
4
- import com.twentyfouri.tvbridge.common.IapServiceFactory
5
-
6
- abstract class FlavorBase {
7
-
8
- open fun signData(applicationContext: Context, dataJson: String) : String = ""
9
-
10
- open fun getIapServiceFactories(): List<IapServiceFactory> =
11
- emptyList()
12
- }