public override void ViewDidLoad()
        {
            base.ViewDidLoad ();

            twitterButton.TouchUpInside += delegate {

                if (SLComposeViewController.IsAvailable (SLServiceKind.Twitter)) {

                    slComposer = SLComposeViewController.FromService (SLServiceType.Twitter);

                    slComposer.SetInitialText ("test");
                    slComposer.AddImage (UIImage.FromFile ("monkey.png"));

                    slComposer.CompletionHandler += (result) => {
                        InvokeOnMainThread (() => {
                            DismissViewController (true, null);
                            resultsTextView.Text = result.ToString ();
                        });
                    };

                    PresentViewController (slComposer, true, null);
                } else {
                    resultsTextView.Text = "Twitter Account not added";
                }
            };

            facebookButton.TouchUpInside += delegate {

                if (SLComposeViewController.IsAvailable (SLServiceKind.Facebook)) {

                    slComposer = SLComposeViewController.FromService (SLServiceType.Facebook);

                    slComposer.SetInitialText ("test2");
                    slComposer.AddImage (UIImage.FromFile ("monkey.png"));
                    slComposer.AddUrl (new NSUrl ("http://xamarin.com"));

                    slComposer.CompletionHandler += (result) => {
                        InvokeOnMainThread (() => {
                            DismissViewController (true, null);
                            resultsTextView.Text = result.ToString ();
                        });
                    };

                    PresentViewController (slComposer, true, null);
                } else {
                    resultsTextView.Text = "Facebook Account not added";
                }
            };

            twitterRequestButton.TouchUpInside += delegate {

                if (SLComposeViewController.IsAvailable (SLServiceKind.Twitter)) {

                    var parameters = new NSDictionary ();
                    var request = SLRequest.Create (SLServiceKind.Twitter,
                                                    SLRequestMethod.Get,
                                                    new NSUrl ("http://api.twitter.com/1/statuses/public_timeline.json"),
                                                    parameters);

                    request.PerformRequest ((data, response, error) => {

                        if (response.StatusCode == 200) {
                            InvokeOnMainThread (() => {
                                resultsTextView.Text = data.ToString (); });

                        } else {
                            InvokeOnMainThread (() => {
                                resultsTextView.Text = "Error: " + response.StatusCode.ToString (); });
                        }
                    });
                } else {
                    resultsTextView.Text = "Twitter Account not added";
                }
            };

            facebookRequestButton.TouchUpInside += delegate {

                if (SLComposeViewController.IsAvailable (SLServiceKind.Facebook)) {

                    var parameters = new NSDictionary ();
                    var request = SLRequest.Create (SLServiceKind.Facebook,
                                                    SLRequestMethod.Get,
                                                    new NSUrl ("https://graph.facebook.com/283148898401104"),
                                                    parameters);

                    request.PerformRequest ((data, response, error) => {

                        if (response.StatusCode == 200) {
                            InvokeOnMainThread (() => {
                                resultsTextView.Text = data.ToString (); });

                        } else {
                            InvokeOnMainThread (() => {
                                resultsTextView.Text = "Error: " + response.StatusCode.ToString (); });
                        }
                    });
                } else {
                    resultsTextView.Text = "Facebook Account not added";
                }

            };
        }
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            twitterButton.TouchUpInside += delegate {
                if (SLComposeViewController.IsAvailable(SLServiceKind.Twitter))
                {
                    slComposer = SLComposeViewController.FromService(SLServiceType.Twitter);

                    slComposer.SetInitialText("test");
                    slComposer.AddImage(UIImage.FromFile("monkey.png"));

                    slComposer.CompletionHandler += (result) => {
                        InvokeOnMainThread(() => {
                            DismissViewController(true, null);
                            resultsTextView.Text = result.ToString();
                        });
                    };

                    PresentViewController(slComposer, true, null);
                }
                else
                {
                    resultsTextView.Text = "Twitter Account not added";
                }
            };

            facebookButton.TouchUpInside += delegate {
                if (SLComposeViewController.IsAvailable(SLServiceKind.Facebook))
                {
                    slComposer = SLComposeViewController.FromService(SLServiceType.Facebook);

                    slComposer.SetInitialText("test2");
                    slComposer.AddImage(UIImage.FromFile("monkey.png"));
                    slComposer.AddUrl(new NSUrl("http://xamarin.com"));

                    slComposer.CompletionHandler += (result) => {
                        InvokeOnMainThread(() => {
                            DismissViewController(true, null);
                            resultsTextView.Text = result.ToString();
                        });
                    };

                    PresentViewController(slComposer, true, null);
                }
                else
                {
                    resultsTextView.Text = "Facebook Account not added";
                }
            };

            twitterRequestButton.TouchUpInside += delegate {
                if (SLComposeViewController.IsAvailable(SLServiceKind.Twitter))
                {
                    var parameters = new NSDictionary();
                    var request    = SLRequest.Create(SLServiceKind.Twitter,
                                                      SLRequestMethod.Get,
                                                      new NSUrl("http://api.twitter.com/1/statuses/public_timeline.json"),
                                                      parameters);

                    request.PerformRequest((data, response, error) => {
                        if (response.StatusCode == 200)
                        {
                            InvokeOnMainThread(() => {
                                resultsTextView.Text = data.ToString();
                            });
                        }
                        else
                        {
                            InvokeOnMainThread(() => {
                                resultsTextView.Text = "Error: " + response.StatusCode.ToString();
                            });
                        }
                    });
                }
                else
                {
                    resultsTextView.Text = "Twitter Account not added";
                }
            };

            facebookRequestButton.TouchUpInside += delegate {
                if (SLComposeViewController.IsAvailable(SLServiceKind.Facebook))
                {
                    var parameters = new NSDictionary();
                    var request    = SLRequest.Create(SLServiceKind.Facebook,
                                                      SLRequestMethod.Get,
                                                      new NSUrl("https://graph.facebook.com/283148898401104"),
                                                      parameters);

                    request.PerformRequest((data, response, error) => {
                        if (response.StatusCode == 200)
                        {
                            InvokeOnMainThread(() => {
                                resultsTextView.Text = data.ToString();
                            });
                        }
                        else
                        {
                            InvokeOnMainThread(() => {
                                resultsTextView.Text = "Error: " + response.StatusCode.ToString();
                            });
                        }
                    });
                }
                else
                {
                    resultsTextView.Text = "Facebook Account not added";
                }
            };
        }
