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

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 (280) hide show
  1. package/dist/src/sdks/index.js +3 -1
  2. package/dist/templates/platforms/androidtv/project/README.md +198 -0
  3. package/dist/templates/platforms/androidtv/project/amazoniap/build.gradle +39 -0
  4. package/dist/templates/platforms/androidtv/project/amazoniap/consumer-rules.pro +0 -0
  5. package/dist/templates/platforms/androidtv/project/amazoniap/libs/in-app-purchasing-2.0.76.jar +0 -0
  6. package/dist/templates/platforms/androidtv/project/amazoniap/proguard-rules.pro +21 -0
  7. package/dist/templates/platforms/androidtv/project/amazoniap/src/main/AndroidManifest.xml +4 -0
  8. package/dist/templates/platforms/androidtv/project/amazoniap/src/main/java/com/twentyfouri/bridgetv/amazoniap/AmazonIapSevice.kt +106 -0
  9. package/dist/templates/platforms/androidtv/project/app/build.gradle +371 -0
  10. package/dist/templates/platforms/androidtv/project/app/proguard-rules.pro +32 -0
  11. package/dist/templates/platforms/androidtv/project/app/src/alhurra/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
  12. package/dist/templates/platforms/androidtv/project/app/src/alhurra/res/drawable/banner.png +0 -0
  13. package/dist/templates/platforms/androidtv/project/app/src/alhurra/res/mipmap-hdpi/ic_launcher.png +0 -0
  14. package/dist/templates/platforms/androidtv/project/app/src/alhurra/res/mipmap-mdpi/ic_launcher.png +0 -0
  15. package/dist/templates/platforms/androidtv/project/app/src/alhurra/res/mipmap-xhdpi/ic_launcher.png +0 -0
  16. package/dist/templates/platforms/androidtv/project/app/src/alhurra/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  17. package/dist/templates/platforms/androidtv/project/app/src/alhurra/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  18. package/dist/templates/platforms/androidtv/project/app/src/alhurra/res/raw/configuration.json +7 -0
  19. package/dist/templates/platforms/androidtv/project/app/src/androidTest/assets/getStatusSuccesfulResponse.json +9 -0
  20. package/dist/templates/platforms/androidtv/project/app/src/androidTest/assets/tokenFromPassword_200.json +7 -0
  21. package/dist/templates/platforms/androidtv/project/app/src/androidTest/java/com/ngsn/tv/RestServiceTestHelper.java +34 -0
  22. package/dist/templates/platforms/androidtv/project/app/src/androidTest/java/com/ngsn/tv/WebViewActivityTest.java +104 -0
  23. package/dist/templates/platforms/androidtv/project/app/src/androidTest/java/com/twentyfouri/tvbridge/SignTest.kt +54 -0
  24. package/dist/templates/platforms/androidtv/project/app/src/androidTest/java/com/twentyfouri/tvbridge/amazonIAP/AmazonIAPManagerTest.java +74 -0
  25. package/dist/templates/platforms/androidtv/project/app/src/androidTest/java/com/twentyfouri/tvbridge/amazonIAP/SinclairTestRunner.java +22 -0
  26. package/dist/templates/platforms/androidtv/project/app/src/androidTest/java/com/twentyfouri/tvbridge/webview/ui/model/BridgeWebViewTest.java +50 -0
  27. package/dist/templates/platforms/androidtv/project/app/src/bbg/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
  28. package/dist/templates/platforms/androidtv/project/app/src/bbg/res/drawable/banner.png +0 -0
  29. package/dist/templates/platforms/androidtv/project/app/src/bbg/res/mipmap-hdpi/ic_launcher.png +0 -0
  30. package/dist/templates/platforms/androidtv/project/app/src/bbg/res/mipmap-mdpi/ic_launcher.png +0 -0
  31. package/dist/templates/platforms/androidtv/project/app/src/bbg/res/mipmap-xhdpi/ic_launcher.png +0 -0
  32. package/dist/templates/platforms/androidtv/project/app/src/bbg/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  33. package/dist/templates/platforms/androidtv/project/app/src/bbg/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  34. package/dist/templates/platforms/androidtv/project/app/src/bbg/res/raw/configuration.json +7 -0
  35. package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
  36. package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/drawable/banner.png +0 -0
  37. package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/mipmap-hdpi/ic_launcher.png +0 -0
  38. package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/mipmap-mdpi/ic_launcher.png +0 -0
  39. package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/mipmap-xhdpi/ic_launcher.png +0 -0
  40. package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  41. package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  42. package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/raw/configuration.json +6 -0
  43. package/dist/templates/platforms/androidtv/project/app/src/broadwayhd/java/com/twentyfouri/tvbridge/Flavor.kt +9 -0
  44. package/dist/templates/platforms/androidtv/project/app/src/broadwayhd/res/drawable/banner.png +0 -0
  45. package/dist/templates/platforms/androidtv/project/app/src/broadwayhd/res/mipmap-hdpi/ic_launcher.png +0 -0
  46. package/dist/templates/platforms/androidtv/project/app/src/broadwayhd/res/mipmap-mdpi/ic_launcher.png +0 -0
  47. package/dist/templates/platforms/androidtv/project/app/src/broadwayhd/res/mipmap-xhdpi/ic_launcher.png +0 -0
  48. package/dist/templates/platforms/androidtv/project/app/src/broadwayhd/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  49. package/dist/templates/platforms/androidtv/project/app/src/broadwayhd/res/raw/configuration.json +16 -0
  50. package/dist/templates/platforms/androidtv/project/app/src/cineClick/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
  51. package/dist/templates/platforms/androidtv/project/app/src/cineClick/res/raw/configuration.json +6 -0
  52. package/dist/templates/platforms/androidtv/project/app/src/entel/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
  53. package/dist/templates/platforms/androidtv/project/app/src/entel/res/raw/configuration.json +6 -0
  54. package/dist/templates/platforms/androidtv/project/app/src/fuboTV/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
  55. package/dist/templates/platforms/androidtv/project/app/src/fuboTV/res/raw/configuration.json +6 -0
  56. package/dist/templates/platforms/androidtv/project/app/src/fuse/AndroidManifest.xml +12 -0
  57. package/dist/templates/platforms/androidtv/project/app/src/fuse/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
  58. package/dist/templates/platforms/androidtv/project/app/src/fuse/res/drawable/banner.png +0 -0
  59. package/dist/templates/platforms/androidtv/project/app/src/fuse/res/mipmap-hdpi/ic_launcher.png +0 -0
  60. package/dist/templates/platforms/androidtv/project/app/src/fuse/res/mipmap-mdpi/ic_launcher.png +0 -0
  61. package/dist/templates/platforms/androidtv/project/app/src/fuse/res/mipmap-xhdpi/ic_launcher.png +0 -0
  62. package/dist/templates/platforms/androidtv/project/app/src/fuse/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  63. package/dist/templates/platforms/androidtv/project/app/src/fuse/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  64. package/dist/templates/platforms/androidtv/project/app/src/fuse/res/raw/configuration.json +9 -0
  65. package/dist/templates/platforms/androidtv/project/app/src/gsn/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
  66. package/dist/templates/platforms/androidtv/project/app/src/gsn/res/drawable/banner.png +0 -0
  67. package/dist/templates/platforms/androidtv/project/app/src/gsn/res/mipmap-hdpi/ic_launcher.png +0 -0
  68. package/dist/templates/platforms/androidtv/project/app/src/gsn/res/mipmap-mdpi/ic_launcher.png +0 -0
  69. package/dist/templates/platforms/androidtv/project/app/src/gsn/res/mipmap-xhdpi/ic_launcher.png +0 -0
  70. package/dist/templates/platforms/androidtv/project/app/src/gsn/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  71. package/dist/templates/platforms/androidtv/project/app/src/gsn/res/raw/configuration.json +8 -0
  72. package/dist/templates/platforms/androidtv/project/app/src/heremedia/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
  73. package/dist/templates/platforms/androidtv/project/app/src/heremedia/res/drawable/banner.png +0 -0
  74. package/dist/templates/platforms/androidtv/project/app/src/heremedia/res/mipmap-hdpi/ic_launcher.png +0 -0
  75. package/dist/templates/platforms/androidtv/project/app/src/heremedia/res/mipmap-mdpi/ic_launcher.png +0 -0
  76. package/dist/templates/platforms/androidtv/project/app/src/heremedia/res/mipmap-xhdpi/ic_launcher.png +0 -0
  77. package/dist/templates/platforms/androidtv/project/app/src/heremedia/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  78. package/dist/templates/platforms/androidtv/project/app/src/heremedia/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  79. package/dist/templates/platforms/androidtv/project/app/src/heremedia/res/raw/configuration.json +6 -0
  80. package/dist/templates/platforms/androidtv/project/app/src/hummingbird/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
  81. package/dist/templates/platforms/androidtv/project/app/src/hummingbird/res/mipmap-hdpi/ic_launcher.png +0 -0
  82. package/dist/templates/platforms/androidtv/project/app/src/hummingbird/res/mipmap-mdpi/ic_launcher.png +0 -0
  83. package/dist/templates/platforms/androidtv/project/app/src/hummingbird/res/mipmap-xhdpi/ic_launcher.png +0 -0
  84. package/dist/templates/platforms/androidtv/project/app/src/hummingbird/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  85. package/dist/templates/platforms/androidtv/project/app/src/hummingbird/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  86. package/dist/templates/platforms/androidtv/project/app/src/hummingbird/res/raw/configuration.json +6 -0
  87. package/dist/templates/platforms/androidtv/project/app/src/kijk/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
  88. package/dist/templates/platforms/androidtv/project/app/src/kijk/res/drawable/banner.png +0 -0
  89. package/dist/templates/platforms/androidtv/project/app/src/kijk/res/mipmap-hdpi/ic_launcher.png +0 -0
  90. package/dist/templates/platforms/androidtv/project/app/src/kijk/res/mipmap-mdpi/ic_launcher.png +0 -0
  91. package/dist/templates/platforms/androidtv/project/app/src/kijk/res/mipmap-xhdpi/ic_launcher.png +0 -0
  92. package/dist/templates/platforms/androidtv/project/app/src/kijk/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  93. package/dist/templates/platforms/androidtv/project/app/src/kijk/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  94. package/dist/templates/platforms/androidtv/project/app/src/kijk/res/raw/configuration.json +6 -0
  95. package/dist/templates/platforms/androidtv/project/app/src/kpn/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
  96. package/dist/templates/platforms/androidtv/project/app/src/kpn/res/drawable/banner.png +0 -0
  97. package/dist/templates/platforms/androidtv/project/app/src/kpn/res/mipmap-hdpi/ic_launcher.png +0 -0
  98. package/dist/templates/platforms/androidtv/project/app/src/kpn/res/mipmap-mdpi/ic_launcher.png +0 -0
  99. package/dist/templates/platforms/androidtv/project/app/src/kpn/res/mipmap-xhdpi/ic_launcher.png +0 -0
  100. package/dist/templates/platforms/androidtv/project/app/src/kpn/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  101. package/dist/templates/platforms/androidtv/project/app/src/kpn/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  102. package/dist/templates/platforms/androidtv/project/app/src/kpn/res/raw/configuration.json +6 -0
  103. package/dist/templates/platforms/androidtv/project/app/src/main/AndroidManifest.xml +47 -0
  104. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/FlavorBase.kt +12 -0
  105. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/bridge/BridgeFromJavaScript.kt +379 -0
  106. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/bridge/BridgeToJavaScript.kt +65 -0
  107. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/BridgeConfig.kt +9 -0
  108. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/ConfigCallback.kt +6 -0
  109. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/ConfigProvider.kt +27 -0
  110. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/Drm.kt +10 -0
  111. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/UserAgent.kt +6 -0
  112. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/BaseApplication.kt +73 -0
  113. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ActivityComponent.kt +13 -0
  114. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ActivityModule.kt +19 -0
  115. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ApplicationComponent.kt +24 -0
  116. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ApplicationModule.kt +43 -0
  117. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/PerActivity.kt +26 -0
  118. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/HttpMediaDrmCallback.kt +184 -0
  119. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/LocalStorage.kt +30 -0
  120. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/LoggingDrmCallback.kt +46 -0
  121. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/SimpleActivityLifecycleCallback.kt +32 -0
  122. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/jump/JumpAnalytics.kt +209 -0
  123. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/sound/TouchPlayer.kt +86 -0
  124. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/client/BridgeWebView.kt +80 -0
  125. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/client/BridgeWebViewClient.kt +114 -0
  126. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/AnalyticsPlaybackInfo.kt +10 -0
  127. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/ContentModel.kt +14 -0
  128. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/DrmModel.kt +20 -0
  129. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/MediaEventType.kt +17 -0
  130. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/ContentModelParser.kt +16 -0
  131. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/DeviceInfoParser.kt +22 -0
  132. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/PlaybackInfoParser.kt +10 -0
  133. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/TrackJsonModelParser.kt +76 -0
  134. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/Mainview.kt +22 -0
  135. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/PlayerCache.kt +15 -0
  136. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/WebViewActivity.kt +279 -0
  137. package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/viewmodel/WebViewModel.kt +569 -0
  138. package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/banner.png +0 -0
  139. package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_background_focus.xml +10 -0
  140. package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_background_normal.xml +7 -0
  141. package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_background_pressed.xml +7 -0
  142. package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_focus.xml +8 -0
  143. package/dist/templates/platforms/androidtv/project/app/src/main/res/layout/activity_web_view.xml +78 -0
  144. package/dist/templates/platforms/androidtv/project/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  145. package/dist/templates/platforms/androidtv/project/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  146. package/dist/templates/platforms/androidtv/project/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  147. package/dist/templates/platforms/androidtv/project/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  148. package/dist/templates/platforms/androidtv/project/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  149. package/dist/templates/platforms/androidtv/project/app/src/main/res/raw/click.ogg +0 -0
  150. package/dist/templates/platforms/androidtv/project/app/src/main/res/raw/fiddle_root_michal_konecny.cer +0 -0
  151. package/dist/templates/platforms/androidtv/project/app/src/main/res/raw/proxy_milanwilczak.pem +26 -0
  152. package/dist/templates/platforms/androidtv/project/app/src/main/res/values/styles.xml +11 -0
  153. package/dist/templates/platforms/androidtv/project/app/src/main/res/xml/network_security_config.xml +12 -0
  154. package/dist/templates/platforms/androidtv/project/app/src/marti/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
  155. package/dist/templates/platforms/androidtv/project/app/src/marti/res/drawable/banner.png +0 -0
  156. package/dist/templates/platforms/androidtv/project/app/src/marti/res/mipmap-hdpi/ic_launcher.png +0 -0
  157. package/dist/templates/platforms/androidtv/project/app/src/marti/res/mipmap-mdpi/ic_launcher.png +0 -0
  158. package/dist/templates/platforms/androidtv/project/app/src/marti/res/mipmap-xhdpi/ic_launcher.png +0 -0
  159. package/dist/templates/platforms/androidtv/project/app/src/marti/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  160. package/dist/templates/platforms/androidtv/project/app/src/marti/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  161. package/dist/templates/platforms/androidtv/project/app/src/marti/res/raw/configuration.json +8 -0
  162. package/dist/templates/platforms/androidtv/project/app/src/newsmax/AndroidManifest.xml +43 -0
  163. package/dist/templates/platforms/androidtv/project/app/src/newsmax/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
  164. package/dist/templates/platforms/androidtv/project/app/src/newsmax/res/drawable/banner.png +0 -0
  165. package/dist/templates/platforms/androidtv/project/app/src/newsmax/res/mipmap-hdpi/ic_launcher.png +0 -0
  166. package/dist/templates/platforms/androidtv/project/app/src/newsmax/res/mipmap-mdpi/ic_launcher.png +0 -0
  167. package/dist/templates/platforms/androidtv/project/app/src/newsmax/res/mipmap-xhdpi/ic_launcher.png +0 -0
  168. package/dist/templates/platforms/androidtv/project/app/src/newsmax/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  169. package/dist/templates/platforms/androidtv/project/app/src/newsmax/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  170. package/dist/templates/platforms/androidtv/project/app/src/newsmax/res/raw/configuration.json +7 -0
  171. package/dist/templates/platforms/androidtv/project/app/src/portal/java/com/twentyfouri/tvbridge/Flavor.kt +10 -0
  172. package/dist/templates/platforms/androidtv/project/app/src/portal/res/raw/configuration.json +7 -0
  173. package/dist/templates/platforms/androidtv/project/app/src/portalDrm/java/com/twentyfouri/tvbridge/Flavor.kt +10 -0
  174. package/dist/templates/platforms/androidtv/project/app/src/portalDrm/res/drawable/banner.png +0 -0
  175. package/dist/templates/platforms/androidtv/project/app/src/portalDrm/res/raw/configuration.json +6 -0
  176. package/dist/templates/platforms/androidtv/project/app/src/pureflix/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
  177. package/dist/templates/platforms/androidtv/project/app/src/pureflix/res/drawable/banner.png +0 -0
  178. package/dist/templates/platforms/androidtv/project/app/src/pureflix/res/mipmap-hdpi/ic_launcher.png +0 -0
  179. package/dist/templates/platforms/androidtv/project/app/src/pureflix/res/mipmap-mdpi/ic_launcher.png +0 -0
  180. package/dist/templates/platforms/androidtv/project/app/src/pureflix/res/mipmap-xhdpi/ic_launcher.png +0 -0
  181. package/dist/templates/platforms/androidtv/project/app/src/pureflix/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  182. package/dist/templates/platforms/androidtv/project/app/src/pureflix/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  183. package/dist/templates/platforms/androidtv/project/app/src/pureflix/res/raw/configuration.json +6 -0
  184. package/dist/templates/platforms/androidtv/project/app/src/rfa/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
  185. package/dist/templates/platforms/androidtv/project/app/src/rfa/res/drawable/banner.png +0 -0
  186. package/dist/templates/platforms/androidtv/project/app/src/rfa/res/mipmap-hdpi/ic_launcher.png +0 -0
  187. package/dist/templates/platforms/androidtv/project/app/src/rfa/res/mipmap-mdpi/ic_launcher.png +0 -0
  188. package/dist/templates/platforms/androidtv/project/app/src/rfa/res/mipmap-xhdpi/ic_launcher.png +0 -0
  189. package/dist/templates/platforms/androidtv/project/app/src/rfa/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  190. package/dist/templates/platforms/androidtv/project/app/src/rfa/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  191. package/dist/templates/platforms/androidtv/project/app/src/rfa/res/raw/configuration.json +7 -0
  192. package/dist/templates/platforms/androidtv/project/app/src/rfe/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
  193. package/dist/templates/platforms/androidtv/project/app/src/rfe/res/drawable/banner.png +0 -0
  194. package/dist/templates/platforms/androidtv/project/app/src/rfe/res/mipmap-hdpi/ic_launcher.png +0 -0
  195. package/dist/templates/platforms/androidtv/project/app/src/rfe/res/mipmap-mdpi/ic_launcher.png +0 -0
  196. package/dist/templates/platforms/androidtv/project/app/src/rfe/res/mipmap-xhdpi/ic_launcher.png +0 -0
  197. package/dist/templates/platforms/androidtv/project/app/src/rfe/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  198. package/dist/templates/platforms/androidtv/project/app/src/rfe/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  199. package/dist/templates/platforms/androidtv/project/app/src/rfe/res/raw/configuration.json +6 -0
  200. package/dist/templates/platforms/androidtv/project/app/src/rte/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
  201. package/dist/templates/platforms/androidtv/project/app/src/rte/res/drawable/banner.png +0 -0
  202. package/dist/templates/platforms/androidtv/project/app/src/rte/res/mipmap-hdpi/ic_launcher.png +0 -0
  203. package/dist/templates/platforms/androidtv/project/app/src/rte/res/mipmap-mdpi/ic_launcher.png +0 -0
  204. package/dist/templates/platforms/androidtv/project/app/src/rte/res/mipmap-xhdpi/ic_launcher.png +0 -0
  205. package/dist/templates/platforms/androidtv/project/app/src/rte/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  206. package/dist/templates/platforms/androidtv/project/app/src/rte/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  207. package/dist/templates/platforms/androidtv/project/app/src/rte/res/raw/configuration.json +9 -0
  208. package/dist/templates/platforms/androidtv/project/app/src/sentai/google-services.json +191 -0
  209. package/dist/templates/platforms/androidtv/project/app/src/sentai/res/mipmap-hdpi/ic_launcher.png +0 -0
  210. package/dist/templates/platforms/androidtv/project/app/src/sentai/res/mipmap-mdpi/ic_launcher.png +0 -0
  211. package/dist/templates/platforms/androidtv/project/app/src/sentai/res/mipmap-xhdpi/ic_launcher.png +0 -0
  212. package/dist/templates/platforms/androidtv/project/app/src/sentai/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  213. package/dist/templates/platforms/androidtv/project/app/src/sentai/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  214. package/dist/templates/platforms/androidtv/project/app/src/sentai/res/raw/configuration.json +15 -0
  215. package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/google-services.json +191 -0
  216. package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/java/com/twentyfouri/tvbridge/Flavor.kt +54 -0
  217. package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/java/com/twentyfouri/tvbridge/SentaiRequestData.kt +13 -0
  218. package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/res/drawable/banner.png +0 -0
  219. package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/res/mipmap-hdpi/ic_launcher.png +0 -0
  220. package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/res/mipmap-mdpi/ic_launcher.png +0 -0
  221. package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/res/mipmap-xhdpi/ic_launcher.png +0 -0
  222. package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  223. package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  224. package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/res/raw/configuration.json +14 -0
  225. package/dist/templates/platforms/androidtv/project/app/src/smartott/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
  226. package/dist/templates/platforms/androidtv/project/app/src/smartott/res/mipmap-hdpi/ic_launcher.png +0 -0
  227. package/dist/templates/platforms/androidtv/project/app/src/smartott/res/mipmap-mdpi/ic_launcher.png +0 -0
  228. package/dist/templates/platforms/androidtv/project/app/src/smartott/res/mipmap-xhdpi/ic_launcher.png +0 -0
  229. package/dist/templates/platforms/androidtv/project/app/src/smartott/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  230. package/dist/templates/platforms/androidtv/project/app/src/smartott/res/raw/configuration.json +6 -0
  231. package/dist/templates/platforms/androidtv/project/app/src/tennisChannel/java/com/twentyfouri/tvbridge/Flavor.kt +9 -0
  232. package/dist/templates/platforms/androidtv/project/app/src/tennisChannel/res/mipmap-hdpi/ic_launcher.png +0 -0
  233. package/dist/templates/platforms/androidtv/project/app/src/tennisChannel/res/mipmap-mdpi/ic_launcher.png +0 -0
  234. package/dist/templates/platforms/androidtv/project/app/src/tennisChannel/res/mipmap-xhdpi/ic_launcher.png +0 -0
  235. package/dist/templates/platforms/androidtv/project/app/src/tennisChannel/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  236. package/dist/templates/platforms/androidtv/project/app/src/tennisChannel/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  237. package/dist/templates/platforms/androidtv/project/app/src/tennisChannel/res/raw/configuration.json +6 -0
  238. package/dist/templates/platforms/androidtv/project/app/src/topic/java/com/twentyfouri/tvbridge/Flavor.kt +9 -0
  239. package/dist/templates/platforms/androidtv/project/app/src/topic/res/drawable/banner.png +0 -0
  240. package/dist/templates/platforms/androidtv/project/app/src/topic/res/mipmap-hdpi/ic_launcher.png +0 -0
  241. package/dist/templates/platforms/androidtv/project/app/src/topic/res/mipmap-mdpi/ic_launcher.png +0 -0
  242. package/dist/templates/platforms/androidtv/project/app/src/topic/res/mipmap-xhdpi/ic_launcher.png +0 -0
  243. package/dist/templates/platforms/androidtv/project/app/src/topic/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  244. package/dist/templates/platforms/androidtv/project/app/src/topic/res/raw/configuration.json +9 -0
  245. package/dist/templates/platforms/androidtv/project/app/src/voa/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
  246. package/dist/templates/platforms/androidtv/project/app/src/voa/res/drawable/banner.png +0 -0
  247. package/dist/templates/platforms/androidtv/project/app/src/voa/res/mipmap-hdpi/ic_launcher.png +0 -0
  248. package/dist/templates/platforms/androidtv/project/app/src/voa/res/mipmap-mdpi/ic_launcher.png +0 -0
  249. package/dist/templates/platforms/androidtv/project/app/src/voa/res/mipmap-xhdpi/ic_launcher.png +0 -0
  250. package/dist/templates/platforms/androidtv/project/app/src/voa/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  251. package/dist/templates/platforms/androidtv/project/app/src/voa/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  252. package/dist/templates/platforms/androidtv/project/app/src/voa/res/raw/configuration.json +7 -0
  253. package/dist/templates/platforms/androidtv/project/app/src/voa365/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
  254. package/dist/templates/platforms/androidtv/project/app/src/voa365/res/drawable/banner.png +0 -0
  255. package/dist/templates/platforms/androidtv/project/app/src/voa365/res/mipmap-hdpi/ic_launcher.png +0 -0
  256. package/dist/templates/platforms/androidtv/project/app/src/voa365/res/mipmap-mdpi/ic_launcher.png +0 -0
  257. package/dist/templates/platforms/androidtv/project/app/src/voa365/res/mipmap-xhdpi/ic_launcher.png +0 -0
  258. package/dist/templates/platforms/androidtv/project/app/src/voa365/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  259. package/dist/templates/platforms/androidtv/project/app/src/voa365/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  260. package/dist/templates/platforms/androidtv/project/app/src/voa365/res/raw/configuration.json +7 -0
  261. package/dist/templates/platforms/androidtv/project/app/src/youFone/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
  262. package/dist/templates/platforms/androidtv/project/app/src/youFone/res/raw/configuration.json +6 -0
  263. package/dist/templates/platforms/androidtv/project/build.gradle +52 -0
  264. package/dist/templates/platforms/androidtv/project/common/build.gradle +38 -0
  265. package/dist/templates/platforms/androidtv/project/common/consumer-rules.pro +0 -0
  266. package/dist/templates/platforms/androidtv/project/common/proguard-rules.pro +21 -0
  267. package/dist/templates/platforms/androidtv/project/common/src/main/AndroidManifest.xml +4 -0
  268. package/dist/templates/platforms/androidtv/project/common/src/main/java/com/twentyfouri/tvbridge/common/IapService.kt +114 -0
  269. package/dist/templates/platforms/androidtv/project/googleiap/build.gradle +40 -0
  270. package/dist/templates/platforms/androidtv/project/googleiap/consumer-rules.pro +0 -0
  271. package/dist/templates/platforms/androidtv/project/googleiap/proguard-rules.pro +21 -0
  272. package/dist/templates/platforms/androidtv/project/googleiap/src/main/AndroidManifest.xml +6 -0
  273. package/dist/templates/platforms/androidtv/project/googleiap/src/main/java/com/twentyfouri/tvbridge/googleiap/GoogleIapService.kt +29 -0
  274. package/dist/templates/platforms/androidtv/project/gradle/wrapper/gradle-wrapper.jar +0 -0
  275. package/dist/templates/platforms/androidtv/project/gradle/wrapper/gradle-wrapper.properties +6 -0
  276. package/dist/templates/platforms/androidtv/project/gradle.properties +5 -0
  277. package/dist/templates/platforms/androidtv/project/keystore/debug_madrid.jks +0 -0
  278. package/dist/templates/platforms/androidtv/project/proguard-rules.pro +42 -0
  279. package/dist/templates/platforms/androidtv/project/settings.gradle +4 -0
  280. package/package.json +3 -2
