@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,6 +0,0 @@
1
- package com.twentyfouri.tvbridge.configuration
2
-
3
- class UserAgent {
4
- var isUseFixedUserAgent = false
5
- var value: String? = null
6
- }
@@ -1,73 +0,0 @@
1
- package com.twentyfouri.tvbridge.global
2
-
3
- import android.app.Activity
4
- import android.app.Application
5
- import android.os.Bundle
6
- import android.util.Log
7
- import android.view.View
8
- import com.twentyfouri.tvbridge.configuration.BridgeConfig
9
- import com.twentyfouri.tvbridge.configuration.ConfigCallback
10
- import com.twentyfouri.tvbridge.configuration.ConfigProvider.load
11
- import com.twentyfouri.tvbridge.global.di.ApplicationComponent
12
- import com.twentyfouri.tvbridge.global.di.ApplicationModule
13
- import com.twentyfouri.tvbridge.global.di.DaggerApplicationComponent
14
- import com.twentyfouri.tvbridge.global.utils.SimpleActivityLifecycleCallback
15
-
16
- /**
17
- * Created by David on 30/12/15.
18
- */
19
- class BaseApplication : Application() {
20
-
21
- private var bridgeConfig: BridgeConfig = BridgeConfig()
22
-
23
- var component: ApplicationComponent? = null
24
- get() {
25
- if (field == null) {
26
- field = DaggerApplicationComponent.builder()
27
- .applicationModule(ApplicationModule(this, bridgeConfig))
28
- .build()
29
- }
30
- return field
31
- }
32
- private set
33
-
34
-
35
- override fun onCreate() {
36
- super.onCreate()
37
-
38
- // No projects have google_services.json, so we cannot actually enable Crashlytics
39
- // FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
40
- registerActivityLifecycleCallbacks(object : SimpleActivityLifecycleCallback() {
41
- override fun onActivityCreated(activity: Activity, bundle: Bundle?) {
42
- val decorView = activity.window.decorView
43
- // Hide the status bar.
44
- decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_FULLSCREEN
45
- // Remember that you should never show the action bar if the
46
- // status bar is hidden, so hide that too if necessary.
47
- hideSystemUI(decorView)
48
- activity.actionBar?.hide()
49
- }
50
- })
51
- load(this, object : ConfigCallback {
52
- override fun onConfigLoaded(config: BridgeConfig?) {
53
- bridgeConfig = config ?: BridgeConfig()
54
- }
55
-
56
- override fun onConfigError(error: String?) {
57
- Log.e("BaseApplication", error ?: return)
58
- }
59
- })
60
- }
61
-
62
- private fun hideSystemUI(decorView: View) {
63
- // Set the IMMERSIVE flag.
64
- // Set the content to appear under the system bars so that the content
65
- // doesn't resize when the system bars hide and show.
66
- decorView.systemUiVisibility = (View.SYSTEM_UI_FLAG_LAYOUT_STABLE
67
- or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
68
- or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
69
- or View.SYSTEM_UI_FLAG_HIDE_NAVIGATION // hide nav bar
70
- or View.SYSTEM_UI_FLAG_FULLSCREEN // hide status bar
71
- or View.SYSTEM_UI_FLAG_IMMERSIVE)
72
- }
73
- }
@@ -1,13 +0,0 @@
1
- package com.twentyfouri.tvbridge.global.di
2
-
3
- import android.app.Activity
4
- import com.twentyfouri.tvbridge.webview.viewmodel.WebViewModel
5
- import dagger.Component
6
- import javax.inject.Provider
7
-
8
- @PerActivity
9
- @Component(dependencies = [ApplicationComponent::class], modules = [ActivityModule::class])
10
- interface ActivityComponent : ApplicationComponent {
11
- val activity: Activity
12
- val viewModelFactory: Provider<WebViewModel>
13
- }
@@ -1,21 +0,0 @@
1
- package com.twentyfouri.tvbridge.global.di
2
-
3
- import android.app.Activity
4
- import com.twentyfouri.player.base.PlayerFactoryBase
5
- import com.twentyfouri.tvbridge.configuration.BridgeConfig
6
- import com.twentyfouri.tvbridge.global.utils.PlayerFactoryExoPlayerCustomized
7
- import dagger.Module
8
- import dagger.Provides
9
-
10
- @Module
11
- class ActivityModule(
12
- private val activity: Activity
13
- ) {
14
- @Provides
15
- fun provideActivity() =
16
- activity
17
-
18
- @Provides
19
- fun providePlayerFactory(config: BridgeConfig): PlayerFactoryBase =
20
- PlayerFactoryExoPlayerCustomized(config)
21
- }
@@ -1,24 +0,0 @@
1
- package com.twentyfouri.tvbridge.global.di
2
-
3
- import android.content.Context
4
- import com.twentyfouri.tvbridge.common.IapService
5
- import com.twentyfouri.tvbridge.configuration.BridgeConfig
6
- import com.twentyfouri.tvbridge.global.BaseApplication
7
- import com.twentyfouri.tvbridge.global.utils.LocalStorage
8
- import com.twentyfouri.tvbridge.sound.TouchPlayer
9
- import com.twentyfouri.tvbridge.webview.viewmodel.WebViewModel
10
- import dagger.Component
11
- import dagger.internal.Factory
12
- import javax.inject.Provider
13
- import javax.inject.Singleton
14
-
15
- @Singleton
16
- @Component(modules = [ApplicationModule::class])
17
- interface ApplicationComponent {
18
- val application: BaseApplication
19
- val localStorage: LocalStorage
20
- val configuration: BridgeConfig
21
- val applicationContext: Context
22
- val touchPlayer: TouchPlayer
23
- val iapService: IapService
24
- }
@@ -1,43 +0,0 @@
1
- package com.twentyfouri.tvbridge.global.di
2
-
3
- import android.content.Context
4
- import com.twentyfouri.tvbridge.Flavor
5
- import com.twentyfouri.tvbridge.common.NullIapService
6
- import com.twentyfouri.tvbridge.configuration.BridgeConfig
7
- import com.twentyfouri.tvbridge.global.BaseApplication
8
- import com.twentyfouri.tvbridge.global.utils.LocalStorage
9
- import com.twentyfouri.tvbridge.sound.TouchPlayer
10
- import dagger.Module
11
- import dagger.Provides
12
- import javax.inject.Singleton
13
-
14
- @Module
15
- class ApplicationModule(
16
- private val baseApplication: BaseApplication,
17
- private val configuration: BridgeConfig
18
- ) {
19
- @Provides
20
- fun getApplication() = baseApplication
21
-
22
- @Provides
23
- fun getConfiguration() = configuration
24
-
25
- @Provides
26
- fun provideApplicationContext(): Context = baseApplication
27
-
28
- @Singleton
29
- @Provides
30
- fun provideLocalStorage() = LocalStorage(baseApplication.applicationContext)
31
-
32
- @Singleton
33
- @Provides
34
- fun provideTouchPlayer() = TouchPlayer(baseApplication)
35
-
36
- @Singleton
37
- @Provides
38
- fun provideIapService() = Flavor()
39
- .getIapServiceFactories()
40
- .firstOrNull { it.detectSupport(baseApplication) }
41
- ?.build(baseApplication)
42
- ?: NullIapService()
43
- }
@@ -1,26 +0,0 @@
1
- package com.twentyfouri.tvbridge.global.di
2
-
3
- import javax.inject.Scope
4
-
5
- /*
6
- * Copyright (C) 2013 Square, Inc.
7
- *
8
- * Licensed under the Apache License, Version 2.0 (the "License");
9
- * you may not use this file except in compliance with the License.
10
- * You may obtain a copy of the License at
11
- *
12
- * http://www.apache.org/licenses/LICENSE-2.0
13
- *
14
- * Unless required by applicable law or agreed to in writing, software
15
- * distributed under the License is distributed on an "AS IS" BASIS,
16
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
- * See the License for the specific language governing permissions and
18
- * limitations under the License.
19
- */ /**
20
- * A scoping annotation to permit objects whose lifetime should
21
- * conform to the life of the activity to be memoized in the
22
- * correct component.
23
- */
24
- @Scope
25
- @kotlin.annotation.Retention(AnnotationRetention.RUNTIME)
26
- annotation class PerActivity
@@ -1,30 +0,0 @@
1
- package com.twentyfouri.tvbridge.global.utils
2
-
3
- import android.content.Context
4
- import android.content.SharedPreferences
5
-
6
- class LocalStorage(context: Context) {
7
-
8
- private val preferences: SharedPreferences =
9
- context.applicationContext.getSharedPreferences(SHARED_PREFERENCES, Context.MODE_PRIVATE)
10
-
11
- fun saveCookieJson(key: String?, value: String?) {
12
- val editor = preferences.edit()
13
- editor.putString(key, value)
14
- editor.apply()
15
- }
16
-
17
- fun removeFromLocalStorage(key: String?) {
18
- val editor = preferences.edit()
19
- editor.remove(key)
20
- editor.apply()
21
- }
22
-
23
- fun getFromLocalStorage(key: String?): String? {
24
- return preferences.getString(key, null)
25
- }
26
-
27
- companion object {
28
- private const val SHARED_PREFERENCES = "com.twentyfouri.tvbridge"
29
- }
30
- }
@@ -1,38 +0,0 @@
1
- package com.twentyfouri.tvbridge.global.utils
2
-
3
- import android.util.Base64
4
- import android.util.Log
5
- import com.google.android.exoplayer2.drm.ExoMediaDrm
6
- import com.google.android.exoplayer2.drm.MediaDrmCallback
7
- import java.util.*
8
-
9
- class LoggingDrmCallback(
10
- private val base: MediaDrmCallback,
11
- private val licenseUrl: String? = null
12
- ) : MediaDrmCallback {
13
- override fun executeProvisionRequest(
14
- uuid: UUID,
15
- request: ExoMediaDrm.ProvisionRequest
16
- ): ByteArray {
17
- return base.executeProvisionRequest(uuid, request)
18
- }
19
-
20
- override fun executeKeyRequest(uuid: UUID, request: ExoMediaDrm.KeyRequest): ByteArray {
21
- if (com.twentyfouri.player.exoplayer.BuildConfig.DEBUG) {
22
- Log.v(TAG, "DRM Embedded URL: ${request.licenseServerUrl}")
23
- Log.v(TAG, "DRM Default URL: $licenseUrl")
24
- Log.v(TAG, "DRM request:\n${request.data.toBase64()}")
25
- }
26
- val response = base.executeKeyRequest(uuid, request)
27
- if (com.twentyfouri.player.exoplayer.BuildConfig.DEBUG) {
28
- Log.v(TAG, "DRM response:\n" + response.toBase64())
29
- }
30
- return response
31
- }
32
-
33
- private fun ByteArray.toBase64(): String = Base64.encodeToString(this, Base64.DEFAULT)
34
-
35
- companion object {
36
- const val TAG = "DrmCallback"
37
- }
38
- }
@@ -1,134 +0,0 @@
1
- package com.twentyfouri.tvbridge.global.utils
2
-
3
- import android.net.Uri
4
- import android.util.Base64
5
- import android.util.Log
6
- import com.google.android.exoplayer2.C
7
- import com.google.android.exoplayer2.drm.ExoMediaDrm
8
- import com.google.android.exoplayer2.drm.MediaDrmCallback
9
- import com.google.android.exoplayer2.upstream.DataSourceInputStream
10
- import com.google.android.exoplayer2.upstream.DataSpec
11
- import com.google.android.exoplayer2.upstream.HttpDataSource
12
- import com.google.android.exoplayer2.util.Util
13
- import com.twentyfouri.tvbridge.BuildConfig
14
- import org.json.JSONException
15
- import org.json.JSONObject
16
- import java.io.BufferedReader
17
- import java.io.IOException
18
- import java.io.InputStreamReader
19
- import java.net.MalformedURLException
20
- import java.net.URL
21
- import java.net.URLEncoder
22
- import java.util.HashMap
23
- import java.util.UUID
24
-
25
- class OverriddenHttpMediaDrmCallback(
26
- private val defaultLicenseUrl: String?,
27
- private val forceDefaultLicenseUrl: Boolean,
28
- private val dataSourceFactory: HttpDataSource.Factory
29
- ) : MediaDrmCallback {
30
-
31
- @Throws(IOException::class)
32
- override fun executeProvisionRequest(uuid: UUID, request: ExoMediaDrm.ProvisionRequest): ByteArray {
33
- Log.d(TAG, "executeProvisionRequest")
34
- val url = request.defaultUrl + "&signedRequest=" + String(request.data)
35
- return executePost(dataSourceFactory, url, ByteArray(0), null)
36
- }
37
-
38
- @Throws(Exception::class)
39
- override fun executeKeyRequest(uuid: UUID, request: ExoMediaDrm.KeyRequest): ByteArray {
40
- Log.d(TAG, "executeKeyRequest")
41
- var url: String? = request.licenseServerUrl
42
- if (forceDefaultLicenseUrl || url.isNullOrEmpty()) {
43
- url = defaultLicenseUrl
44
- }
45
- val requestProperties: MutableMap<String, String> = HashMap()
46
- // Add standard request properties for supported schemes.
47
- val contentType = "text/plain"
48
- requestProperties["Content-Type"] = contentType
49
- if (C.PLAYREADY_UUID == uuid) {
50
- requestProperties["SOAPAction"] = "http://schemas.microsoft.com/DRM/2007/03/protocols/AcquireLicense"
51
- }
52
-
53
- //adding data to url
54
- val challenge = request.data
55
- val encoded = URLEncoder.encode(Base64.encodeToString(challenge, Base64.NO_WRAP), "UTF-8")
56
- url = appendQuery(url, "_widevineChallenge=$encoded")
57
- if (BuildConfig.DEBUG) {
58
- Log.d(TAG, "Executing post on url $url with content type $contentType")
59
- }
60
- return executeGet(url)
61
- }
62
-
63
- companion object {
64
- private const val TAG = "DrmCallback"
65
-
66
- private fun executeGet(urlString: String): ByteArray {
67
- try {
68
- val licenserRequest = URL(urlString)
69
- val yc = licenserRequest.openConnection()
70
- val input = BufferedReader(InputStreamReader(yc.getInputStream()))
71
- val builder = StringBuilder()
72
- var inputLine: String?
73
- while (input.readLine().also { inputLine = it } != null) {
74
- builder.append(inputLine)
75
- }
76
- input.close()
77
- val jsonObject = JSONObject(builder.toString())
78
- val container = jsonObject.getJSONObject("getWidevineLicenseResponse")
79
- val license = container.getString("license")
80
- if (BuildConfig.DEBUG) {
81
- Log.d(TAG, "Finished post: $license")
82
- }
83
- return Base64.decode(license, Base64.NO_WRAP)
84
- } catch (e: MalformedURLException) {
85
- e.printStackTrace()
86
- } catch (e: IOException) {
87
- e.printStackTrace()
88
- } catch (e: JSONException) {
89
- e.printStackTrace()
90
- }
91
- return byteArrayOf()
92
- }
93
-
94
- @Throws(IOException::class)
95
- private fun executePost(
96
- dataSourceFactory: HttpDataSource.Factory,
97
- url: String,
98
- data: ByteArray,
99
- requestProperties: Map<String, String>?
100
- ): ByteArray {
101
- Log.d(TAG, "executePost")
102
- val dataSource = dataSourceFactory.createDataSource()
103
- if (requestProperties != null) {
104
- for ((key, value) in requestProperties) {
105
- dataSource.setRequestProperty(key, value)
106
- }
107
- }
108
- val dataSpec = DataSpec.Builder()
109
- .setUri(Uri.parse(url))
110
- .setFlags(DataSpec.FLAG_ALLOW_GZIP)
111
- .setHttpMethod(DataSpec.HTTP_METHOD_POST)
112
- .setHttpBody(data)
113
- .setHttpRequestHeaders(requestProperties ?: emptyMap())
114
- .build()
115
- val inputStream = DataSourceInputStream(dataSource, dataSpec)
116
- return try {
117
- Util.toByteArray(inputStream)
118
- } finally {
119
- Util.closeQuietly(inputStream)
120
- }
121
- }
122
-
123
- fun appendQuery(url: String?, appendQuery: String): String {
124
- val oldUri = Uri.parse(url)
125
- var newQuery = oldUri.query
126
- if (newQuery == null) {
127
- newQuery = appendQuery
128
- } else {
129
- newQuery += "&$appendQuery"
130
- }
131
- return oldUri.scheme + "://" + oldUri.authority + oldUri.path + "?" + newQuery
132
- }
133
- }
134
- }
@@ -1,84 +0,0 @@
1
- package com.twentyfouri.tvbridge.global.utils
2
-
3
- import android.content.Context
4
- import com.google.android.exoplayer2.C
5
- import com.google.android.exoplayer2.drm.DefaultDrmSessionManager
6
- import com.google.android.exoplayer2.drm.DrmSessionManager
7
- import com.google.android.exoplayer2.drm.FrameworkMediaDrm
8
- import com.google.android.exoplayer2.drm.MediaDrmCallback
9
- import com.google.android.exoplayer2.upstream.HttpDataSource
10
- import com.google.android.exoplayer2.util.Util
11
- import com.twentyfouri.player.base.DrmPlayready
12
- import com.twentyfouri.player.base.DrmWidevine
13
- import com.twentyfouri.player.base.Source
14
- import com.twentyfouri.player.base.SourceDrm
15
- import com.twentyfouri.player.exoplayer.*
16
- import com.twentyfouri.tvbridge.configuration.BridgeConfig
17
-
18
- class PlayerFactoryExoPlayerCustomized(
19
- private val config: BridgeConfig
20
- ) : PlayerFactoryExoPlayer() {
21
- override fun createSharedComponents(context: Context): SharedComponents =
22
- CustomizedSharedComponents(context)
23
-
24
- private inner class CustomizedSharedComponents(context: Context) : DefaultSharedComponents(context) {
25
-
26
- override val drmProvider: DrmSessionManagerProvider by lazy { CustomizedDrmSessionManagerProvider() }
27
-
28
- override val applicationName: String
29
- get() = config.playerAppName ?: super.applicationName
30
-
31
- override fun buildIsolatedComponents(): PlayerComponents {
32
- return CustomizedPlayerComponents(this)
33
- }
34
- }
35
-
36
- private inner class CustomizedPlayerComponents(shared: SharedComponents) : DefaultPlayerComponents(shared) {
37
- override val handleAudioFocus: Boolean
38
- get() = false
39
- }
40
-
41
- private class CustomizedDrmSessionManagerProvider : DefaultDrmSessionManagerProvider() {
42
- override fun buildDrmSessionManager(
43
- dataSourceFactory: AuthorizedDataSourceProvider,
44
- source: Source,
45
- sourceDrm: SourceDrm
46
- ): DrmSessionManager? {
47
- if (sourceDrm is SourceDrmOverridden) {
48
- return buildDrmOverridden(dataSourceFactory, sourceDrm)
49
- } else {
50
- return super.buildDrmSessionManager(dataSourceFactory, source, sourceDrm)
51
- }
52
- }
53
-
54
- private fun buildDrmOverridden(dataSourceFactory: AuthorizedDataSourceProvider, sourceDrm: SourceDrmOverridden): DrmSessionManager? {
55
- val drmUuid = when (sourceDrm.packageName) {
56
- DrmWidevine.packageName -> C.WIDEVINE_UUID
57
- DrmPlayready.packageName -> C.PLAYREADY_UUID
58
- else -> C.UUID_NIL
59
- }
60
- val licenseUrl = sourceDrm.licenseServer?.toString() ?: ""
61
- val forceLicenseUrl = sourceDrm.forceLicenseServer
62
- val httpDataSourceFactory = dataSourceFactory.buildHttpDataSourceFactory(sourceDrm.authorization)
63
-
64
- val drmCallback = LoggingDrmCallback(
65
- OverriddenHttpMediaDrmCallback(
66
- licenseUrl,
67
- forceLicenseUrl,
68
- httpDataSourceFactory
69
- ),
70
- licenseUrl
71
- )
72
-
73
- return DefaultDrmSessionManager.Builder()
74
- .setUuidAndExoMediaDrmProvider(drmUuid, FrameworkMediaDrm.DEFAULT_PROVIDER)
75
- .setMultiSession(false)
76
- .build(drmCallback)
77
- }
78
-
79
- override fun buildDrmCallback(licenseUrl: String, forceLicenseUrl: Boolean, httpDataSourceFactory: HttpDataSource.Factory): MediaDrmCallback {
80
- return LoggingDrmCallback(super.buildDrmCallback(licenseUrl, forceLicenseUrl, httpDataSourceFactory), licenseUrl)
81
- }
82
- }
83
- }
84
-
@@ -1,32 +0,0 @@
1
- package com.twentyfouri.tvbridge.global.utils
2
-
3
- import android.app.Activity
4
- import android.app.Application.ActivityLifecycleCallbacks
5
- import android.os.Bundle
6
-
7
- abstract class SimpleActivityLifecycleCallback : ActivityLifecycleCallbacks {
8
-
9
- override fun onActivityStarted(activity: Activity) {
10
- //Do nothing
11
- }
12
-
13
- override fun onActivityResumed(activity: Activity) {
14
- //Do nothing
15
- }
16
-
17
- override fun onActivityPaused(activity: Activity) {
18
- //Do nothing
19
- }
20
-
21
- override fun onActivityStopped(activity: Activity) {
22
- //Do nothing
23
- }
24
-
25
- override fun onActivitySaveInstanceState(activity: Activity, bundle: Bundle) {
26
- //Do nothing
27
- }
28
-
29
- override fun onActivityDestroyed(activity: Activity) {
30
- //Do nothing
31
- }
32
- }
@@ -1,49 +0,0 @@
1
- package com.twentyfouri.tvbridge.global.utils
2
-
3
- import com.twentyfouri.player.base.SourceAuthorization
4
- import com.twentyfouri.player.base.SourceDrm
5
- import java.net.URI
6
-
7
- open class SourceDrmOverridden protected constructor(
8
- builder: Builder
9
- ) : SourceDrm() {
10
-
11
- override val packageName: String = builder.packageName
12
- ?: throw IllegalStateException("Missing SourceDrmOverridden.packageName")
13
- val licenseServer: URI? = builder.licenseServer
14
- val forceLicenseServer: Boolean = builder.forceLicenseServer
15
- val authorization: SourceAuthorization? = builder.authorization
16
-
17
- override fun hashCode(): Int = licenseServer.hashCode()
18
-
19
- override fun toString(): String = "SourceDrmOverridden($licenseServer)"
20
-
21
- override fun equals(other: Any?): Boolean = other is SourceDrmOverridden &&
22
- packageName == other.packageName &&
23
- licenseServer == other.licenseServer &&
24
- forceLicenseServer == other.forceLicenseServer &&
25
- authorization == other.authorization
26
-
27
- override fun buildUpon() = Builder()
28
- .also { it.applyFrom(this) }
29
-
30
- open class Builder : SourceDrm.Builder() {
31
- var packageName: String? = null
32
- var licenseServer: URI? = null
33
- var forceLicenseServer: Boolean = false
34
- var authorization: SourceAuthorization? = null
35
-
36
- open fun applyFrom(source: SourceDrmOverridden) {
37
- packageName = source.packageName
38
- licenseServer = source.licenseServer
39
- forceLicenseServer = source.forceLicenseServer
40
- authorization = source.authorization
41
- }
42
-
43
- override fun build() =
44
- SourceDrmOverridden(this)
45
- }
46
- }
47
-
48
- inline fun SourceDrmOverridden(block: SourceDrmOverridden.Builder.() -> Unit) =
49
- SourceDrmOverridden.Builder().apply(block).build()