Esempio n. 1
0
 /// <summary>
 /// Initializes Twitter API
 /// </summary>
 private static void InitializeTwitterApi()
 {
     if ((!string.IsNullOrEmpty(_twitter.oAuthTwitter.Token) && !string.IsNullOrEmpty(_twitter.oAuthTwitter.TokenSecret)))
     {
         _twitter.SetAllowedFriends(CommonFunctions.GetSetting("Service_Twitter_Friends"));
     }
 }
Esempio n. 2
0
        /// <summary>
        /// Updates status to XML file
        /// </summary>
        /// <param name="newStatus"></param>
        public void UpdateXml(string[] newStatus)
        {
            if (bool.Parse(CommonFunctions.GetSetting("EventsEnabled_Service_Xml")))
            {
                if (string.IsNullOrEmpty(newStatus[0]) && bool.Parse(CommonFunctions.GetSetting("Service_Xml_ClearWhenNoMedia")))
                {
                    WriteXmlFile(new string[] { "", "", "", "0" });
                }
                else
                {
                    try
                    {
                        WriteXmlFile(newStatus);
                    }
                    catch (Exception e)
                    {
                        ShowDialog("Unable to save status XML file. " + e.Message, false, 2, DialogButtons.Ok);
                    }
                    finally
                    {
                        _previousStatus = newStatus[0];

                        MyAddIn.StatusHasBeenChanged = true;
                    }
                }
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Shows next Twitter status
        /// </summary>
        private void ShowNextTwitterStatus()
        {
            string[] twitterStatusString = _twitter.GetNextTwitterStatus();

            if (twitterStatusString != null)
            {
                int timeToShow = 5;

                // Show long tweets longer time
                if (twitterStatusString[1].Length > 100)
                {
                    timeToShow = 10;
                }

                // Show suspend tweets button if configured
                if (bool.Parse(CommonFunctions.GetSetting("Service_Twitter_EnableSuspend")))
                {
                    var buttons = new string[] { "OK", "Suspend" };

                    DialogClosedCallback dcc = new DialogClosedCallback(TwitterDialogClosed);
                    _host.MediaCenterEnvironment.Dialog(twitterStatusString[1], twitterStatusString[0] + " says", buttons, timeToShow, false, "", dcc);
                }
                else
                {
                    _host.MediaCenterEnvironment.Dialog(twitterStatusString[1], twitterStatusString[0] + " says", DialogButtons.Ok, timeToShow, false);
                }
            }
        }
Esempio n. 4
0
        /// <summary>
        /// Initializes Twitter, including showing login screen
        /// </summary>
        private void InitializeTwitter()
        {
            if (bool.Parse(CommonFunctions.GetSetting("EventsEnabled_Service_Twitter")) || bool.Parse(CommonFunctions.GetSetting("EventsEnabled_Service_TwitterFriends")))
            {
                _twitter = new TwitterAPI();

                if (string.IsNullOrEmpty(CommonFunctions.GetSetting("Twitter_AccessToken")) || string.IsNullOrEmpty(CommonFunctions.GetSetting("Twitter_AccessTokenSecret")))
                {
                    // Show Twitter login screen
                    TwitterLoginScreen();
                }
                else
                {
                    if (!InitializeTwitterApi(CommonFunctions.GetSetting("Twitter_AccessToken"), CommonFunctions.GetSetting("Twitter_AccessTokenSecret")))
                    {
                        // Show Twitter login screen
                        TwitterLoginScreen();
                    }
                }

                // Get latest friend update status id
                if (bool.Parse(CommonFunctions.GetSetting("EventsEnabled_Service_TwitterFriends")) && !disableTwitterNotifications)
                {
                    if (!_twitter.UpdateLatestTwitterStatusId())
                    {
                        _host.MediaCenterEnvironment.Dialog("Error getting latest Twitter status ID, disabling Twitter friend status update notifications", AppName, DialogButtons.Ok, 10, true);
                        disableTwitterNotifications = true;
                    }
                }
            }
        }
Esempio n. 5
0
        public void Uninitialize()
        {
            if (bool.Parse(CommonFunctions.GetSetting("Service_Xml_ClearWhenNoMedia")))
            {
                _application.UpdateXml(new string[] { "", "", "", "0" });
            }

            _mediaState.Dispose();
        }
Esempio n. 6
0
        /// <summary>
        /// Sets the time when to re-enable showing Twitter updates
        /// </summary>
        private void InitTwitterSuspend()
        {
            // Immdiately clear all queued tweets
            _twitter.ClearStatusQueue();

            double suspendTime = 0;

            double.TryParse(CommonFunctions.GetSetting("Service_Twitter_SuspendTime"), out suspendTime);

            _twitterSuspendTime = DateTime.Now.AddMinutes(suspendTime);
        }
Esempio n. 7
0
        private static void WriteXmlFile(string[] newStatus)
        {
            XmlDocument   xmlDoc = new XmlDocument();
            StringBuilder xml    = new StringBuilder("<status><value>");

            xml.Append(newStatus[0]);
            xml.Append("</value><media>");
            xml.Append(newStatus[1]);
            xml.Append("</media><mediatype>");
            xml.Append(newStatus[2]);
            xml.Append("</mediatype></status>");

            xmlDoc.LoadXml(xml.ToString());
            xmlDoc.Save(CommonFunctions.GetSetting("Service_Xml_File"));
        }
Esempio n. 8
0
        /// <summary>
        /// Determines whether service is enabled based on registry start and end hour of day.
        /// </summary>
        /// <param name="key">Registry key containing time value when the specific service is enabled.</param>
        /// <returns>True if enabled</returns>
        private bool EventTimeEnabled(string key)
        {
            bool retVal = false;

            try
            {
                string timeSpan = CommonFunctions.GetSetting(key);

                if (string.IsNullOrEmpty(timeSpan))
                {
                    retVal = true;
                }
                else if (timeSpan.Contains("-"))
                {
                    string[] timeArr = timeSpan.Split('-');

                    int start, end;

                    if (int.TryParse(timeArr[0], out start) && int.TryParse(timeArr[1], out end))
                    {
                        int hour = DateTime.Now.Hour;

                        if (end < start)
                        {
                            if (hour >= start || hour < end)
                            {
                                retVal = true;
                            }
                        }
                        else
                        {
                            if (hour >= start && hour < end)
                            {
                                retVal = true;
                            }
                        }
                    }
                }
            }
            catch (Exception)
            {
                _host.MediaCenterEnvironment.Dialog("Error occurred in Event Time processing, please verify " + key, AppName,
                                                    DialogButtons.Ok, 5, false);
            }

            return(retVal);
        }
Esempio n. 9
0
        /// <summary>
        /// Initialized Facebook session
        /// </summary>
        private void InitializeFacebook()
        {
            if (bool.Parse(CommonFunctions.GetSetting("EventsEnabled_Service_Facebook")))
            {
                _fbApi = new FacebookAPI
                {
                    IsDesktopApplication = true,
                    ApplicationKey       = _fbAppId,
                };

                // If persistent session key was found, use it, else login
                if (!string.IsNullOrEmpty(_fbAccessToken = CommonFunctions.GetSetting("Facebook_AccessToken")) && !_fbAccessToken.Equals("false"))
                {
                    _fbApi.AccessToken = _fbAccessToken;

                    try
                    {
                        string uid = _fbApi.GetLoggedInUser();

                        // If uid was not found, session is invalid
                        if (string.IsNullOrEmpty(uid))
                        {
                            _fbApi.AccessToken = "";

                            CommonFunctions.SetSetting("Facebook_AccessToken", "");

                            FacebookLogin(false);
                        }
                    }
                    catch (Exception)
                    {
                        _fbApi.AccessToken = "";

                        CommonFunctions.SetSetting("Facebook_AccessToken", "");

                        FacebookLogin(false);
                    }
                }
                else
                {
                    FacebookLogin(false);
                }
            }
        }
Esempio n. 10
0
        /// <summary>
        /// Updates Twitter status
        /// </summary>
        /// <param name="newStatus"></param>
        private void UpdateTwitter(string[] newStatus)
        {
            if (bool.Parse(CommonFunctions.GetSetting("EventsEnabled_Service_Twitter")) && !MyAddIn.disableTwitterNotifications)
            {
                try
                {
                    bool updateConfirmed = true;

                    // Confirm Twitter update from the user
                    if (bool.Parse(CommonFunctions.GetSetting("ConfirmUpdate_Twitter")))
                    {
                        DialogResult confirmUpdateResult = ShowDialog("Publish to Twitter: '" + newStatus[0] + "'?", true, 10, DialogButtons.Yes | DialogButtons.No);

                        if (confirmUpdateResult == DialogResult.No || confirmUpdateResult == DialogResult.Timeout)
                        {
                            updateConfirmed = false;
                            _previousStatus = newStatus[0];
                        }
                    }

                    if (updateConfirmed)
                    {
                        if (!MyAddIn.TwitterApi.SetStatus(newStatus[0]))
                        {
                            ShowDialog("Unable to publish to Twitter.", false, 2, DialogButtons.Ok);
                        }
                    }
                }
                catch (Exception e)
                {
                    ShowDialog("Unable to publish to Twitter. " + e.Message, false, 2, DialogButtons.Ok);
                }
                finally
                {
                    _previousStatus = newStatus[0];

                    MyAddIn.StatusHasBeenChanged = true;
                }
            }
        }
Esempio n. 11
0
        /// <summary>
        /// Updates Facebook status
        /// </summary>
        /// <param name="newStatus"></param>
        private void UpdateFacebook(string[] newStatus)
        {
            if (bool.Parse(CommonFunctions.GetSetting("EventsEnabled_Service_Facebook")))
            {
                if (MyAddIn.FbApi != null && !string.IsNullOrEmpty(MyAddIn.FbApi.AccessToken))
                {
                    try
                    {
                        bool updateConfirmed = true;

                        // Confirm Facebook update from the user
                        if (bool.Parse(CommonFunctions.GetSetting("ConfirmUpdate_Facebook")))
                        {
                            DialogResult confirmUpdateResult = ShowDialog("Publish to Facebook: '" + newStatus[0] + "'?", true, 10, DialogButtons.Yes | DialogButtons.No);

                            // If update isn't confirmed or dialog times out, do not prompt for confirmation again
                            if (confirmUpdateResult == DialogResult.No || confirmUpdateResult == DialogResult.Timeout)
                            {
                                updateConfirmed = false;
                                _previousStatus = newStatus[0];
                            }
                        }

                        if (updateConfirmed)
                        {
                            try
                            {
                                attachment attachment    = null;
                                bool       streamEnabled = bool.Parse(CommonFunctions.GetSetting("Service_Facebook_StreamEnabled"));
                                bool       statusEnabled = bool.Parse(CommonFunctions.GetSetting("Service_Facebook_StatusEnabled"));

                                if (streamEnabled)
                                {
                                    string amazonLocaleApiUrl = CommonFunctions.GetSetting("Service_All_AmazonLocaleUrl");

                                    // If Amazon queries are enabled for current media
                                    if (!string.IsNullOrEmpty(newStatus[1]))
                                    {
                                        string[] amazonDetails = { "", "", "", "", "", "", "" };
                                        // Title, DetailUrl, ImageUrl, Error, AverageRating, Artist

                                        amazonDetails = Query.SearchItems(newStatus[1], newStatus[2], amazonDetails, amazonLocaleApiUrl);

                                        // If ASIN exists, continue search
                                        if (!string.IsNullOrEmpty(amazonDetails[4]))
                                        {
                                            amazonDetails = Query.LookupItem(amazonDetails, amazonLocaleApiUrl);

                                            if (string.IsNullOrEmpty(amazonDetails[3]))
                                            {
                                                attachment = new attachment();

                                                // For videos/tv, show video/tv title as a link
                                                if (newStatus[2].Equals("Video") && newStatus[2].StartsWith("TV"))
                                                {
                                                    attachment.caption = "";
                                                    attachment.name    = amazonDetails[0]; // Artist
                                                }
                                                else
                                                {
                                                    attachment.caption = amazonDetails[0]; // Album
                                                    attachment.name    = amazonDetails[6]; // Artist
                                                }

                                                attachment.href        = amazonDetails[1];
                                                attachment.description = null;
                                                attachment.properties  = new attachment_property()
                                                {
                                                    category = null, /*new attachment_category()
                                                                      * {
                                                                      * href = "",
                                                                      * text = ""
                                                                      * }*/
                                                    ratings  = !string.IsNullOrEmpty(amazonDetails[5]) ? amazonDetails[5] + " stars" : null
                                                };

                                                attachment.media = new List <attachment_media>()
                                                {
                                                    new attachment_media_image()
                                                    {
                                                        src  = amazonDetails[2],
                                                        href = amazonDetails[1]
                                                    }
                                                };
                                            }
                                        }
                                        else
                                        {
                                            attachment = null;
                                        }
                                    }
                                    else
                                    {
                                        attachment = null;
                                    }

                                    // Finally post to user's Wall and News feed
                                    if (!string.IsNullOrEmpty(MyAddIn.FbApi.StreamPublish(newStatus[0], attachment, null, "", 0)))
                                    {
                                        _previousStatus = newStatus[0];

                                        MyAddIn.StatusHasBeenChanged = true;
                                    }
                                }

                                if (statusEnabled)
                                {
                                    if (string.IsNullOrEmpty(MyAddIn.FbApi.SetStatus(newStatus[0], true)))
                                    {
                                        _previousStatus = newStatus[0];

                                        MyAddIn.StatusHasBeenChanged = true;
                                    }
                                }
                            }
                            catch (Facebook.Exceptions.FacebookSigningException)
                            {
                                MyAddIn.FbApi.AccessToken = "";
                                CommonFunctions.SetSetting("Facebook_AccessToken", "");

                                ShowDialog("Facebook session is invalid, opening login screen...", false, 2, DialogButtons.Ok);
                            }
                            catch (Facebook.Exceptions.FacebookTimeoutException)
                            {
                                MyAddIn.FbApi.AccessToken = "";
                                CommonFunctions.SetSetting("Facebook_AccessToken", "");

                                ShowDialog("Facebook session is invalid, opening login screen...", false, 2, DialogButtons.Ok);
                            }
                        }
                    }
                    catch (Exception e)
                    {
                        ShowDialog("Unable to publish to Facebook." + e.Message, false, 2, DialogButtons.Ok);
                    }
                }
            }
        }
Esempio n. 12
0
        /// <summary>
        /// Constructs the current media string that is set as status
        /// </summary>
        /// <returns></returns>
        private string[] GetMediaStatus()
        {
            string[] status    = { "", "", "", "0" };
            string   exclusion = "";

            #region TV Recording
            if (MyAddIn.MediaState.TVRecording.Active)
            {
                string tvRecording = MyAddIn.MediaState.TVRecording.MediaName;

                if (!string.IsNullOrEmpty(tvRecording) &&
                    !_previousMediaName[MediaTypes.TVRecording].Equals(tvRecording) &&
                    bool.Parse(CommonFunctions.GetSetting("EventsEnabled_RecordingTV")) &&
                    (string.IsNullOrEmpty(exclusion = CommonFunctions.GetSetting("Exclusion_RecordingTV_RegExp")) ||
                     (!string.IsNullOrEmpty(exclusion) && !Regex.IsMatch(tvRecording, exclusion))))
                {
                    status[0] = CommonFunctions.GetSetting("EventsConfig_RecordingTV_StatusString").Replace("%TITLE%", tvRecording);
                    _previousMediaName[MediaTypes.TVRecording] = tvRecording;

                    if (bool.Parse(CommonFunctions.GetSetting("EventsConfig_RecordingTV_QueryAmazon")))
                    {
                        status[1] = tvRecording;
                    }

                    status[2] = "Recording TV";
                    status[3] = "1";

                    return(status);
                }
            }
            #endregion

            #region TV
            if (MyAddIn.MediaState.TV.Active)
            {
                string tv = MyAddIn.MediaState.TV.MediaName;

                if (!string.IsNullOrEmpty(tv) &&
                    !_previousMediaName[MediaTypes.TV].Equals(tv) &&
                    bool.Parse(CommonFunctions.GetSetting("EventsEnabled_TV")) &&
                    (string.IsNullOrEmpty(exclusion = CommonFunctions.GetSetting("Exclusion_TV_RegExp")) ||
                     (!string.IsNullOrEmpty(exclusion) && !Regex.IsMatch(tv, exclusion))))
                {
                    status[0] = CommonFunctions.GetSetting("EventsConfig_TV_StatusString").Replace("%TITLE%", tv);
                    _previousMediaName[MediaTypes.TV] = tv;

                    if (bool.Parse(CommonFunctions.GetSetting("EventsConfig_TV_QueryAmazon")))
                    {
                        status[1] = tv;
                    }

                    status[2] = "Live TV";
                    status[3] = "1";

                    return(status);
                }
            }
            #endregion

            #region Recorded TV
            if (MyAddIn.MediaState.TVRecorded.Active)
            {
                string tvRecorded = MyAddIn.MediaState.TVRecorded.MediaName;

                if (!string.IsNullOrEmpty(tvRecorded) &&
                    !_previousMediaName[MediaTypes.TVRecorded].Equals(tvRecorded) &&
                    bool.Parse(CommonFunctions.GetSetting("EventsEnabled_RecordedTV")) &&
                    (string.IsNullOrEmpty(exclusion = CommonFunctions.GetSetting("Exclusion_RecordedTV_RegExp")) ||
                     (!string.IsNullOrEmpty(exclusion) && !Regex.IsMatch(tvRecorded, exclusion))))
                {
                    status[0] = CommonFunctions.GetSetting("EventsConfig_RecordedTV_StatusString").Replace("%TITLE%", tvRecorded);
                    _previousMediaName[MediaTypes.TVRecorded] = tvRecorded;

                    if (bool.Parse(CommonFunctions.GetSetting("EventsConfig_RecordedTV_QueryAmazon")))
                    {
                        status[1] = tvRecorded;
                    }

                    status[2] = "Recorded TV";
                    status[3] = "1";

                    return(status);
                }
            }
            #endregion

            #region Video
            if (MyAddIn.MediaState.Video.Active)
            {
                string video = MyAddIn.MediaState.Video.MediaName;

                if (!string.IsNullOrEmpty(video) &&
                    !_previousMediaName[MediaTypes.Video].Equals(video) &&
                    bool.Parse(CommonFunctions.GetSetting("EventsEnabled_Video")) &&
                    (string.IsNullOrEmpty(exclusion = CommonFunctions.GetSetting("Exclusion_Video_RegExp")) ||
                     (!string.IsNullOrEmpty(exclusion) && !Regex.IsMatch(video, exclusion)
                     )))
                {
                    status[3] = "1";
                }

                status[0] = CommonFunctions.GetSetting("EventsConfig_Video_StatusString").Replace("%TITLE%", video);
                _previousMediaName[MediaTypes.Video] = video;

                if (bool.Parse(CommonFunctions.GetSetting("EventsConfig_Video_QueryAmazon")))
                {
                    status[1] = video;
                }

                status[2] = "DVD";

                return(status);
            }
            #endregion

            #region Pictures
            if (MyAddIn.MediaState.Pictures.Active)
            {
                string picture = MyAddIn.MediaState.Pictures.CurrentPicture;

                if (!string.IsNullOrEmpty(picture) &&
                    !_previousMediaName[MediaTypes.Pictures].Equals(picture) &&
                    bool.Parse(CommonFunctions.GetSetting("EventsEnabled_Pictures")))
                {
                    status[0] = CommonFunctions.GetSetting("EventsConfig_Pictures_StatusString").Replace("%TITLE%", picture);
                    _previousMediaName[MediaTypes.Pictures] = picture;

                    status[2] = "Pictures";
                    status[3] = "1";

                    return(status);
                }
            }
            #endregion

            #region DVD
            if (MyAddIn.MediaState.DVD.Active)
            {
                string dvd = MyAddIn.MediaState.DVD.MediaName;

                if (!string.IsNullOrEmpty(dvd) &&
                    !_previousMediaName[MediaTypes.DVD].Equals(dvd) &&
                    bool.Parse(CommonFunctions.GetSetting("EventsEnabled_DVD")) &&
                    (string.IsNullOrEmpty(exclusion = CommonFunctions.GetSetting("Exclusion_DVD_RegExp")) ||
                     (!string.IsNullOrEmpty(exclusion) && !Regex.IsMatch(dvd, exclusion))))
                {
                    status[0] = CommonFunctions.GetSetting("EventsConfig_DVD_StatusString").Replace("%TITLE%", dvd);
                    _previousMediaName[MediaTypes.DVD] = dvd;

                    if (bool.Parse(CommonFunctions.GetSetting("EventsConfig_DVD_QueryAmazon")))
                    {
                        status[1] = dvd;
                    }

                    status[2] = "DVD";
                    status[3] = "1";

                    return(status);
                }
            }
            #endregion

            #region Music
            if (MyAddIn.MediaState.Music.Active)
            {
                string music = MyAddIn.MediaState.Music.ArtistName + " - ";

                // Determine whether to append track or album name
                if (bool.Parse(CommonFunctions.GetSetting("EventsConfig_Music_AlbumMode")))
                {
                    music += MyAddIn.MediaState.Music.MediaName;
                }
                else
                {
                    music += MyAddIn.MediaState.Music.TrackName;
                }

                if (!music.Equals(" - ") &&
                    !_previousMediaName[MediaTypes.Music].Equals(music) &&
                    bool.Parse(CommonFunctions.GetSetting("EventsEnabled_Music")) &&
                    (string.IsNullOrEmpty(exclusion = CommonFunctions.GetSetting("Exclusion_Music_RegExp")) ||
                     (!string.IsNullOrEmpty(exclusion) && !Regex.IsMatch(music, exclusion))))
                {
                    status[0] = CommonFunctions.GetSetting("EventsConfig_Music_StatusString").Replace("%TITLE%", music);
                    _previousMediaName[MediaTypes.Music] = music;

                    if (bool.Parse(CommonFunctions.GetSetting("EventsConfig_Music_QueryAmazon")))
                    {
                        // Always use media name in music search
                        status[1] = MyAddIn.MediaState.Music.ArtistName + "|" + MyAddIn.MediaState.Music.MediaName;
                    }

                    status[2] = "Music";
                    status[3] = "1";

                    return(status);
                }
            }
            #endregion

            return(status);
        }
Esempio n. 13
0
        public void Launch(AddInHost host)
        {
            _host = host;

            // Do not run this on extenders as extenders don't support MSAS
            if (_host.MediaCenterEnvironment.Capabilities.ContainsKey("Console"))
            {
                try
                {
                    // Initialize FB session
                    InitializeFacebook();

                    // Initialize Twitter session
                    InitializeTwitter();

                    // Connect must be done here and not in Initialize, else the events are not launched (if using MSASEventHandler)
                    // or _mediaState will always be null.
                    _mediaState.Connect();

                    _application = new Application(_host);

                    int.TryParse(CommonFunctions.GetSetting("PollingInterval"), out _pollingInterval);

                    int twitterStatusUpdateQueryCounter      = 0; // Used to ensure that Twitter friend updates are not queried more that 100 times per hour, which is the limit
                    int twitterStatusUpdateQueryCounterLimit = 3600000 / int.Parse(CommonFunctions.GetSetting("Service_Twitter_Friends_TimesPerHour")) / _pollingInterval;

                    while (true)
                    {
                        Sleep(_pollingInterval);

                        bool runApp = false;

                        // DoEvents must be done here, else _mediaState doesn't contain current states
                        System.Windows.Forms.Application.DoEvents();

                        if (bool.Parse(CommonFunctions.GetSetting("EventsEnabled_Service_Facebook")) && EventTimeEnabled("Service_Facebook_TimeEnabled"))
                        {
                            if (_fbApi != null && !string.IsNullOrEmpty(_fbApi.AccessToken))
                            {
                                runApp = true;
                            }
                        }

                        if ((bool.Parse(CommonFunctions.GetSetting("EventsEnabled_Service_Xml")) && EventTimeEnabled("Service_Xml_TimeEnabled")) ||
                            (bool.Parse(CommonFunctions.GetSetting("EventsEnabled_Service_Twitter")) && EventTimeEnabled("Service_Twitter_TimeEnabled")))
                        {
                            // If event is enabled and also allowed by time settings
                            runApp = true;
                        }

                        if (runApp)
                        {
                            runApp = false;
                            _application.Run();
                        }

                        if (!disableTwitterNotifications)
                        {
                            // For showing Twitter updates of friends
                            if (bool.Parse(CommonFunctions.GetSetting("EventsEnabled_Service_TwitterFriends")) && twitterStatusUpdateQueryCounter++ > twitterStatusUpdateQueryCounterLimit)
                            {
                                twitterStatusUpdateQueryCounter = 0;

                                // Check if Twitter suspend time has passed
                                if (DateTime.Now.CompareTo(_twitterSuspendTime) < 0) // returns greater than zero if current time is past suspend end time
                                {
                                    // Twitter update is still suspended, just get latest ID in order not to spam user with queued tweets after suspend period ends
                                    _twitter.UpdateLatestTwitterStatusId();
                                }
                                else if (!_twitter.UpdateLatestTwitterStatusChanges())
                                {
                                    _host.MediaCenterEnvironment.Dialog("Error getting Twitter updates, retrying later.", AppName, DialogButtons.Ok, 5, true);
                                }
                            }

                            if (bool.Parse(CommonFunctions.GetSetting("EventsEnabled_Service_TwitterFriends")))
                            {
                                ShowNextTwitterStatus();
                            }
                        }
                    }
                }
                catch (Exception exc)
                {
                    _host.MediaCenterEnvironment.Dialog("Unable to launch, quitting. " + exc.ToString(), AppName, DialogButtons.Ok, 0, true);
                }
            }
        }
Esempio n. 14
0
 public void Initialize(Dictionary <string, object> appInfo, Dictionary <string, object> entryPointInfo)
 {
     _mediaState  = new MediaState();
     DebugEnabled = bool.Parse(CommonFunctions.GetSetting("Debug"));
 }