@24i/smartapps-bigscreen-rnv-build-engine 0.17.2-alpha.2167 → 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 (302) 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/resolvers/resolveBuildFileBaseName.js +0 -34
  10. package/dist/src/sdks/sdk-androidtv/index.js +0 -17
  11. package/dist/src/sdks/sdk-androidtv/sdkAndroidtv.js +0 -240
  12. package/dist/templates/platforms/androidtv/project/README.md +0 -198
  13. package/dist/templates/platforms/androidtv/project/amazoniap/build.gradle +0 -37
  14. package/dist/templates/platforms/androidtv/project/amazoniap/consumer-rules.pro +0 -0
  15. package/dist/templates/platforms/androidtv/project/amazoniap/libs/in-app-purchasing-2.0.76.jar +0 -0
  16. package/dist/templates/platforms/androidtv/project/amazoniap/proguard-rules.pro +0 -21
  17. package/dist/templates/platforms/androidtv/project/amazoniap/src/main/AndroidManifest.xml +0 -4
  18. package/dist/templates/platforms/androidtv/project/amazoniap/src/main/java/com/twentyfouri/bridgetv/amazoniap/AmazonIapSevice.kt +0 -106
  19. package/dist/templates/platforms/androidtv/project/app/build.gradle +0 -402
  20. package/dist/templates/platforms/androidtv/project/app/proguard-rules.pro +0 -32
  21. package/dist/templates/platforms/androidtv/project/app/src/alhurra/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  22. package/dist/templates/platforms/androidtv/project/app/src/alhurra/res/drawable/banner.png +0 -0
  23. package/dist/templates/platforms/androidtv/project/app/src/alhurra/res/mipmap-hdpi/ic_launcher.png +0 -0
  24. package/dist/templates/platforms/androidtv/project/app/src/alhurra/res/mipmap-mdpi/ic_launcher.png +0 -0
  25. package/dist/templates/platforms/androidtv/project/app/src/alhurra/res/mipmap-xhdpi/ic_launcher.png +0 -0
  26. package/dist/templates/platforms/androidtv/project/app/src/alhurra/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  27. package/dist/templates/platforms/androidtv/project/app/src/alhurra/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  28. package/dist/templates/platforms/androidtv/project/app/src/alhurra/res/raw/configuration.json +0 -7
  29. package/dist/templates/platforms/androidtv/project/app/src/androidTest/assets/getStatusSuccesfulResponse.json +0 -9
  30. package/dist/templates/platforms/androidtv/project/app/src/androidTest/assets/tokenFromPassword_200.json +0 -7
  31. package/dist/templates/platforms/androidtv/project/app/src/androidTest/java/com/ngsn/tv/RestServiceTestHelper.java +0 -34
  32. package/dist/templates/platforms/androidtv/project/app/src/androidTest/java/com/ngsn/tv/WebViewActivityTest.java +0 -104
  33. package/dist/templates/platforms/androidtv/project/app/src/androidTest/java/com/twentyfouri/tvbridge/SignTest.kt +0 -54
  34. package/dist/templates/platforms/androidtv/project/app/src/androidTest/java/com/twentyfouri/tvbridge/amazonIAP/AmazonIAPManagerTest.java +0 -74
  35. package/dist/templates/platforms/androidtv/project/app/src/androidTest/java/com/twentyfouri/tvbridge/amazonIAP/SinclairTestRunner.java +0 -22
  36. package/dist/templates/platforms/androidtv/project/app/src/androidTest/java/com/twentyfouri/tvbridge/webview/ui/model/BridgeWebViewTest.java +0 -50
  37. package/dist/templates/platforms/androidtv/project/app/src/bbg/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  38. package/dist/templates/platforms/androidtv/project/app/src/bbg/res/drawable/banner.png +0 -0
  39. package/dist/templates/platforms/androidtv/project/app/src/bbg/res/mipmap-hdpi/ic_launcher.png +0 -0
  40. package/dist/templates/platforms/androidtv/project/app/src/bbg/res/mipmap-mdpi/ic_launcher.png +0 -0
  41. package/dist/templates/platforms/androidtv/project/app/src/bbg/res/mipmap-xhdpi/ic_launcher.png +0 -0
  42. package/dist/templates/platforms/androidtv/project/app/src/bbg/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  43. package/dist/templates/platforms/androidtv/project/app/src/bbg/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  44. package/dist/templates/platforms/androidtv/project/app/src/bbg/res/raw/configuration.json +0 -7
  45. package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  46. package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/drawable/banner.png +0 -0
  47. package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/mipmap-hdpi/ic_launcher.png +0 -0
  48. package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/mipmap-mdpi/ic_launcher.png +0 -0
  49. package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/mipmap-xhdpi/ic_launcher.png +0 -0
  50. package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  51. package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  52. package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/raw/configuration.json +0 -9
  53. package/dist/templates/platforms/androidtv/project/app/src/broadwayhd/java/com/twentyfouri/tvbridge/Flavor.kt +0 -9
  54. package/dist/templates/platforms/androidtv/project/app/src/broadwayhd/res/drawable/banner.png +0 -0
  55. package/dist/templates/platforms/androidtv/project/app/src/broadwayhd/res/mipmap-hdpi/ic_launcher.png +0 -0
  56. package/dist/templates/platforms/androidtv/project/app/src/broadwayhd/res/mipmap-mdpi/ic_launcher.png +0 -0
  57. package/dist/templates/platforms/androidtv/project/app/src/broadwayhd/res/mipmap-xhdpi/ic_launcher.png +0 -0
  58. package/dist/templates/platforms/androidtv/project/app/src/broadwayhd/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  59. package/dist/templates/platforms/androidtv/project/app/src/broadwayhd/res/raw/configuration.json +0 -16
  60. package/dist/templates/platforms/androidtv/project/app/src/cineClick/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  61. package/dist/templates/platforms/androidtv/project/app/src/cineClick/res/raw/configuration.json +0 -6
  62. package/dist/templates/platforms/androidtv/project/app/src/entel/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  63. package/dist/templates/platforms/androidtv/project/app/src/entel/res/raw/configuration.json +0 -6
  64. package/dist/templates/platforms/androidtv/project/app/src/fuboTV/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  65. package/dist/templates/platforms/androidtv/project/app/src/fuboTV/res/raw/configuration.json +0 -6
  66. package/dist/templates/platforms/androidtv/project/app/src/fuse/AndroidManifest.xml +0 -12
  67. package/dist/templates/platforms/androidtv/project/app/src/fuse/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  68. package/dist/templates/platforms/androidtv/project/app/src/fuse/res/drawable/banner.png +0 -0
  69. package/dist/templates/platforms/androidtv/project/app/src/fuse/res/mipmap-hdpi/ic_launcher.png +0 -0
  70. package/dist/templates/platforms/androidtv/project/app/src/fuse/res/mipmap-mdpi/ic_launcher.png +0 -0
  71. package/dist/templates/platforms/androidtv/project/app/src/fuse/res/mipmap-xhdpi/ic_launcher.png +0 -0
  72. package/dist/templates/platforms/androidtv/project/app/src/fuse/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  73. package/dist/templates/platforms/androidtv/project/app/src/fuse/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  74. package/dist/templates/platforms/androidtv/project/app/src/fuse/res/raw/configuration.json +0 -9
  75. package/dist/templates/platforms/androidtv/project/app/src/gsn/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  76. package/dist/templates/platforms/androidtv/project/app/src/gsn/res/drawable/banner.png +0 -0
  77. package/dist/templates/platforms/androidtv/project/app/src/gsn/res/mipmap-hdpi/ic_launcher.png +0 -0
  78. package/dist/templates/platforms/androidtv/project/app/src/gsn/res/mipmap-mdpi/ic_launcher.png +0 -0
  79. package/dist/templates/platforms/androidtv/project/app/src/gsn/res/mipmap-xhdpi/ic_launcher.png +0 -0
  80. package/dist/templates/platforms/androidtv/project/app/src/gsn/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  81. package/dist/templates/platforms/androidtv/project/app/src/gsn/res/raw/configuration.json +0 -8
  82. package/dist/templates/platforms/androidtv/project/app/src/heremedia/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  83. package/dist/templates/platforms/androidtv/project/app/src/heremedia/res/drawable/banner.png +0 -0
  84. package/dist/templates/platforms/androidtv/project/app/src/heremedia/res/mipmap-hdpi/ic_launcher.png +0 -0
  85. package/dist/templates/platforms/androidtv/project/app/src/heremedia/res/mipmap-mdpi/ic_launcher.png +0 -0
  86. package/dist/templates/platforms/androidtv/project/app/src/heremedia/res/mipmap-xhdpi/ic_launcher.png +0 -0
  87. package/dist/templates/platforms/androidtv/project/app/src/heremedia/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  88. package/dist/templates/platforms/androidtv/project/app/src/heremedia/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  89. package/dist/templates/platforms/androidtv/project/app/src/heremedia/res/raw/configuration.json +0 -6
  90. package/dist/templates/platforms/androidtv/project/app/src/hummingbird/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  91. package/dist/templates/platforms/androidtv/project/app/src/hummingbird/res/mipmap-hdpi/ic_launcher.png +0 -0
  92. package/dist/templates/platforms/androidtv/project/app/src/hummingbird/res/mipmap-mdpi/ic_launcher.png +0 -0
  93. package/dist/templates/platforms/androidtv/project/app/src/hummingbird/res/mipmap-xhdpi/ic_launcher.png +0 -0
  94. package/dist/templates/platforms/androidtv/project/app/src/hummingbird/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  95. package/dist/templates/platforms/androidtv/project/app/src/hummingbird/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  96. package/dist/templates/platforms/androidtv/project/app/src/hummingbird/res/raw/configuration.json +0 -6
  97. package/dist/templates/platforms/androidtv/project/app/src/kan/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  98. package/dist/templates/platforms/androidtv/project/app/src/kan/res/drawable/banner.png +0 -0
  99. package/dist/templates/platforms/androidtv/project/app/src/kan/res/mipmap-hdpi/ic_launcher.png +0 -0
  100. package/dist/templates/platforms/androidtv/project/app/src/kan/res/mipmap-mdpi/ic_launcher.png +0 -0
  101. package/dist/templates/platforms/androidtv/project/app/src/kan/res/mipmap-xhdpi/ic_launcher.png +0 -0
  102. package/dist/templates/platforms/androidtv/project/app/src/kan/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  103. package/dist/templates/platforms/androidtv/project/app/src/kan/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  104. package/dist/templates/platforms/androidtv/project/app/src/kan/res/raw/configuration.json +0 -9
  105. package/dist/templates/platforms/androidtv/project/app/src/kijk/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  106. package/dist/templates/platforms/androidtv/project/app/src/kijk/res/drawable/banner.png +0 -0
  107. package/dist/templates/platforms/androidtv/project/app/src/kijk/res/mipmap-hdpi/ic_launcher.png +0 -0
  108. package/dist/templates/platforms/androidtv/project/app/src/kijk/res/mipmap-mdpi/ic_launcher.png +0 -0
  109. package/dist/templates/platforms/androidtv/project/app/src/kijk/res/mipmap-xhdpi/ic_launcher.png +0 -0
  110. package/dist/templates/platforms/androidtv/project/app/src/kijk/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  111. package/dist/templates/platforms/androidtv/project/app/src/kijk/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  112. package/dist/templates/platforms/androidtv/project/app/src/kijk/res/raw/configuration.json +0 -6
  113. package/dist/templates/platforms/androidtv/project/app/src/kpn/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  114. package/dist/templates/platforms/androidtv/project/app/src/kpn/res/drawable/banner.png +0 -0
  115. package/dist/templates/platforms/androidtv/project/app/src/kpn/res/mipmap-hdpi/ic_launcher.png +0 -0
  116. package/dist/templates/platforms/androidtv/project/app/src/kpn/res/mipmap-mdpi/ic_launcher.png +0 -0
  117. package/dist/templates/platforms/androidtv/project/app/src/kpn/res/mipmap-xhdpi/ic_launcher.png +0 -0
  118. package/dist/templates/platforms/androidtv/project/app/src/kpn/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  119. package/dist/templates/platforms/androidtv/project/app/src/kpn/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  120. package/dist/templates/platforms/androidtv/project/app/src/kpn/res/raw/configuration.json +0 -6
  121. package/dist/templates/platforms/androidtv/project/app/src/main/AndroidManifest.xml +0 -53
  122. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/FlavorBase.kt +0 -12
  123. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/bridge/BridgeFromJavaScript.kt +0 -385
  124. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/bridge/BridgeToJavaScript.kt +0 -83
  125. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/BridgeConfig.kt +0 -16
  126. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/ConfigCallback.kt +0 -6
  127. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/ConfigProvider.kt +0 -27
  128. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/Drm.kt +0 -10
  129. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/UserAgent.kt +0 -6
  130. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/BaseApplication.kt +0 -73
  131. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ActivityComponent.kt +0 -13
  132. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ActivityModule.kt +0 -21
  133. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ApplicationComponent.kt +0 -24
  134. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ApplicationModule.kt +0 -43
  135. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/PerActivity.kt +0 -26
  136. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/LocalStorage.kt +0 -30
  137. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/LoggingDrmCallback.kt +0 -38
  138. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/OverriddenHttpMediaDrmCallback.kt +0 -134
  139. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/PlayerFactoryExoPlayerCustomized.kt +0 -84
  140. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/SimpleActivityLifecycleCallback.kt +0 -32
  141. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/SourceDrmOverridden.kt +0 -49
  142. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/jump/JumpAnalytics.kt +0 -211
  143. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/sound/TouchPlayer.kt +0 -86
  144. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/client/BridgeWebView.kt +0 -82
  145. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/client/BridgeWebViewClient.kt +0 -114
  146. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/AnalyticsPlaybackInfo.kt +0 -10
  147. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/ContentModel.kt +0 -14
  148. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/DrmModel.kt +0 -20
  149. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/MediaEventType.kt +0 -20
  150. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/ContentModelParser.kt +0 -16
  151. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/DeviceInfoParser.kt +0 -22
  152. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/PlaybackInfoParser.kt +0 -10
  153. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/TrackJsonModelParser.kt +0 -58
  154. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/Mainview.kt +0 -20
  155. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/PlayerCache.kt +0 -15
  156. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/WebViewActivity.kt +0 -301
  157. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/viewmodel/WebViewModel.kt +0 -571
  158. package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/banner.png +0 -0
  159. package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_background_focus.xml +0 -10
  160. package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_background_normal.xml +0 -7
  161. package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_background_pressed.xml +0 -7
  162. package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_focus.xml +0 -8
  163. package/dist/templates/platforms/androidtv/project/app/src/main/res/layout/activity_web_view.xml +0 -76
  164. package/dist/templates/platforms/androidtv/project/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  165. package/dist/templates/platforms/androidtv/project/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  166. package/dist/templates/platforms/androidtv/project/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  167. package/dist/templates/platforms/androidtv/project/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  168. package/dist/templates/platforms/androidtv/project/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  169. package/dist/templates/platforms/androidtv/project/app/src/main/res/raw/click.ogg +0 -0
  170. package/dist/templates/platforms/androidtv/project/app/src/main/res/raw/fiddle_root_michal_konecny.cer +0 -0
  171. package/dist/templates/platforms/androidtv/project/app/src/main/res/raw/proxy_milanwilczak.pem +0 -26
  172. package/dist/templates/platforms/androidtv/project/app/src/main/res/values/styles.xml +0 -12
  173. package/dist/templates/platforms/androidtv/project/app/src/main/res/xml/network_security_config.xml +0 -12
  174. package/dist/templates/platforms/androidtv/project/app/src/marti/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  175. package/dist/templates/platforms/androidtv/project/app/src/marti/res/drawable/banner.png +0 -0
  176. package/dist/templates/platforms/androidtv/project/app/src/marti/res/mipmap-hdpi/ic_launcher.png +0 -0
  177. package/dist/templates/platforms/androidtv/project/app/src/marti/res/mipmap-mdpi/ic_launcher.png +0 -0
  178. package/dist/templates/platforms/androidtv/project/app/src/marti/res/mipmap-xhdpi/ic_launcher.png +0 -0
  179. package/dist/templates/platforms/androidtv/project/app/src/marti/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  180. package/dist/templates/platforms/androidtv/project/app/src/marti/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  181. package/dist/templates/platforms/androidtv/project/app/src/marti/res/raw/configuration.json +0 -8
  182. package/dist/templates/platforms/androidtv/project/app/src/newsmax/AndroidManifest.xml +0 -43
  183. package/dist/templates/platforms/androidtv/project/app/src/newsmax/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  184. package/dist/templates/platforms/androidtv/project/app/src/newsmax/res/drawable/banner.png +0 -0
  185. package/dist/templates/platforms/androidtv/project/app/src/newsmax/res/mipmap-hdpi/ic_launcher.png +0 -0
  186. package/dist/templates/platforms/androidtv/project/app/src/newsmax/res/mipmap-mdpi/ic_launcher.png +0 -0
  187. package/dist/templates/platforms/androidtv/project/app/src/newsmax/res/mipmap-xhdpi/ic_launcher.png +0 -0
  188. package/dist/templates/platforms/androidtv/project/app/src/newsmax/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  189. package/dist/templates/platforms/androidtv/project/app/src/newsmax/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  190. package/dist/templates/platforms/androidtv/project/app/src/newsmax/res/raw/configuration.json +0 -7
  191. package/dist/templates/platforms/androidtv/project/app/src/portal/java/com/twentyfouri/tvbridge/Flavor.kt +0 -10
  192. package/dist/templates/platforms/androidtv/project/app/src/portal/res/raw/configuration.json +0 -7
  193. package/dist/templates/platforms/androidtv/project/app/src/portalDrm/java/com/twentyfouri/tvbridge/Flavor.kt +0 -10
  194. package/dist/templates/platforms/androidtv/project/app/src/portalDrm/res/drawable/banner.png +0 -0
  195. package/dist/templates/platforms/androidtv/project/app/src/portalDrm/res/raw/configuration.json +0 -6
  196. package/dist/templates/platforms/androidtv/project/app/src/pureflix/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  197. package/dist/templates/platforms/androidtv/project/app/src/pureflix/res/drawable/banner.png +0 -0
  198. package/dist/templates/platforms/androidtv/project/app/src/pureflix/res/mipmap-hdpi/ic_launcher.png +0 -0
  199. package/dist/templates/platforms/androidtv/project/app/src/pureflix/res/mipmap-mdpi/ic_launcher.png +0 -0
  200. package/dist/templates/platforms/androidtv/project/app/src/pureflix/res/mipmap-xhdpi/ic_launcher.png +0 -0
  201. package/dist/templates/platforms/androidtv/project/app/src/pureflix/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  202. package/dist/templates/platforms/androidtv/project/app/src/pureflix/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  203. package/dist/templates/platforms/androidtv/project/app/src/pureflix/res/raw/configuration.json +0 -6
  204. package/dist/templates/platforms/androidtv/project/app/src/rfa/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  205. package/dist/templates/platforms/androidtv/project/app/src/rfa/res/drawable/banner.png +0 -0
  206. package/dist/templates/platforms/androidtv/project/app/src/rfa/res/mipmap-hdpi/ic_launcher.png +0 -0
  207. package/dist/templates/platforms/androidtv/project/app/src/rfa/res/mipmap-mdpi/ic_launcher.png +0 -0
  208. package/dist/templates/platforms/androidtv/project/app/src/rfa/res/mipmap-xhdpi/ic_launcher.png +0 -0
  209. package/dist/templates/platforms/androidtv/project/app/src/rfa/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  210. package/dist/templates/platforms/androidtv/project/app/src/rfa/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  211. package/dist/templates/platforms/androidtv/project/app/src/rfa/res/raw/configuration.json +0 -7
  212. package/dist/templates/platforms/androidtv/project/app/src/rfe/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  213. package/dist/templates/platforms/androidtv/project/app/src/rfe/res/drawable/banner.png +0 -0
  214. package/dist/templates/platforms/androidtv/project/app/src/rfe/res/mipmap-hdpi/ic_launcher.png +0 -0
  215. package/dist/templates/platforms/androidtv/project/app/src/rfe/res/mipmap-mdpi/ic_launcher.png +0 -0
  216. package/dist/templates/platforms/androidtv/project/app/src/rfe/res/mipmap-xhdpi/ic_launcher.png +0 -0
  217. package/dist/templates/platforms/androidtv/project/app/src/rfe/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  218. package/dist/templates/platforms/androidtv/project/app/src/rfe/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  219. package/dist/templates/platforms/androidtv/project/app/src/rfe/res/raw/configuration.json +0 -6
  220. package/dist/templates/platforms/androidtv/project/app/src/rte/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  221. package/dist/templates/platforms/androidtv/project/app/src/rte/res/drawable/banner.png +0 -0
  222. package/dist/templates/platforms/androidtv/project/app/src/rte/res/mipmap-hdpi/ic_launcher.png +0 -0
  223. package/dist/templates/platforms/androidtv/project/app/src/rte/res/mipmap-mdpi/ic_launcher.png +0 -0
  224. package/dist/templates/platforms/androidtv/project/app/src/rte/res/mipmap-xhdpi/ic_launcher.png +0 -0
  225. package/dist/templates/platforms/androidtv/project/app/src/rte/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  226. package/dist/templates/platforms/androidtv/project/app/src/rte/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  227. package/dist/templates/platforms/androidtv/project/app/src/rte/res/raw/configuration.json +0 -9
  228. package/dist/templates/platforms/androidtv/project/app/src/sentai/google-services.json +0 -191
  229. package/dist/templates/platforms/androidtv/project/app/src/sentai/res/mipmap-hdpi/ic_launcher.png +0 -0
  230. package/dist/templates/platforms/androidtv/project/app/src/sentai/res/mipmap-mdpi/ic_launcher.png +0 -0
  231. package/dist/templates/platforms/androidtv/project/app/src/sentai/res/mipmap-xhdpi/ic_launcher.png +0 -0
  232. package/dist/templates/platforms/androidtv/project/app/src/sentai/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  233. package/dist/templates/platforms/androidtv/project/app/src/sentai/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  234. package/dist/templates/platforms/androidtv/project/app/src/sentai/res/raw/configuration.json +0 -15
  235. package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/google-services.json +0 -191
  236. package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/java/com/twentyfouri/tvbridge/Flavor.kt +0 -54
  237. package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/java/com/twentyfouri/tvbridge/SentaiRequestData.kt +0 -13
  238. package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/res/drawable/banner.png +0 -0
  239. package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/res/mipmap-hdpi/ic_launcher.png +0 -0
  240. package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/res/mipmap-mdpi/ic_launcher.png +0 -0
  241. package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/res/mipmap-xhdpi/ic_launcher.png +0 -0
  242. package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  243. package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  244. package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/res/raw/configuration.json +0 -14
  245. package/dist/templates/platforms/androidtv/project/app/src/smartott/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  246. package/dist/templates/platforms/androidtv/project/app/src/smartott/res/mipmap-hdpi/ic_launcher.png +0 -0
  247. package/dist/templates/platforms/androidtv/project/app/src/smartott/res/mipmap-mdpi/ic_launcher.png +0 -0
  248. package/dist/templates/platforms/androidtv/project/app/src/smartott/res/mipmap-xhdpi/ic_launcher.png +0 -0
  249. package/dist/templates/platforms/androidtv/project/app/src/smartott/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  250. package/dist/templates/platforms/androidtv/project/app/src/smartott/res/raw/configuration.json +0 -6
  251. package/dist/templates/platforms/androidtv/project/app/src/tennisChannel/java/com/twentyfouri/tvbridge/Flavor.kt +0 -9
  252. package/dist/templates/platforms/androidtv/project/app/src/tennisChannel/res/mipmap-hdpi/ic_launcher.png +0 -0
  253. package/dist/templates/platforms/androidtv/project/app/src/tennisChannel/res/mipmap-mdpi/ic_launcher.png +0 -0
  254. package/dist/templates/platforms/androidtv/project/app/src/tennisChannel/res/mipmap-xhdpi/ic_launcher.png +0 -0
  255. package/dist/templates/platforms/androidtv/project/app/src/tennisChannel/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  256. package/dist/templates/platforms/androidtv/project/app/src/tennisChannel/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  257. package/dist/templates/platforms/androidtv/project/app/src/tennisChannel/res/raw/configuration.json +0 -6
  258. package/dist/templates/platforms/androidtv/project/app/src/topic/java/com/twentyfouri/tvbridge/Flavor.kt +0 -9
  259. package/dist/templates/platforms/androidtv/project/app/src/topic/res/drawable/banner.png +0 -0
  260. package/dist/templates/platforms/androidtv/project/app/src/topic/res/mipmap-hdpi/ic_launcher.png +0 -0
  261. package/dist/templates/platforms/androidtv/project/app/src/topic/res/mipmap-mdpi/ic_launcher.png +0 -0
  262. package/dist/templates/platforms/androidtv/project/app/src/topic/res/mipmap-xhdpi/ic_launcher.png +0 -0
  263. package/dist/templates/platforms/androidtv/project/app/src/topic/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  264. package/dist/templates/platforms/androidtv/project/app/src/topic/res/raw/configuration.json +0 -9
  265. package/dist/templates/platforms/androidtv/project/app/src/voa/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  266. package/dist/templates/platforms/androidtv/project/app/src/voa/res/drawable/banner.png +0 -0
  267. package/dist/templates/platforms/androidtv/project/app/src/voa/res/mipmap-hdpi/ic_launcher.png +0 -0
  268. package/dist/templates/platforms/androidtv/project/app/src/voa/res/mipmap-mdpi/ic_launcher.png +0 -0
  269. package/dist/templates/platforms/androidtv/project/app/src/voa/res/mipmap-xhdpi/ic_launcher.png +0 -0
  270. package/dist/templates/platforms/androidtv/project/app/src/voa/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  271. package/dist/templates/platforms/androidtv/project/app/src/voa/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  272. package/dist/templates/platforms/androidtv/project/app/src/voa/res/raw/configuration.json +0 -7
  273. package/dist/templates/platforms/androidtv/project/app/src/voa365/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  274. package/dist/templates/platforms/androidtv/project/app/src/voa365/res/drawable/banner.png +0 -0
  275. package/dist/templates/platforms/androidtv/project/app/src/voa365/res/mipmap-hdpi/ic_launcher.png +0 -0
  276. package/dist/templates/platforms/androidtv/project/app/src/voa365/res/mipmap-mdpi/ic_launcher.png +0 -0
  277. package/dist/templates/platforms/androidtv/project/app/src/voa365/res/mipmap-xhdpi/ic_launcher.png +0 -0
  278. package/dist/templates/platforms/androidtv/project/app/src/voa365/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  279. package/dist/templates/platforms/androidtv/project/app/src/voa365/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  280. package/dist/templates/platforms/androidtv/project/app/src/voa365/res/raw/configuration.json +0 -7
  281. package/dist/templates/platforms/androidtv/project/app/src/youFone/java/com/twentyfouri/tvbridge/Flavor.kt +0 -5
  282. package/dist/templates/platforms/androidtv/project/app/src/youFone/res/raw/configuration.json +0 -6
  283. package/dist/templates/platforms/androidtv/project/build.gradle +0 -48
  284. package/dist/templates/platforms/androidtv/project/common/build.gradle +0 -36
  285. package/dist/templates/platforms/androidtv/project/common/consumer-rules.pro +0 -0
  286. package/dist/templates/platforms/androidtv/project/common/proguard-rules.pro +0 -21
  287. package/dist/templates/platforms/androidtv/project/common/src/main/AndroidManifest.xml +0 -4
  288. package/dist/templates/platforms/androidtv/project/common/src/main/java/com/twentyfouri/tvbridge/common/IapService.kt +0 -114
  289. package/dist/templates/platforms/androidtv/project/googleiap/build.gradle +0 -38
  290. package/dist/templates/platforms/androidtv/project/googleiap/consumer-rules.pro +0 -0
  291. package/dist/templates/platforms/androidtv/project/googleiap/proguard-rules.pro +0 -21
  292. package/dist/templates/platforms/androidtv/project/googleiap/src/main/AndroidManifest.xml +0 -6
  293. package/dist/templates/platforms/androidtv/project/googleiap/src/main/java/com/twentyfouri/tvbridge/googleiap/GoogleIapService.kt +0 -29
  294. package/dist/templates/platforms/androidtv/project/gradle/wrapper/gradle-wrapper.jar +0 -0
  295. package/dist/templates/platforms/androidtv/project/gradle/wrapper/gradle-wrapper.properties +0 -6
  296. package/dist/templates/platforms/androidtv/project/gradle.properties +0 -4
  297. package/dist/templates/platforms/androidtv/project/gradlew +0 -185
  298. package/dist/templates/platforms/androidtv/project/gradlew.bat +0 -104
  299. package/dist/templates/platforms/androidtv/project/keystore/debug_madrid.jks +0 -0
  300. package/dist/templates/platforms/androidtv/project/keystore/kan11_applicaster.keystore +0 -0
  301. package/dist/templates/platforms/androidtv/project/proguard-rules.pro +0 -42
  302. package/dist/templates/platforms/androidtv/project/settings.gradle +0 -4
