Example #1
0
        protected override bool ShouldStartLoad(MonoTouch.Foundation.NSUrlRequest request, UIWebViewNavigationType navigationType)
        {
            //We're being redirected to our redirect URL so we must have been successful
            if (request.Url.Host == "dillonbuchanan.com")
            {
                ViewModel.Code = request.Url.Query.Split('=')[1];
                ViewModel.LoginCommand.ExecuteIfCan();
                return(false);
            }

            if (request.Url.AbsoluteString == "https://github.com/" || request.Url.AbsoluteString.StartsWith("https://github.com/join"))
            {
                return(false);
            }

            return(base.ShouldStartLoad(request, navigationType));
        }
        protected override bool ShouldStartLoad(MonoTouch.Foundation.NSUrlRequest request, MonoTouch.UIKit.UIWebViewNavigationType navigationType)
        {
            Console.WriteLine("Attemping to load: " + request.Url);

            //We're being redirected to our redirect URL so we must have been successful
            if (request.Url.Host == "dillonbuchanan.com")
            {
                var code = request.Url.Query.Split('=')[1];

                this.DoWorkNoHud(() => {
                    var token = GitHubSharp.Client.RequestAccessToken(ClientId, ClientSecret, code, null);
                    CodeHub.Utils.Login.LoginWithToken(token.AccessToken);
                }, ex => {
                    MonoTouch.Utilities.LogException("Unable to access token", ex);
                    MonoTouch.Utilities.ShowAlert("Unable to Login", "Looks like something has gone wrong. Please try again.", LoadRequest);
                });

                return(false);
            }
            return(base.ShouldStartLoad(request, navigationType));
        }