switch (type) { case MOVIE: plugins.addAll(PluginManager.getInstance().getPluginsForInterface(IMovieMetadataProvider.class)); break; case TV_SHOW: plugins.addAll(PluginManager.getInstance().getPluginsForInterface(ITvShowMetadataProvider.class)); break; case MOVIE_SET: plugins.addAll(PluginManager.getInstance().getPluginsForInterface(IMovieSetMetadataProvider.class)); break; case MOVIE_ARTWORK: plugins.addAll(PluginManager.getInstance().getPluginsForInterface(IMovieArtworkProvider.class)); break; case TV_SHOW_ARTWORK: plugins.addAll(PluginManager.getInstance().getPluginsForInterface(ITvShowArtworkProvider.class)); break; case MOVIE_TRAILER: plugins.addAll(PluginManager.getInstance().getPluginsForInterface(IMovieTrailerProvider.class)); break; case SUBTITLE: plugins.addAll(PluginManager.getInstance().getPluginsForInterface(IMediaSubtitleProvider.class)); break; default: for (IKodiMetadataProvider kodi : PluginManager.getInstance().getPluginsForInterface(IKodiMetadataProvider.class)) { try { for (IMediaProvider p : kodi.getPluginsForType(MediaType.toMediaType(type.name()))) {
@Override public MediaMetadata call() throws Exception { try { IMovieMetadataProvider tmdb = null; List<IMovieMetadataProvider> providers = PluginManager.getInstance().getPluginsForInterface(IMovieMetadataProvider.class); for (IMovieMetadataProvider provider : providers) { if ("tmdb".equals(provider.getProviderInfo().getId())) { tmdb = provider; break; } } if (tmdb == null) { return null; } MediaScrapeOptions options = new MediaScrapeOptions(MediaType.MOVIE); options.setLanguage(language); options.setCountry(certificationCountry); options.setImdbId(imdbId); return tmdb.getMetadata(options); } catch (Exception e) { return null; } } }
PluginManager.getInstance(); if (ReleaseInfo.isGitBuild()) { PluginManager.loadClasspathPlugins();