Settings.propTVBrowserVersion.setVersion(VERSION);
Settings.propTVBrowserVersionIsStable.setBoolean(VERSION.isStable());
final Splash splash;
if (mShowSplashScreen && Settings.propSplashShow.getBoolean()) {
splash = new SplashScreen(
Settings.propSplashImage.getString(),
Settings.propSplashTextPosX.getInt(),
Settings.propSplashTextPosY.getInt(),
Settings.propSplashForegroundColor.getColor());
}
else {
splash = new DummySplash();
}
splash.showSplash();
/* Initialize the MarkedProgramsList */
MarkedProgramsList.getInstance();
/*Maybe there are tvdataservices to install (.jar.inst files)*/
PluginLoader.getInstance().installPendingPlugins();
PluginLoader.getInstance().loadAllPlugins();
mLog.info("Loading TV listings service...");
splash.setMessage(mLocalizer.msg("splash.dataService", "Loading TV listings service..."));
TvDataServiceProxyManager.getInstance().init();
ChannelList.createForTvBrowserStart();
ChannelList.initSubscribedChannels();
if (!lookAndFeelInitialized) {
mLog.info("Loading Look&Feel...");
splash.setMessage(mLocalizer.msg("splash.laf", "Loading look and feel..."));
updateLookAndFeel();
}
mLog.info("Loading plugins...");
splash.setMessage(mLocalizer.msg("splash.plugins", "Loading plugins..."));
try {
PluginProxyManager.getInstance().init();
} catch(TvBrowserException exc) {
ErrorHandler.handle(exc);
}
splash.setMessage(mLocalizer.msg("splash.tvData", "Checking TV database..."));
mLog.info("Checking TV listings inventory...");
TvDataBase.getInstance().checkTvDataInventory();
mLog.info("Starting up...");
splash.setMessage(mLocalizer.msg("splash.ui", "Starting up..."));
Toolkit.getDefaultToolkit().getSystemEventQueue().push(new TextComponentPopupEventQueue());
// Init the UI
final boolean fStartMinimized = Settings.propMinimizeAfterStartup.getBoolean() || mMinimized;