/// <summary>
        /// Attempts to get the user profile from Google. Will use the refresh token if the auth token has expired
        /// </summary>
        async public Task <bool> GetUserProfile()
        {
            //Can't get profile w/out a token
            if (App.AuthToken == null)
            {
                return(false);
            }

            if (AuthUserProfile != null)
            {
                return(true);
            }

            using (new Busy(this))
            {
                AuthenticationStatus = "Getting Google user profile";
                var task = GoogleApiService.Instance.GetUserProfile();
                await RunSafe(task, false);

                if (task.IsFaulted && task.IsCompleted)
                {
                    //Need to get refresh token from Azure somehow
                    //Likely our authtoken has expired
//					AuthenticationStatus = "Refreshing token";
//
//					var refreshTask = GoogleApiService.Instance.GetNewAuthToken(Settings.Instance.RefreshToken);
//					await RunSafe(refreshTask);
//
//					if(refreshTask.IsCompleted && !refreshTask.IsFaulted)
//					{
//						//Success in getting a new auth token - now lets attempt to get the profile again
//						if(!string.IsNullOrWhiteSpace(refreshTask.Result) && App.AuthToken != refreshTask.Result)
//						{
//							//We have a valid token now, let's try this again
//							App.AuthToken = refreshTask.Result;
//							await Settings.Instance.Save();
//							return await GetUserProfile();
//						}
//					}
                }

                if (task.IsCompleted && !task.IsFaulted && task.Result != null)
                {
                    AuthenticationStatus = "Authentication complete";
                    AuthUserProfile      = task.Result;

                    InsightsManager.Identify(AuthUserProfile.Email, new Dictionary <string, string> {
                        {
                            "Name",
                            AuthUserProfile.Name
                        }
                    });

                    Settings.Instance.AuthUserID = AuthUserProfile.Id;
                    await Settings.Instance.Save();
                }
                else
                {
                    AuthenticationStatus = "Unable to authenticate";
                }
            }

            return(AuthUserProfile != null);
        }