Exemple #3
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            NavBackBtn.TouchUpInside += delegate {
                this.NavigationController.PopViewControllerAnimated(true);
            };

            WebShowSocialNetworksBtn.TouchUpInside += delegate {
                WebNavCloseBtn.Transform = CGAffineTransform.MakeScale(0f, 0f);
                WebTweetBtn.Transform    = CGAffineTransform.MakeScale(0f, 0f);
                WebPostBtn.Transform     = CGAffineTransform.MakeScale(0f, 0f);
                WebNavCloseBtn.Hidden    = false;
                WebTweetBtn.Hidden       = false;
                WebPostBtn.Hidden        = false;
                UIView.AnimateNotify(0.4, 0, 0.65f, 0.0f, UIViewAnimationOptions.CurveEaseIn, delegate {
                    WebTitle.Transform = CGAffineTransform.MakeScale(0f, 0f);
                    WebShowSocialNetworksBtn.Transform = CGAffineTransform.MakeScale(0f, 0f);
                    NavBackBtn.Transform = CGAffineTransform.MakeScale(0f, 0f);

                    WebNavCloseBtn.Transform = CGAffineTransform.MakeScale(1f, 1f);
                    WebTweetBtn.Transform    = CGAffineTransform.MakeScale(1f, 1f);
                    WebPostBtn.Transform     = CGAffineTransform.MakeScale(1f, 1f);
                }, null);
            };

            WebNavCloseBtn.TouchUpInside += delegate {
                UIView.AnimateNotify(0.4, 0, 0.65f, 0.0f, UIViewAnimationOptions.CurveEaseIn, delegate {
                    WebNavCloseBtn.Transform = CGAffineTransform.MakeScale(0f, 0f);
                    WebTweetBtn.Transform    = CGAffineTransform.MakeScale(0f, 0f);
                    WebPostBtn.Transform     = CGAffineTransform.MakeScale(0f, 0f);

                    WebTitle.Transform = CGAffineTransform.MakeScale(1f, 1f);
                    WebShowSocialNetworksBtn.Transform = CGAffineTransform.MakeScale(1f, 1f);
                    NavBackBtn.Transform = CGAffineTransform.MakeScale(1f, 1f);
                }, null);
            };

            WebTweetBtn.TouchUpInside += delegate {
                slComposer = SLComposeViewController.FromService(SLServiceType.Twitter);
                slComposer.AddUrl(new NSUrl(_url));

                slComposer.CompletionHandler += (result) => {
                    slComposer.DismissViewController(true, null);
                };
                PresentViewController(slComposer, true, null);
            };

            WebPostBtn.TouchUpInside += delegate {
                slComposer = SLComposeViewController.FromService(SLServiceType.Facebook);
                slComposer.AddUrl(new NSUrl(_url));

                slComposer.CompletionHandler += (result) => {
                    slComposer.DismissViewController(true, null);
                };
                PresentViewController(slComposer, true, null);
            };

            WebBackBtn.TouchUpInside += delegate {
                WebView.GoBack();
            };

            WebForwardBtn.TouchUpInside += delegate {
                WebView.GoForward();
            };

            WebToolBarRefreshBtn.TouchUpInside += delegate {
                if (WebTweetBtn.Hidden == false)
                {
                    UIView.AnimateNotify(0.4, 0, 0.65f, 0f, UIViewAnimationOptions.CurveEaseIn, delegate {
                        WebNavCloseBtn.Transform    = CGAffineTransform.MakeScale(0f, 0f);
                        WebTweetBtn.Transform       = CGAffineTransform.MakeScale(0f, 0f);
                        WebPostBtn.Transform        = CGAffineTransform.MakeScale(0f, 0f);
                        WebTitle.Transform          = CGAffineTransform.MakeScale(1f, 1f);
                        NavBackBtn.Transform        = CGAffineTransform.MakeScale(1f, 1f);
                        WebLoadingSpinner.Transform = CGAffineTransform.MakeScale(1f, 1f);
                        WebLoadingSpinner.StartAnimating();
                    }, null);
                }
                else
                {
                    UIView.AnimateNotify(0.4, 0, 0.65f, 0f, UIViewAnimationOptions.CurveEaseIn, delegate {
                        WebShowSocialNetworksBtn.Transform = CGAffineTransform.MakeScale(0f, 0f);
                        WebLoadingSpinner.Transform        = CGAffineTransform.MakeScale(1f, 1f);
                        WebLoadingSpinner.StartAnimating();
                    }, null);
                }

                WebView.Reload();
                if (!isLoaded)
                {
                    LoadWebUrl(_url);
                }
            };

            WebView.LoadStarted += delegate {
                if (WebTweetBtn.Hidden == false)
                {
                    UIView.AnimateNotify(0.4, 0, 0.65f, 0f, UIViewAnimationOptions.CurveEaseIn, delegate {
                        WebNavCloseBtn.Transform    = CGAffineTransform.MakeScale(0f, 0f);
                        WebTweetBtn.Transform       = CGAffineTransform.MakeScale(0f, 0f);
                        WebPostBtn.Transform        = CGAffineTransform.MakeScale(0f, 0f);
                        WebTitle.Transform          = CGAffineTransform.MakeScale(1f, 1f);
                        NavBackBtn.Transform        = CGAffineTransform.MakeScale(1f, 1f);
                        WebLoadingSpinner.Transform = CGAffineTransform.MakeScale(1f, 1f);
                        WebLoadingSpinner.StartAnimating();
                    }, null);
                }
                else
                {
                    UIView.AnimateNotify(0.4, 0, 0.65f, 0f, UIViewAnimationOptions.CurveEaseIn, delegate {
                        WebShowSocialNetworksBtn.Transform = CGAffineTransform.MakeScale(0f, 0f);
                        WebLoadingSpinner.Transform        = CGAffineTransform.MakeScale(1f, 1f);
                        WebLoadingSpinner.StartAnimating();
                    }, null);
                }
            };

            WebView.LoadFinished += delegate {
                WebShowSocialNetworksBtn.Hidden    = false;
                WebShowSocialNetworksBtn.Transform = CGAffineTransform.MakeScale(0f, 0f);
                UIView.AnimateNotify(0.4, 0, 0.65f, 0f, UIViewAnimationOptions.CurveEaseIn, delegate {
                    WebShowSocialNetworksBtn.Transform = CGAffineTransform.MakeScale(1f, 1f);
                    WebLoadingSpinner.Transform        = CGAffineTransform.MakeScale(0f, 0f);
                }, delegate {
                    WebLoadingSpinner.StopAnimating();
                    isLoaded = true;
                });
            };

            WebView.LoadError += delegate(object sender, UIWebErrorArgs e) {
                if (!e.Error.ToString().Contains("NSURLErrorDomain"))
                {
                    WebLoadingSpinner.StopAnimating();
                    WebShowSocialNetworksBtn.Alpha = 1;
                    UIAlertView alert = new UIAlertView("Error", "Problem connecting.\n" +
                                                        "Please check your connection and try again.", null, "OK", null);
                    alert.Show();
                }
            };
        }
