@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.
- package/dist/src/sdks/index.js +3 -1
- package/dist/templates/platforms/androidtv/project/README.md +198 -0
- package/dist/templates/platforms/androidtv/project/amazoniap/build.gradle +39 -0
- package/dist/templates/platforms/androidtv/project/amazoniap/consumer-rules.pro +0 -0
- package/dist/templates/platforms/androidtv/project/amazoniap/libs/in-app-purchasing-2.0.76.jar +0 -0
- package/dist/templates/platforms/androidtv/project/amazoniap/proguard-rules.pro +21 -0
- package/dist/templates/platforms/androidtv/project/amazoniap/src/main/AndroidManifest.xml +4 -0
- package/dist/templates/platforms/androidtv/project/amazoniap/src/main/java/com/twentyfouri/bridgetv/amazoniap/AmazonIapSevice.kt +106 -0
- package/dist/templates/platforms/androidtv/project/app/build.gradle +371 -0
- package/dist/templates/platforms/androidtv/project/app/proguard-rules.pro +32 -0
- package/dist/templates/platforms/androidtv/project/app/src/alhurra/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
- package/dist/templates/platforms/androidtv/project/app/src/alhurra/res/drawable/banner.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/alhurra/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/alhurra/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/alhurra/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/alhurra/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/alhurra/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/alhurra/res/raw/configuration.json +7 -0
- package/dist/templates/platforms/androidtv/project/app/src/androidTest/assets/getStatusSuccesfulResponse.json +9 -0
- package/dist/templates/platforms/androidtv/project/app/src/androidTest/assets/tokenFromPassword_200.json +7 -0
- package/dist/templates/platforms/androidtv/project/app/src/androidTest/java/com/ngsn/tv/RestServiceTestHelper.java +34 -0
- package/dist/templates/platforms/androidtv/project/app/src/androidTest/java/com/ngsn/tv/WebViewActivityTest.java +104 -0
- package/dist/templates/platforms/androidtv/project/app/src/androidTest/java/com/twentyfouri/tvbridge/SignTest.kt +54 -0
- package/dist/templates/platforms/androidtv/project/app/src/androidTest/java/com/twentyfouri/tvbridge/amazonIAP/AmazonIAPManagerTest.java +74 -0
- package/dist/templates/platforms/androidtv/project/app/src/androidTest/java/com/twentyfouri/tvbridge/amazonIAP/SinclairTestRunner.java +22 -0
- package/dist/templates/platforms/androidtv/project/app/src/androidTest/java/com/twentyfouri/tvbridge/webview/ui/model/BridgeWebViewTest.java +50 -0
- package/dist/templates/platforms/androidtv/project/app/src/bbg/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
- package/dist/templates/platforms/androidtv/project/app/src/bbg/res/drawable/banner.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/bbg/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/bbg/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/bbg/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/bbg/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/bbg/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/bbg/res/raw/configuration.json +7 -0
- package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
- package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/drawable/banner.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/bigscreenAppstage/res/raw/configuration.json +6 -0
- package/dist/templates/platforms/androidtv/project/app/src/broadwayhd/java/com/twentyfouri/tvbridge/Flavor.kt +9 -0
- package/dist/templates/platforms/androidtv/project/app/src/broadwayhd/res/drawable/banner.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/broadwayhd/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/broadwayhd/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/broadwayhd/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/broadwayhd/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/broadwayhd/res/raw/configuration.json +16 -0
- package/dist/templates/platforms/androidtv/project/app/src/cineClick/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
- package/dist/templates/platforms/androidtv/project/app/src/cineClick/res/raw/configuration.json +6 -0
- package/dist/templates/platforms/androidtv/project/app/src/entel/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
- package/dist/templates/platforms/androidtv/project/app/src/entel/res/raw/configuration.json +6 -0
- package/dist/templates/platforms/androidtv/project/app/src/fuboTV/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
- package/dist/templates/platforms/androidtv/project/app/src/fuboTV/res/raw/configuration.json +6 -0
- package/dist/templates/platforms/androidtv/project/app/src/fuse/AndroidManifest.xml +12 -0
- package/dist/templates/platforms/androidtv/project/app/src/fuse/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
- package/dist/templates/platforms/androidtv/project/app/src/fuse/res/drawable/banner.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/fuse/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/fuse/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/fuse/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/fuse/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/fuse/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/fuse/res/raw/configuration.json +9 -0
- package/dist/templates/platforms/androidtv/project/app/src/gsn/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
- package/dist/templates/platforms/androidtv/project/app/src/gsn/res/drawable/banner.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/gsn/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/gsn/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/gsn/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/gsn/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/gsn/res/raw/configuration.json +8 -0
- package/dist/templates/platforms/androidtv/project/app/src/heremedia/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
- package/dist/templates/platforms/androidtv/project/app/src/heremedia/res/drawable/banner.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/heremedia/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/heremedia/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/heremedia/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/heremedia/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/heremedia/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/heremedia/res/raw/configuration.json +6 -0
- package/dist/templates/platforms/androidtv/project/app/src/hummingbird/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
- package/dist/templates/platforms/androidtv/project/app/src/hummingbird/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/hummingbird/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/hummingbird/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/hummingbird/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/hummingbird/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/hummingbird/res/raw/configuration.json +6 -0
- package/dist/templates/platforms/androidtv/project/app/src/kijk/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
- package/dist/templates/platforms/androidtv/project/app/src/kijk/res/drawable/banner.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/kijk/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/kijk/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/kijk/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/kijk/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/kijk/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/kijk/res/raw/configuration.json +6 -0
- package/dist/templates/platforms/androidtv/project/app/src/kpn/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
- package/dist/templates/platforms/androidtv/project/app/src/kpn/res/drawable/banner.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/kpn/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/kpn/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/kpn/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/kpn/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/kpn/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/kpn/res/raw/configuration.json +6 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/AndroidManifest.xml +47 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/FlavorBase.kt +12 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/bridge/BridgeFromJavaScript.kt +379 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/bridge/BridgeToJavaScript.kt +65 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/BridgeConfig.kt +9 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/ConfigCallback.kt +6 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/ConfigProvider.kt +27 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/Drm.kt +10 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/configuration/UserAgent.kt +6 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/BaseApplication.kt +73 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ActivityComponent.kt +13 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ActivityModule.kt +19 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ApplicationComponent.kt +24 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/ApplicationModule.kt +43 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/di/PerActivity.kt +26 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/HttpMediaDrmCallback.kt +184 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/LocalStorage.kt +30 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/LoggingDrmCallback.kt +46 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/global/utils/SimpleActivityLifecycleCallback.kt +32 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/jump/JumpAnalytics.kt +209 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/sound/TouchPlayer.kt +86 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/client/BridgeWebView.kt +80 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/client/BridgeWebViewClient.kt +114 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/AnalyticsPlaybackInfo.kt +10 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/ContentModel.kt +14 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/DrmModel.kt +20 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/model/MediaEventType.kt +17 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/ContentModelParser.kt +16 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/DeviceInfoParser.kt +22 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/PlaybackInfoParser.kt +10 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/parser/TrackJsonModelParser.kt +76 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/Mainview.kt +22 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/PlayerCache.kt +15 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/view/WebViewActivity.kt +279 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/java/com/twentyfouri/tvbridge/webview/viewmodel/WebViewModel.kt +569 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/banner.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_background_focus.xml +10 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_background_normal.xml +7 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_background_pressed.xml +7 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/res/drawable/button_focus.xml +8 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/res/layout/activity_web_view.xml +78 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/res/raw/click.ogg +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/res/raw/fiddle_root_michal_konecny.cer +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/res/raw/proxy_milanwilczak.pem +26 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/res/values/styles.xml +11 -0
- package/dist/templates/platforms/androidtv/project/app/src/main/res/xml/network_security_config.xml +12 -0
- package/dist/templates/platforms/androidtv/project/app/src/marti/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
- package/dist/templates/platforms/androidtv/project/app/src/marti/res/drawable/banner.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/marti/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/marti/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/marti/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/marti/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/marti/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/marti/res/raw/configuration.json +8 -0
- package/dist/templates/platforms/androidtv/project/app/src/newsmax/AndroidManifest.xml +43 -0
- package/dist/templates/platforms/androidtv/project/app/src/newsmax/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
- package/dist/templates/platforms/androidtv/project/app/src/newsmax/res/drawable/banner.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/newsmax/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/newsmax/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/newsmax/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/newsmax/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/newsmax/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/newsmax/res/raw/configuration.json +7 -0
- package/dist/templates/platforms/androidtv/project/app/src/portal/java/com/twentyfouri/tvbridge/Flavor.kt +10 -0
- package/dist/templates/platforms/androidtv/project/app/src/portal/res/raw/configuration.json +7 -0
- package/dist/templates/platforms/androidtv/project/app/src/portalDrm/java/com/twentyfouri/tvbridge/Flavor.kt +10 -0
- package/dist/templates/platforms/androidtv/project/app/src/portalDrm/res/drawable/banner.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/portalDrm/res/raw/configuration.json +6 -0
- package/dist/templates/platforms/androidtv/project/app/src/pureflix/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
- package/dist/templates/platforms/androidtv/project/app/src/pureflix/res/drawable/banner.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/pureflix/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/pureflix/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/pureflix/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/pureflix/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/pureflix/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/pureflix/res/raw/configuration.json +6 -0
- package/dist/templates/platforms/androidtv/project/app/src/rfa/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
- package/dist/templates/platforms/androidtv/project/app/src/rfa/res/drawable/banner.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/rfa/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/rfa/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/rfa/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/rfa/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/rfa/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/rfa/res/raw/configuration.json +7 -0
- package/dist/templates/platforms/androidtv/project/app/src/rfe/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
- package/dist/templates/platforms/androidtv/project/app/src/rfe/res/drawable/banner.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/rfe/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/rfe/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/rfe/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/rfe/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/rfe/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/rfe/res/raw/configuration.json +6 -0
- package/dist/templates/platforms/androidtv/project/app/src/rte/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
- package/dist/templates/platforms/androidtv/project/app/src/rte/res/drawable/banner.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/rte/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/rte/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/rte/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/rte/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/rte/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/rte/res/raw/configuration.json +9 -0
- package/dist/templates/platforms/androidtv/project/app/src/sentai/google-services.json +191 -0
- package/dist/templates/platforms/androidtv/project/app/src/sentai/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/sentai/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/sentai/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/sentai/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/sentai/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/sentai/res/raw/configuration.json +15 -0
- package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/google-services.json +191 -0
- package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/java/com/twentyfouri/tvbridge/Flavor.kt +54 -0
- package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/java/com/twentyfouri/tvbridge/SentaiRequestData.kt +13 -0
- package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/res/drawable/banner.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/sentaiandroidtv/res/raw/configuration.json +14 -0
- package/dist/templates/platforms/androidtv/project/app/src/smartott/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
- package/dist/templates/platforms/androidtv/project/app/src/smartott/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/smartott/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/smartott/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/smartott/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/smartott/res/raw/configuration.json +6 -0
- package/dist/templates/platforms/androidtv/project/app/src/tennisChannel/java/com/twentyfouri/tvbridge/Flavor.kt +9 -0
- package/dist/templates/platforms/androidtv/project/app/src/tennisChannel/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/tennisChannel/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/tennisChannel/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/tennisChannel/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/tennisChannel/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/tennisChannel/res/raw/configuration.json +6 -0
- package/dist/templates/platforms/androidtv/project/app/src/topic/java/com/twentyfouri/tvbridge/Flavor.kt +9 -0
- package/dist/templates/platforms/androidtv/project/app/src/topic/res/drawable/banner.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/topic/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/topic/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/topic/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/topic/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/topic/res/raw/configuration.json +9 -0
- package/dist/templates/platforms/androidtv/project/app/src/voa/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
- package/dist/templates/platforms/androidtv/project/app/src/voa/res/drawable/banner.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/voa/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/voa/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/voa/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/voa/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/voa/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/voa/res/raw/configuration.json +7 -0
- package/dist/templates/platforms/androidtv/project/app/src/voa365/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
- package/dist/templates/platforms/androidtv/project/app/src/voa365/res/drawable/banner.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/voa365/res/mipmap-hdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/voa365/res/mipmap-mdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/voa365/res/mipmap-xhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/voa365/res/mipmap-xxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/voa365/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
- package/dist/templates/platforms/androidtv/project/app/src/voa365/res/raw/configuration.json +7 -0
- package/dist/templates/platforms/androidtv/project/app/src/youFone/java/com/twentyfouri/tvbridge/Flavor.kt +5 -0
- package/dist/templates/platforms/androidtv/project/app/src/youFone/res/raw/configuration.json +6 -0
- package/dist/templates/platforms/androidtv/project/build.gradle +52 -0
- package/dist/templates/platforms/androidtv/project/common/build.gradle +38 -0
- package/dist/templates/platforms/androidtv/project/common/consumer-rules.pro +0 -0
- package/dist/templates/platforms/androidtv/project/common/proguard-rules.pro +21 -0
- package/dist/templates/platforms/androidtv/project/common/src/main/AndroidManifest.xml +4 -0
- package/dist/templates/platforms/androidtv/project/common/src/main/java/com/twentyfouri/tvbridge/common/IapService.kt +114 -0
- package/dist/templates/platforms/androidtv/project/googleiap/build.gradle +40 -0
- package/dist/templates/platforms/androidtv/project/googleiap/consumer-rules.pro +0 -0
- package/dist/templates/platforms/androidtv/project/googleiap/proguard-rules.pro +21 -0
- package/dist/templates/platforms/androidtv/project/googleiap/src/main/AndroidManifest.xml +6 -0
- package/dist/templates/platforms/androidtv/project/googleiap/src/main/java/com/twentyfouri/tvbridge/googleiap/GoogleIapService.kt +29 -0
- package/dist/templates/platforms/androidtv/project/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/dist/templates/platforms/androidtv/project/gradle/wrapper/gradle-wrapper.properties +6 -0
- package/dist/templates/platforms/androidtv/project/gradle.properties +5 -0
- package/dist/templates/platforms/androidtv/project/keystore/debug_madrid.jks +0 -0
- package/dist/templates/platforms/androidtv/project/proguard-rules.pro +42 -0
- package/dist/templates/platforms/androidtv/project/settings.gradle +4 -0
- 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
|
+
}
|