public async void RefreshConfigData(CancellationToken cancellationToken)
        {
            var config = Plugin.Instance.Configuration;

            if (config.TunerHostsConfiguration != null)
            {
                _tunerServer = TunerHostFactory.CreateTunerHosts(config.TunerHostsConfiguration, _logger, _jsonSerializer, _httpClient);
                for (var i = 0; i < _tunerServer.Count(); i++)
                {
                    await _tunerServer[i].GetDeviceInfo(cancellationToken);
                    config.TunerHostsConfiguration[i].ServerId = _tunerServer[i].HostId;
                }
            }
            if (FirstRun)
            {
                seriesTimers = GetSeriesTimerData(DataPath, _xmlSerializer);
                InitializeTimer(GetTimerData(DataPath, _xmlSerializer));
            }
            FirstRun = false;
            _tvGuide = new EPGProvider.SchedulesDirect(config.username, config.hashPassword, config.lineup, _logger, _jsonSerializer, _httpClient);
            config.avaliableLineups = await _tvGuide.getLineups(cancellationToken);

            if (_tvGuide.badPassword)
            {
                config.hashPassword = "";
            }
            config.headends = await _tvGuide.getHeadends(config.zipCode, cancellationToken);

            Plugin.Instance.SaveConfiguration();
        }
Beispiel #2
0
        private async Task AddLineupIfNeeded(PluginConfiguration config, CancellationToken cancellationToken)
        {
            if (string.IsNullOrWhiteSpace(config.lineup.Id))
            {
                return;
            }

            var lineups = await _tvGuide.getLineups(cancellationToken).ConfigureAwait(false);

            if (!lineups.Any(i => string.Equals(i, config.lineup.Id, StringComparison.OrdinalIgnoreCase)))
            {
                try
                {
                    await _tvGuide.addHeadEnd(config.lineup.Id, cancellationToken).ConfigureAwait(false);
                }
                catch (Exception e)
                {
                    _logger.Debug("Error adding headend", e);
                }
            }
        }