@@ -1,9 +0,0 @@
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
- }
@@ -1,5 +0,0 @@
1
- package com.twentyfouri.tvbridge
2
-
3
- class Flavor: FlavorBase() {
4
-
5
- }
@@ -1,6 +0,0 @@
1
- {
2
- "baseUrl": "http://smarttv.kijk.nl/",
3
- "drm": {
4
- "overrideDrmCallback": false
5
- }
6
- }
@@ -1,5 +0,0 @@
1
- package com.twentyfouri.tvbridge
2
-
3
- class Flavor: FlavorBase() {
4
-
5
- }
@@ -1,6 +0,0 @@
1
- {
2
- "baseUrl": "https://kpn-test.24imedia.tv",
3
- "drm": {
4
- "overrideDrmCallback": true
5
- }
6
- }
@@ -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
- }
@@ -1,385 +0,0 @@
1
- package com.twentyfouri.tvbridge.bridge
2
-
3
- import android.media.AudioManager
4
- import android.os.Handler
5
- import android.os.Looper
6
- import android.util.Log
7
- import android.webkit.JavascriptInterface
8
- import com.google.gson.JsonObject
9
- import com.twentyfouri.player.base.TextTrack
10
- import com.twentyfouri.player.base.TrackKind
11
- import com.twentyfouri.tvbridge.webview.parser.ContentModelParser.stringToJson
12
- import com.twentyfouri.tvbridge.webview.parser.DeviceInfoParser.deviceInfoParsed
13
- import com.twentyfouri.tvbridge.webview.parser.PlaybackInfoParser.parse
14
- import com.twentyfouri.tvbridge.webview.parser.TrackJsonModelParser.audioFromJson
15
- import com.twentyfouri.tvbridge.webview.parser.TrackJsonModelParser.textFromJson
16
- import com.twentyfouri.tvbridge.webview.parser.TrackJsonModelParser.toJson
17
- import com.twentyfouri.tvbridge.webview.viewmodel.WebViewModel
18
- import java.text.SimpleDateFormat
19
- import java.util.*
20
- import java.util.concurrent.CountDownLatch
21
- import java.util.concurrent.TimeUnit
22
- import kotlin.math.roundToInt
23
-
24
- @SuppressWarnings("unused")
25
- class BridgeFromJavaScript(
26
- private val viewModel: WebViewModel
27
- ) {
28
- private val handler = Handler(Looper.getMainLooper())
29
-
30
- private fun launch(block: () -> Unit) {
31
- handler.post(block)
32
- }
33
-
34
- private fun <T> runBlocking(logName: String? = null, block: () -> T): T? {
35
- val latch = CountDownLatch(1)
36
- var result: T? = null
37
- handler.post {
38
- result = block()
39
- latch.countDown()
40
- }
41
- try {
42
- latch.await(100L, TimeUnit.MILLISECONDS)
43
- Log.v(LOG_TAG, "$logName $result")
44
- } catch (e: InterruptedException) {
45
- result = null
46
- Log.v(LOG_TAG, "$logName TIMEOUT")
47
- }
48
- return result
49
- }
50
-
51
- /*
52
- Bridge Android 2 JS to send messages
53
- */
54
- @JavascriptInterface
55
- fun bridgeJavaScriptToAndroid_Message(messageString: String) = launch {
56
- Log.d(LOG_TAG, "bridgeJavaScriptToAndroid_Message - messageString: $messageString")
57
- viewModel.showMessage(messageString)
58
- }
59
-
60
- /*
61
- Bridge Js 2 Android to set the video to the player
62
- */
63
- @JavascriptInterface
64
- fun bridgeJavaScriptToAndroid_SetVideoPath(jsonString: String) = launch {
65
- bridgeJavaScriptToAndroid_SetVideoPath(jsonString, null)
66
- }
67
-
68
- @JavascriptInterface
69
- fun bridgeJavaScriptToAndroid_SetVideoPath(jsonString: String, mimeType: String?) = launch {
70
- Log.d(LOG_TAG, "bridgeJavaScriptToAndroid_SetVideoPath = $jsonString")
71
- try {
72
- viewModel.stopPlayer()
73
- val contentModel = stringToJson(jsonString)
74
- contentModel?.streamType = mimeType?.let {
75
- when {
76
- mimeType.contains("application/dash+xml") -> "mpd"
77
- mimeType.contains("application/vnd.apple.mpegurl") -> "m3u8"
78
- mimeType.contains("video/mp4") -> "mp4"
79
- mimeType.contains("application/vnd.ms-sstr+xml") -> "ism"
80
- mimeType.contains("audio/mpeg") -> "mp3"
81
- else -> null
82
- }
83
- }
84
- if (contentModel?.streamUrl != null) {
85
- viewModel.setVideo(contentModel)
86
- }
87
- } catch (e: Exception) {
88
- Log.v(LOG_TAG, "bridgeJavaScriptToAndroid_SetVideoPathError - ${e.message}")
89
- }
90
- }
91
-
92
- /*
93
- Bridge Js 2 Android to pause video object
94
- */
95
- @JavascriptInterface
96
- fun bridgeJavaScriptToAndroid_PlayVideo() = launch {
97
- Log.d(LOG_TAG, "bridgeJavaScriptToAndroid_PlayVideo")
98
- viewModel.requestAudioFocus()
99
- viewModel.startPlayer()
100
- }
101
-
102
- /*
103
- Bridge Js 2 Android to pause video object
104
- */
105
- @JavascriptInterface
106
- fun bridgeJavaScriptToAndroid_PauseVideo() = launch {
107
- Log.d(LOG_TAG, "bridgeJavaScriptToAndroid_PauseVideo")
108
- viewModel.pausePlayer()
109
- }
110
-
111
-
112
- @JavascriptInterface /*
113
- Bridge JS 2 Android to stop and reset the player
114
- */
115
- fun bridgeJavaScriptToAndroid_StopVideo() = launch {
116
- Log.d(LOG_TAG, "bridgeJavaScriptToAndroid_StopVideo")
117
- viewModel.abandonAudioFocus()
118
- viewModel.stopPlayer()
119
- }
120
-
121
- /*
122
- Request the audio focus to discard background audio from other apps
123
- */
124
- @JavascriptInterface
125
- fun bridgeJavaScriptToAndroid_RequestAudioFocus(): Int = runBlocking("bridgeJavaScriptToAndroid_RequestAudioFocus") {
126
- viewModel.requestAudioFocus()
127
- } ?: AudioManager.AUDIOFOCUS_REQUEST_FAILED
128
-
129
- /*
130
- Request the audio focus to discard background audio from other apps
131
- */
132
- @JavascriptInterface
133
- fun bridgeJavaScriptToAndroid_AbandonAudioFocus() = launch {
134
- viewModel.abandonAudioFocus()
135
- }
136
-
137
- /*
138
- Bridge JS 2 Android to get the current time
139
- */
140
- @JavascriptInterface
141
- fun bridgeJavaScriptToAndroid_GetCurrentTime(): Int = runBlocking("bridgeJavaScriptToAndroid_GetCurrentTime") {
142
- viewModel.currentPosition.roundToInt() / 1000
143
- } ?: 0
144
-
145
- /*
146
- Bridge JS 2 Android to get the current time
147
- */
148
- @JavascriptInterface
149
- fun bridgeJavaScriptToAndroid_GetCurrentTimeFloat(): Float = runBlocking("bridgeJavaScriptToAndroid_GetCurrentTimeFloat") {
150
- viewModel.currentPosition.toFloat() / 1000
151
- } ?: 0f
152
-
153
- /*
154
- Bridge JS 2 Android to get the current time
155
- Deprecated - use bridgeJavaScriptToAndroid_SetTrack("false") instead to disable
156
- */
157
- @JavascriptInterface
158
- @Deprecated("")
159
- fun bridgeJavaScriptToAndroid_setNativeSubtitlesEnabled(subtitlesEnabled: Boolean) = launch {
160
- Log.d(LOG_TAG, "bridgeJavaScriptToAndroid_setNativeSubtitlesEnabled($subtitlesEnabled)")
161
- viewModel.setSubtitlesVisibility(subtitlesEnabled)
162
- }
163
-
164
- /*
165
- Bridge JS 2 Android to get the total time
166
- */
167
- @JavascriptInterface
168
- fun bridgeJavaScriptToAndroid_GetTotalTime(): Int = runBlocking("bridgeJavaScriptToAndroid_GetTotalTime") {
169
- viewModel.duration.roundToInt() / 1000
170
- } ?: 0
171
-
172
- /*
173
- Bridge JS 2 Android to seek to the time in seconds
174
- @param seconds time to seek in seconds
175
- */
176
- @JavascriptInterface
177
- fun bridgeJavaScriptToAndroid_SeekTo(seconds: Int) = launch {
178
- Log.d(LOG_TAG, "bridgeJavaScriptToAndroid_SeekTo($seconds)")
179
- viewModel.seekToPosition(1000 * seconds.toDouble())
180
- }
181
-
182
- /*
183
- Bridge JS 2 Android to get if the player is playing
184
- */
185
- @JavascriptInterface
186
- fun bridgeJavaScriptToAndroid_IsPlaying(): Boolean = runBlocking("bridgeJavaScriptToAndroid_IsPlaying") {
187
- viewModel.isPlayerPlaying
188
- } ?: false
189
-
190
- /*
191
- Bridge JS 2 Android to get if the player is presented to user
192
- */
193
- @JavascriptInterface
194
- fun bridgeJavaScriptToAndroid_IsInPlayer(): Boolean = runBlocking("bridgeJavaScriptToAndroid_IsInPlayer") {
195
- viewModel.isInPlayer
196
- } ?: false
197
-
198
-
199
- /*
200
- Bridge JS 2 Android to put the video in fullscreen mode
201
- */
202
- @JavascriptInterface
203
- fun bridgeJavaScriptToAndroid_FullScreenVideo() = launch {
204
- Log.d(LOG_TAG, "bridgeJavaScriptToAndroid_FullScreenVideo")
205
- viewModel.requestAudioFocus()
206
- viewModel.enableFullScreen()
207
- }
208
-
209
-
210
- /*
211
- Bridge JS 2 Android to set the video layout measures
212
- @param width size in px
213
- * @param height size in px
214
- * @param left position in px
215
- * @param top position in px
216
- */
217
- @JavascriptInterface
218
- fun bridgeJavaScriptToAndroid_SetVideoLayout(width: Int, height: Int, left: Int, top: Int) = launch {
219
- Log.d(LOG_TAG, "bridgeJavaScriptToAndroid_PartialScreenVideo $width $height $left $top")
220
- viewModel.disableFullScreen(width, height, left, top)
221
- }
222
-
223
-
224
- /*
225
- Bridge JS 2 Android to go back and reset the view
226
- */
227
- @JavascriptInterface
228
- fun bridgeJavaScriptToAndroid_Back() = launch {
229
- Log.d(LOG_TAG, "bridgeJavaScriptToAndroid_Back")
230
- viewModel.onBackPressed()
231
- }
232
-
233
- /*
234
- Set the new SUBTITLE track to the player
235
- */
236
- @JavascriptInterface
237
- fun bridgeJavaScriptToAndroid_SetTrack(trackJson: String) = launch {
238
- if (trackJson == "") {
239
- Log.d(LOG_TAG, "bridgeJavaScriptToAndroid_SetTrack empty => DEFAULT")
240
- viewModel.setSubtitleTrack(null)
241
- } else if (trackJson == "false") {
242
- Log.d(LOG_TAG, "bridgeJavaScriptToAndroid_SetTrack false => DISABLED")
243
- viewModel.setSubtitleTrack(TextTrack {
244
- id = "text_off"
245
- kind = TrackKind.EMPTY
246
- })
247
- } else {
248
- Log.d(LOG_TAG, "bridgeJavaScriptToAndroid_SetTrack $trackJson")
249
- viewModel.setSubtitleTrack(textFromJson(trackJson))
250
- }
251
- }
252
-
253
- /*
254
- Set the new AUDIO track to the player
255
- */
256
- @JavascriptInterface
257
- fun bridgeJavaScriptToAndroid_SetAudioTrack(trackJson: String?) = launch {
258
- Log.d(LOG_TAG, "bridgeJavaScriptToAndroid_SetAudioTrack ${trackJson ?: "(none)"}")
259
- viewModel.setAudioTrack(audioFromJson(trackJson))
260
- }
261
-
262
- /*
263
- Returns current AUDIO track to the player
264
- */
265
- @JavascriptInterface
266
- fun bridgeJavaScriptToAndroid_getCurrentAudioTrack(): String? = runBlocking("bridgeJavaScriptToAndroid_getCurrentAudioTrack") {
267
- viewModel.audioTrack?.let { toJson(it) } ?: DISABLED_AUDIO_TRACK
268
- }
269
-
270
- /*
271
- Returns current AUDIO track to the player
272
- */
273
- @JavascriptInterface
274
- fun bridgeJavaScriptToAndroid_getCurrentSubtitleTrack(): String? = runBlocking("bridgeJavaScriptToAndroid_getCurrentSubtitleTrack") {
275
- viewModel.subtitleTrack?.let { toJson(it) } ?: DISABLED_SUBTITLE_TRACK
276
- }
277
-
278
- /*
279
- Set the cookies to localstorage
280
- */
281
- @JavascriptInterface
282
- fun bridgeJavaScriptToAndroid_SaveToLocalStorage(key: String?, value: String?) = launch {
283
- Log.d(LOG_TAG, "bridgeJavaScriptToAndroid_SaveToLocalStorage")
284
- viewModel.saveToLocalStorage(key, value)
285
- }
286
-
287
- /*
288
- clears the cookies from localstorage
289
- */
290
- @JavascriptInterface
291
- fun bridgeJavaScriptToAndroid_RemoveFromLocalStorage(key: String?) = launch {
292
- Log.d(LOG_TAG, "bridgeJavaScriptToAndroid_RemoveFromLocalStorage")
293
- viewModel.removeFromLocalStorage(key)
294
- }
295
-
296
- /*
297
- Gets the cookies
298
- */
299
- @JavascriptInterface
300
- fun bridgeJavaScriptToAndroid_GetFromLocalStorage(key: String?): String? = runBlocking("bridgeJavaScriptToAndroid_GetFromLocalStorage") {
301
- Log.d(LOG_TAG, "bridgeJavaScriptToAndroid_GetFromLocalStorage")
302
- viewModel.getFromLocalStorage(key)
303
- }
304
-
305
- /***
306
- * Bridget JS 2 Android to get the device information
307
- */
308
- @JavascriptInterface
309
- fun bridgeJavaScriptToAndroid_GetDeviceInfo(): String? {
310
- return deviceInfoParsed
311
- }
312
-
313
- @JavascriptInterface
314
- fun bridgeJavaScriptToAndroid_SetPlaybackInfo(playbackInfo: String) = launch {
315
- Log.d(LOG_TAG, "bridgeJavaScriptToAndroid_SetPlaybackInfo($playbackInfo)")
316
- viewModel.setPlaybackInfo(parse(playbackInfo))
317
- }
318
-
319
- @JavascriptInterface
320
- fun bridgeJavaScriptToAndroid_SignData(dataJson: String?): String? {
321
- // Log.v(LOG_TAG, "bridgeJavaScriptToAndroid_SignData dataJson = " + dataJson);
322
- return viewModel.signData(dataJson)
323
- }
324
-
325
- @JavascriptInterface
326
- fun bridgeJavaScriptToAndroid_GetCurrentDateTime(): String? {
327
- return SimpleDateFormat().toLocalizedPattern()
328
- }
329
-
330
- @JavascriptInterface
331
- fun bridgeReceiptAmazonIAPValidation(sku: String?) {
332
- bridgeReceiptIAPValidation(sku)
333
- }
334
-
335
- @JavascriptInterface
336
- fun bridgeReceiptIAPValidation(sku: String?) = launch {
337
- Log.d(LOG_TAG, "bridgeReceiptIAPValidation")
338
- viewModel.launchIapPurchase(sku)
339
- }
340
-
341
- /***
342
- * Bridget JS 2 Android to check skus detail
343
- *
344
- * @param skus SKUS
345
- */
346
- @JavascriptInterface
347
- fun bridgeJavaScriptToAndroid_getInAppProductDetail(skus: Array<String>) {
348
- Log.d(LOG_TAG, "bridgeJavaScriptToAndroid_getProductDetail SKU: " + Arrays.toString(skus))
349
- viewModel.getIapProductDetails(skus.toList())
350
- }
351
-
352
- /***
353
- * Bridget JS 2 Android to validate a receipt
354
- */
355
- @JavascriptInterface
356
- fun bridgeReceiptAmazonIAPValidated(receiptId: String?) {
357
- bridgeReceiptIAPValidated(receiptId)
358
- }
359
-
360
- @JavascriptInterface
361
- fun bridgeReceiptIAPValidated(receiptId: String?) {
362
- Log.d(LOG_TAG, "bridgeReceiptIAPValidated receiptId=$receiptId")
363
- viewModel.acknowledgeIapReceipt(receiptId ?: "")
364
- }
365
-
366
- /***
367
- * Bridget JS 2 Android to get the old IAP receipts
368
- */
369
- @JavascriptInterface
370
- fun bridgeGetHistoricPurchases(): String? {
371
- // I think this is not needed, but might come back in future
372
- // return AmazonIAPListener.getInstance().getIAPManager().getHistoricPurchases().toString();
373
- return ""
374
- }
375
-
376
- companion object {
377
- const val LOG_TAG = "JavaScriptBridge"
378
- val DISABLED_AUDIO_TRACK = JsonObject().apply {
379
- addProperty("type", "audio")
380
- }.toString()
381
- val DISABLED_SUBTITLE_TRACK = JsonObject().apply {
382
- addProperty("type", "subtitles")
383
- }.toString()
384
- }
385
- }
@@ -1,83 +0,0 @@
1
- package com.twentyfouri.tvbridge.bridge
2
-
3
- import android.util.Log
4
- import com.twentyfouri.player.base.AudioTrack
5
- import com.twentyfouri.player.base.TextTrack
6
- import com.twentyfouri.tvbridge.bridge.BridgeFromJavaScript.Companion.LOG_TAG
7
- import com.twentyfouri.tvbridge.configuration.BridgeConfig
8
- import com.twentyfouri.tvbridge.webview.parser.TrackJsonModelParser.toJson
9
-
10
- class BridgeToJavaScript(
11
- config: BridgeConfig,
12
- private val executeJavaScript: (String) -> Unit
13
- ) {
14
- private val keyEventPrefix: String = config.keyEventPrefix
15
- private val mediaEventPrefix: String = config.mediaEventPrefix
16
- private val iapEventPrefix: String = config.iapEventPrefix
17
-
18
- /**
19
- * Android 2 JavaScript keyevent Event. Dispatch key custom event to the page document element
20
- *
21
- * @param keyCode the keycode which is being sent from the Android code.
22
- * @param keyEvent the keyevent which is being sent from the Android code.
23
- */
24
- fun bridgeAndroidToJavaScript_KeyEvent(keyCode: Int, keyEvent: String) {
25
- Log.d(LOG_TAG, "bridgeAndroidToJavaScript_KeyEvent keyCode = $keyCode, keyEvent = $keyEvent")
26
- executeJavaScript("javascript:((function dispatchEvent(){var evt = document.createEvent('Events');evt.initEvent('$keyEventPrefix$keyEvent',true,true);evt.keyCode=$keyCode;evt.which=$keyCode;(document.activeElement?document.activeElement:document).dispatchEvent(evt);})())")
27
- }
28
-
29
- /**
30
- * Android 2 JavaScript media Event. Dispatch key custom event to the page document element
31
- *
32
- * @param mediaEvent the mediaEvent which is being sent from the Android code.
33
- */
34
- fun bridgeAndroidToJavaScript_MediaEvent(mediaEvent: String) {
35
- Log.d(LOG_TAG, "bridgeAndroidToJavaScript_MediaEvent $mediaEventPrefix$mediaEvent")
36
- executeJavaScript("javascript:((function dispatchEvent(){var evt = document.createEvent('Events');evt.initEvent('$mediaEventPrefix$mediaEvent',true,true);document.dispatchEvent(evt);})())")
37
- }
38
-
39
- /**
40
- * Android 2 JavaScript media Event. Dispatch key custom event to the page document element
41
- *
42
- * @param mediaEvent the mediaEvent
43
- * @param tracks tracks from the players stream.
44
- */
45
- fun bridgeAndroidToJavaScript_MediaTrackEvent(
46
- mediaEvent: String,
47
- audioTracks: List<AudioTrack>,
48
- textTracks: List<TextTrack>
49
- ) {
50
- val tracksJson = toJson(audioTracks, textTracks)
51
- Log.d(LOG_TAG, tracksJson)
52
- val mediaEventString = "javascript:((function dispatchEvent(){var evt = document.createEvent('Events');evt.initEvent('$mediaEventPrefix$mediaEvent',true,true);evt.tracks='$tracksJson';document.dispatchEvent(evt);})())"
53
- Log.v(LOG_TAG, mediaEventString)
54
- executeJavaScript(mediaEventString)
55
- }
56
-
57
- fun bridgeAndroidToJavaScript_IAPValidationError(message: String) {
58
- Log.d(LOG_TAG, "bridgeAndroidToJavaScript_IAPValidationError")
59
- executeJavaScript("javascript:((function dispatchEvent(){var evt = document.createEvent('Events');evt.initEvent('${iapEventPrefix}iapError',true,true);evt.message='$message';document.dispatchEvent(evt);})())")
60
- }
61
-
62
- fun bridgeAndroidToJavaScript_IAPValidationSuccess(
63
- userId: String,
64
- receiptId: String,
65
- sku: String
66
- ) {
67
- Log.d(
68
- LOG_TAG,
69
- "bridgeAndroidToJavaScript_IAPValidationSuccess sku=$sku receiptId=$receiptId"
70
- )
71
- executeJavaScript("javascript:((function dispatchEvent(){var evt = document.createEvent('Events');evt.initEvent('${iapEventPrefix}iapSuccess',true,true);evt.userId='$userId';evt.receiptId='$receiptId';evt.sku='$sku';document.dispatchEvent(evt);})())")
72
- }
73
-
74
- fun bridgeIAPGetProductDataSuccess(okSkus: String, badSkus: String) {
75
- Log.d(LOG_TAG, "bridgeIAPGetProductDataSuccess ok=$okSkus bad=$badSkus")
76
- executeJavaScript("javascript:((function dispatchEvent(){var evt = document.createEvent('Events');evt.initEvent('${iapEventPrefix}onInAppProductDetailSuccess',true,true);evt.okSkus=$okSkus;evt.badSkus=$badSkus;document.dispatchEvent(evt);})())")
77
- }
78
-
79
- fun bridgeIAPGetProductDataFail(reason: String) {
80
- Log.d(LOG_TAG, "bridgeIAPGetProductDataFail")
81
- executeJavaScript("javascript:((function dispatchEvent(){var evt = document.createEvent('Events');evt.initEvent('${iapEventPrefix}onInAppProductDetailError',true,true);evt.message='$reason';document.dispatchEvent(evt);})())")
82
- }
83
- }
@@ -1,16 +0,0 @@
1
- package com.twentyfouri.tvbridge.configuration
2
-
3
- import com.twentyfouri.tvbridge.BuildConfig
4
-
5
- class BridgeConfig {
6
- var baseUrl: String = "http://portal.24imedia.tv/"
7
- var userAgent: UserAgent = UserAgent()
8
- var drm: Drm = Drm()
9
- var isEnabledTouchSound: Boolean = false
10
- var playerAppName: String? = null
11
- var keyEventPrefix: String = ""
12
- var mediaEventPrefix: String = ""
13
- var iapEventPrefix: String = ""
14
- var customizableUrl: Boolean = BuildConfig.DEBUG
15
- var startWithHighVideoQuality: Boolean = false
16
- }
@@ -1,6 +0,0 @@
1
- package com.twentyfouri.tvbridge.configuration
2
-
3
- interface ConfigCallback {
4
- fun onConfigLoaded(config: BridgeConfig?)
5
- fun onConfigError(error: String?)
6
- }
@@ -1,27 +0,0 @@
1
- package com.twentyfouri.tvbridge.configuration
2
-
3
- import android.content.Context
4
- import com.google.gson.Gson
5
- import java.io.InputStreamReader
6
-
7
- object ConfigProvider {
8
- fun load(context: Context, callback: ConfigCallback) {
9
- val resId = context.resources.getIdentifier("configuration", "raw", context.packageName)
10
- if (resId == 0) {
11
- callback.onConfigError("Configuration is missing @raw/configuration")
12
- return
13
- }
14
- try {
15
- val inputStream = context.resources.openRawResource(resId)
16
- try {
17
- val config = Gson().fromJson(InputStreamReader(inputStream), BridgeConfig::class.java)
18
- callback.onConfigLoaded(config)
19
- } finally {
20
- inputStream.close()
21
- }
22
- } catch (e: Exception) {
23
- e.printStackTrace()
24
- callback.onConfigError("Failed to read the input stream")
25
- }
26
- }
27
- }
@@ -1,10 +0,0 @@
1
- package com.twentyfouri.tvbridge.configuration
2
-
3
- class Drm {
4
- private var overrideDrmCallback = false
5
-
6
- var isMultiSessionEnabled = false
7
-
8
- fun shouldOverrideDrmCallback(): Boolean =
9
- overrideDrmCallback
10
- }