Exemple #4
0
        void ComposeSocialMessage()
        {
            string socialMessage     = string.Empty;
            string currentBestTime   = userDefaults.StringForKey(PREVIOUS_BEST_TIME_KEY);
            string connectedServices = (String.IsNullOrWhiteSpace(userDefaults.StringForKey(SOCIAL_NETWORKS_CONNECTED)) == true ?
                                        string.Empty : userDefaults.StringForKey(SOCIAL_NETWORKS_CONNECTED));

            if (String.IsNullOrWhiteSpace(currentBestTime) == true)
            {
                socialMessage = "Got #" + APP_NAME + "?";
            }
            else
            {
                socialMessage = "I survived for " + (currentBestTime.Split(':')[0] == "00" ? string.Empty : int.Parse(currentBestTime.Split(':')[0]) + " hrs ")
                                + (currentBestTime.Split(':')[0] == "00" && currentBestTime.Split(':')[1] == "00" ? string.Empty : int.Parse(currentBestTime.Split(':')[1]) + " mins and ")
                                + int.Parse(currentBestTime.Split(':')[2]) + " secs. Enough said. Booyah. Mic drop. All that. #" + APP_NAME;
            }

            if ((connectedServices.Contains("Twitter") == true) &&
                (SLComposeViewController.IsAvailable(SLServiceKind.Twitter) == true))
            {
                SLComposeViewController twitterViewController = SLComposeViewController.FromService(SLServiceKind.Twitter);

                twitterViewController.SetInitialText(socialMessage);
                twitterViewController.AddUrl(new NSUrl(APP_LINK));

                twitterViewController.CompletionHandler += (twitterobj) =>
                {
                    InvokeOnMainThread(() =>
                    {
                        DismissViewController(true, null);

                        if ((connectedServices.Contains("Facebook") == true) &&
                            (SLComposeViewController.IsAvailable(SLServiceKind.Facebook) == true))
                        {
                            SLComposeViewController facebookViewController = SLComposeViewController.FromService(SLServiceKind.Facebook);

                            facebookViewController.SetInitialText(socialMessage);
                            facebookViewController.AddUrl(new NSUrl(APP_LINK));

                            facebookViewController.CompletionHandler += (facebookobj) =>
                            {
                                InvokeOnMainThread(() =>
                                {
                                    DismissViewController(true, null);
                                    ControlMenu("Show");
                                });
                            };

                            PresentViewController(facebookViewController, true, null);
                        }
                        else
                        {
                            ControlMenu("Show");
                        }
                    });
                };

                PresentViewController(twitterViewController, true, null);
            }
            else if ((connectedServices.Contains("Facebook") == true) &&
                     (SLComposeViewController.IsAvailable(SLServiceKind.Facebook) == true))
            {
                SLComposeViewController facebookViewController = SLComposeViewController.FromService(SLServiceKind.Facebook);

                facebookViewController.SetInitialText(socialMessage);
                facebookViewController.AddUrl(new NSUrl(APP_LINK));

                facebookViewController.CompletionHandler += (facebookobj) =>
                {
                    InvokeOnMainThread(() =>
                    {
                        DismissViewController(true, null);
                        ControlMenu("Show");
                    });
                };

                PresentViewController(facebookViewController, true, null);
            }
            else
            {
                ControlMenu("Show");
            }
        }