protected:
BasicSplashScreen(std::unique_ptr<SplashScreenDelegate> delegate);
+ void BeforeHide() override {}
wgt::parse::ReadyWhen GetReadyWhen() override;
using SplashScreenData = const wgt::parse::LaunchScreenData;
}
void NativeWebRuntimeDelegateTV::DidInitialized() {
- EarlyLoadUrlIfHostedApp();
VideoSplashScreen::InitializeVSS();
+ EarlyLoadUrlIfHostedApp();
SetD2dServiceMessageListener();
SubscribePowerState();
if (aul_app_com_connection_)
return;
- if (!aul_extension_splash_screen_tv_event("ISVIDEO"))
+ if (!aul_extension_splash_screen_tv_event("ISVIDEO")) {
+ LOG(ERROR) << "Failed to send ISVIDEO to VSS";
return;
+ }
std::string com_endpoint = kSplashScreenAulAppCom + app_data.app_id();
if (aul_app_com_create(com_endpoint.c_str(), nullptr, OnSplashScreenMessage,
}
}
+void VideoSplashScreen::BeforeHide() {
+ Hide();
+}
+
void VideoSplashScreen::Hide() {
+ if (was_hidden_)
+ return;
+
if (VideoSplashScreen::IsVSSPlaying()) {
auto hidden_reason = SplashScreen::GetHiddenReason();
const char* hide_reason = HideReasonToString(hidden_reason);
HideVSSPlayer(hide_reason);
+ was_hidden_ = true;
}
}