@@ -0,0 +1,279 @@
1
+ package com.twentyfouri.tvbridge.webview.view
2
+
3
+ import android.annotation.SuppressLint
4
+ import android.app.Activity
5
+ import android.graphics.Point
6
+ import android.media.AudioManager
7
+ import android.media.AudioManager.OnAudioFocusChangeListener
8
+ import android.os.Bundle
9
+ import android.text.Editable
10
+ import android.text.TextWatcher
11
+ import android.util.Log
12
+ import android.view.KeyEvent
13
+ import android.view.View
14
+ import android.view.WindowManager
15
+ import android.view.inputmethod.InputMethodManager
16
+ import android.widget.RelativeLayout
17
+ import android.widget.Toast
18
+ import androidx.appcompat.app.AppCompatActivity
19
+ import androidx.databinding.DataBindingUtil
20
+ import com.twentyfouri.smartexoplayer.SmartPlayer
21
+ import com.twentyfouri.tvbridge.BuildConfig
22
+ import com.twentyfouri.tvbridge.R
23
+ import com.twentyfouri.tvbridge.configuration.BridgeConfig
24
+ import com.twentyfouri.tvbridge.databinding.ActivityWebViewBinding
25
+ import com.twentyfouri.tvbridge.global.BaseApplication
26
+ import com.twentyfouri.tvbridge.global.di.ActivityComponent
27
+ import com.twentyfouri.tvbridge.global.di.ActivityModule
28
+ import com.twentyfouri.tvbridge.global.di.DaggerActivityComponent
29
+ import com.twentyfouri.tvbridge.sound.TouchPlayer
30
+ import com.twentyfouri.tvbridge.webview.model.MediaEventType
31
+ import com.twentyfouri.tvbridge.webview.viewmodel.WebViewModel
32
+ import java.net.CookieHandler
33
+ import java.net.CookieManager
34
+ import java.net.CookiePolicy
35
+
36
+ class WebViewActivity : AppCompatActivity(), Mainview {
37
+
38
+ private lateinit var component: ActivityComponent
39
+ private lateinit var binding: ActivityWebViewBinding
40
+ private lateinit var config: BridgeConfig
41
+ private lateinit var audioManager: AudioManager
42
+ private lateinit var viewModel: WebViewModel
43
+ private lateinit var touchPlayer: TouchPlayer
44
+
45
+ private val audioFocusListener = OnAudioFocusChangeListener { /* we actually don't care */ }
46
+
47
+ @SuppressLint("SetJavaScriptEnabled")
48
+ override fun onCreate(savedInstanceState: Bundle?) {
49
+ super.onCreate(savedInstanceState)
50
+
51
+ component = DaggerActivityComponent.builder()
52
+ .applicationComponent((application as BaseApplication).component)
53
+ .activityModule(ActivityModule(this))
54
+ .build()
55
+ config = component.configuration
56
+ touchPlayer = component.touchPlayer
57
+ viewModel = component.viewModelFactory.get()
58
+ audioManager = getSystemService(AUDIO_SERVICE) as AudioManager
59
+
60
+ window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
61
+ val currentHandler = CookieHandler.getDefault()
62
+ if (currentHandler !== defaultCookieManager) {
63
+ CookieHandler.setDefault(defaultCookieManager)
64
+ }
65
+
66
+ binding = DataBindingUtil.setContentView(this, R.layout.activity_web_view)
67
+ binding.viewModel = viewModel
68
+ viewModel.attachView(this)
69
+ viewModel.configureWebView(binding.webview)
70
+
71
+ binding.url.addTextChangedListener(object : TextWatcher {
72
+ override fun beforeTextChanged(s: CharSequence, start: Int, count: Int, after: Int) {}
73
+ override fun onTextChanged(s: CharSequence, start: Int, before: Int, count: Int) {
74
+ viewModel.appUrl = s.toString()
75
+ }
76
+
77
+ override fun afterTextChanged(s: Editable) {}
78
+ })
79
+
80
+ val appUrl = config.baseUrl
81
+ if (BuildConfig.DEBUG) {
82
+ viewModel.urlSetterVisible = true
83
+ viewModel.appUrl = appUrl
84
+ setUrlToView(appUrl)
85
+ } else {
86
+ viewModel.urlSetterVisible = false
87
+ loadUrl(appUrl)
88
+ }
89
+
90
+ binding.root.viewTreeObserver.addOnGlobalFocusChangeListener { oldFocus: View, newFocus: View ->
91
+ Log.v("FOCUS", "global focus changed old = $oldFocus")
92
+ Log.v("FOCUS", "global focus changed new = $newFocus")
93
+ }
94
+ }
95
+
96
+ override fun hideKeyboard() {
97
+ val imm = getSystemService(Activity.INPUT_METHOD_SERVICE) as? InputMethodManager
98
+ ?: return
99
+ //If imm is null do nothing
100
+ //Find the currently focused view, so we can grab the correct window token from it.
101
+ //If no view currently has focus, create a new one, just so we can grab a window token from it
102
+ val view = currentFocus ?: View(this)
103
+ imm.hideSoftInputFromWindow(view.windowToken, 0)
104
+ }
105
+
106
+ override fun assignPlayer(player: SmartPlayer?) {
107
+ binding.exoplayerView.player = player
108
+ }
109
+
110
+ override fun setBlackCurtainVisibility(visibility: Int) {
111
+ runOnUiThread {
112
+ binding.blackCurtain.visibility = visibility
113
+ }
114
+ }
115
+
116
+ override fun showMessage(message: String?) {
117
+ Toast.makeText(this, message, Toast.LENGTH_SHORT).show()
118
+ }
119
+
120
+ override fun requestAudioFocus(): Int {
121
+ return audioManager.requestAudioFocus(audioFocusListener, // Use the music stream.
122
+ AudioManager.STREAM_MUSIC, // Request permanent focus.
123
+ AudioManager.AUDIOFOCUS_GAIN)
124
+ }
125
+
126
+ override fun abandonAudioFocus() {
127
+ audioManager.abandonAudioFocus(audioFocusListener)
128
+ }
129
+
130
+ public override fun onResume() {
131
+ super.onResume()
132
+ viewModel.checkNewPurchases()
133
+ viewModel.resumePlayer()
134
+ }
135
+
136
+ public override fun onPause() {
137
+ viewModel.pausePlayer()
138
+ super.onPause()
139
+ }
140
+
141
+ public override fun onDestroy() {
142
+ viewModel.releasePlayer()
143
+ binding.unbind()
144
+ super.onDestroy()
145
+ }
146
+
147
+ override fun goFullscreen() {
148
+ val layoutParams = binding.exoplayerView.layoutParams as RelativeLayout.LayoutParams
149
+ layoutParams.width = -1
150
+ layoutParams.height = -1
151
+ layoutParams.leftMargin = 0
152
+ layoutParams.topMargin = 0
153
+ val wm = getSystemService(WINDOW_SERVICE) as WindowManager
154
+ val display = wm.defaultDisplay
155
+ val size = Point()
156
+ display.getSize(size)
157
+ val width = size.x
158
+ val height = size.y
159
+ binding.exoplayerView.layoutParams = layoutParams
160
+ binding.exoplayerView.layout(width, height, 0, 0)
161
+ }
162
+
163
+ override fun launchIapPurchase(sku: String) {
164
+ viewModel.launchIapPurchase(this, sku)
165
+ }
166
+
167
+ override fun exitFullscreen(width: Int, height: Int, left: Int, top: Int) {
168
+ val layoutParams = binding.exoplayerView.layoutParams as RelativeLayout.LayoutParams
169
+ layoutParams.width = width
170
+ layoutParams.height = height
171
+ layoutParams.leftMargin = left
172
+ layoutParams.topMargin = top
173
+
174
+ //set the layout inner and outer sizes
175
+ binding.exoplayerView.layoutParams = layoutParams
176
+ binding.exoplayerView.layout(width, height, left, top)
177
+ }
178
+
179
+ override fun setUrlToView(urlString: String?) {
180
+ binding.url.requestFocus()
181
+ binding.url.setText(urlString)
182
+ binding.url.setSelection(urlString?.length ?: 0)
183
+ }
184
+
185
+ override fun onKeyDown(keyCode: Int, event: KeyEvent): Boolean {
186
+ when (event.keyCode) {
187
+ KeyEvent.KEYCODE_DPAD_RIGHT, KeyEvent.KEYCODE_DPAD_LEFT -> changeFocus()
188
+ KeyEvent.KEYCODE_DPAD_CENTER -> goToUrl()
189
+ KeyEvent.KEYCODE_BACK, KeyEvent.KEYCODE_BUTTON_B, KeyEvent.KEYCODE_BUTTON_A, KeyEvent.KEYCODE_MENU, KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE, KeyEvent.KEYCODE_MEDIA_PLAY, KeyEvent.KEYCODE_MEDIA_PAUSE, KeyEvent.KEYCODE_MEDIA_FAST_FORWARD, KeyEvent.KEYCODE_MEDIA_REWIND -> {
190
+ if (!binding.url.hasFocus() && !binding.buttonGo.hasFocus()) {
191
+ // Send these key presses to the WebView, through a JavaScript bridge.
192
+ viewModel.sendKeyCode(event.keyCode, MediaEventType.KEY_DOWN)
193
+ }
194
+ }
195
+ else -> {
196
+ if (!binding.url.hasFocus() && !binding.buttonGo.hasFocus()) {
197
+ viewModel.sendKeyCode(event.keyCode, MediaEventType.KEY_DOWN)
198
+ }
199
+ }
200
+ }
201
+ return super.onKeyDown(keyCode, event)
202
+ }
203
+
204
+ override fun dispatchKeyEvent(event: KeyEvent): Boolean {
205
+ playTouchSounds(event)
206
+ return super.dispatchKeyEvent(event)
207
+ }
208
+
209
+ private fun playTouchSounds(event: KeyEvent) {
210
+ if (event.action != KeyEvent.ACTION_DOWN) {
211
+ return
212
+ }
213
+ when (event.keyCode) {
214
+ KeyEvent.KEYCODE_DPAD_RIGHT,
215
+ KeyEvent.KEYCODE_DPAD_LEFT,
216
+ KeyEvent.KEYCODE_DPAD_UP,
217
+ KeyEvent.KEYCODE_DPAD_DOWN,
218
+ KeyEvent.KEYCODE_DPAD_CENTER ->
219
+ if (config.isEnabledTouchSound) {
220
+ touchPlayer.play()
221
+ }
222
+ }
223
+ }
224
+
225
+ private fun goToUrl() {
226
+ if (binding.buttonGo.hasFocus()) {
227
+ viewModel.onClickGo()
228
+ }
229
+ }
230
+
231
+ private fun changeFocus() {
232
+ if (binding.url.hasFocus()) {
233
+ binding.buttonGo.requestFocus()
234
+ } else if (binding.buttonGo.hasFocus()) {
235
+ binding.url.requestFocus()
236
+ }
237
+ }
238
+
239
+ override fun onKeyUp(keyCode: Int, event: KeyEvent): Boolean {
240
+ if (!binding.url.hasFocus() && !binding.buttonGo.hasFocus()) {
241
+ // Send these key presses to the WebView, through a JavaScript bridge.
242
+ viewModel.sendKeyCode(event.keyCode, MediaEventType.KEY_UP)
243
+ return true
244
+ }
245
+ return super.onKeyUp(keyCode, event)
246
+ }
247
+
248
+ override fun onKeyLongPress(keyCode: Int, event: KeyEvent): Boolean {
249
+ if (!binding.url.hasFocus() && !binding.buttonGo.hasFocus()) {
250
+ // Send these key presses to the WebView, through a JavaScript bridge.
251
+ viewModel.sendKeyCode(event.keyCode, MediaEventType.KEY_PRESS)
252
+ return true
253
+ }
254
+ return super.onKeyLongPress(keyCode, event)
255
+ }
256
+
257
+ override fun loadUrl(url: String?) {
258
+ if (url.isNullOrEmpty()) return
259
+ binding.webview.visibility = View.VISIBLE
260
+ binding.webview.loadUrl(url)
261
+ if (url.startsWith("http")) {
262
+ binding.webview.requestFocus()
263
+ }
264
+ }
265
+
266
+ override fun onBackPressed() {
267
+ super.onBackPressed()
268
+ }
269
+
270
+ override fun setSubtitlesVisibility(subtitlesEnabled: Boolean) {
271
+ binding.exoplayerView.subtitlesVisibility = subtitlesEnabled
272
+ }
273
+
274
+ companion object {
275
+ private val defaultCookieManager: CookieManager = CookieManager().apply {
276
+ setCookiePolicy(CookiePolicy.ACCEPT_ALL)
277
+ }
278
+ }
279
+ }