Пример #1
0
        protected override async void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            base.OnActivityResult(requestCode, resultCode, data);
            InAppBillingImplementation.HandleActivityResult(requestCode, resultCode, data);

            var task = VKSdk.OnActivityResultAsync(requestCode, resultCode, data, out var vkResult);

            if (!vkResult)
            {
                base.OnActivityResult(requestCode, resultCode, data);
                AndroidFacebookService.Instance.OnActivityResult(requestCode, (int)resultCode, data);
                return;
            }

            try
            {
                var token = await task;
                AndroidVkService.Instance.SetUserToken(token);
            }
            catch (Exception e)
            {
                if (!(e is VKException vkException) || vkException.Error.ErrorCode != VKontakte.API.VKError.VkCanceled)
                {
                    AndroidVkService.Instance.SetErrorResult(e.Message);
                }
Пример #2
0
        protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            base.OnActivityResult(requestCode, resultCode, data);
            if (requestCode == 99) // google oauth
            {
                GoogleSignInResult result = Auth.GoogleSignInApi.GetSignInResultFromIntent(data);
                if (result.IsSuccess)
                {
                    GoogleSignInAccount account = result.SignInAccount;

                    var properties = new Dictionary <string, string>();
                    properties.Add("access_token", account.IdToken);

                    ShinyHost.Resolve <IOAuthService>().OnOAuthComplete(null,
                                                                        new AuthenticatorCompletedEventArgs(new Account(account.DisplayName, properties)));
                }
                else
                {
                    if (result.Status.StatusCode == 12501)
                    {
                        ShinyHost.Resolve <IOAuthService>().OnOAuthError(null, null);
                    }
                    else
                    {
                        ShinyHost.Resolve <IOAuthService>().OnOAuthError(null, new AuthenticatorErrorEventArgs($"Google OAuth ErrorCode: {result.Status.StatusCode}"));
                    }
                }
            }
            else
            {
                InAppBillingImplementation.HandleActivityResult(requestCode, resultCode, data);
            }
        }
Пример #3
0
 internal void OnActivityResult(int requestCode, Result resultCode, Intent data)
 {
     InAppBillingImplementation.HandleActivityResult(requestCode, resultCode, data);
     if (requestCode == 1)
     {
         GoogleSignInResult result = Auth.GoogleSignInApi.GetSignInResultFromIntent(data);
         OnAuthCompleted(result); // todo later
     }
 }
Пример #4
0
        protected override async void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            base.OnActivityResult(requestCode, resultCode, data);
            InAppBillingImplementation.HandleActivityResult(requestCode, resultCode, data);

            if (requestCode == OPENGALLERYCODE && resultCode == Result.Ok)
            {
                List <byte[]> images = new List <byte[]>();

                if (data != null)
                {
                    ClipData clipData = data.ClipData;
                    // if clipData exists, it means there are more than 1 image

                    if (clipData != null)
                    {
                        // we need to send this message so the view can show loading
                        MessagingCenter.Send <object>(this, MessagingKeys.ShowLoadingIndicator);

                        for (int i = 0; i < clipData.ItemCount; i++)
                        {
                            if (i > 5)
                            {
                                break;
                            }                     // limit to 5 images
                            try {
                                ClipData.Item item = clipData.GetItemAt(i);
                                var           uri  = item.Uri;

                                await Task.Run(() => {
                                    images.Add(PhotoUtilHelper.UpdateAndConvertURI(this, uri));
                                });
                            } catch (Exception ex) {
                                Console.WriteLine(ex.Message);
                            }
                        }
                    }
                    else
                    {
                        try {
                            MessagingCenter.Send <object>(this, MessagingKeys.ShowLoadingIndicator);
                            var uri = data.Data;
                            await Task.Run(() => {
                                images.Add(PhotoUtilHelper.UpdateAndConvertURI(this, uri));
                            });
                        } catch (Exception ex) {
                            Console.WriteLine(ex.Message);
                        }
                    }

                    // post the message with the list attached
                    MessagingCenter.Send <object, object>(this, MessagingKeys.DidFinishSelectingImages, images);
                }
            }
        }
Пример #5
0
        protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            base.OnActivityResult(requestCode, resultCode, data);
            CallbackManager.OnActivityResult(requestCode, (int)resultCode, data);
            InAppBillingImplementation.HandleActivityResult(requestCode, resultCode, data);

            if (m_ActivityResultHandlers != null && m_ActivityResultHandlers.ContainsKey(requestCode))
            {
                OnActivityResultDelegate[] handlers = m_ActivityResultHandlers[requestCode].ToArray();
                foreach (OnActivityResultDelegate handler in handlers)
                {
                    handler.Invoke(resultCode, data);
                }
            }
        }
Пример #6
0
        protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            InAppBillingImplementation.HandleActivityResult(requestCode, resultCode, data);

            if (requestCode == StartRequestCode && resultCode == Result.Ok)
            {
                _waitingForInit = false;

                if (data != null)
                {
                    var cfg = new DVBTDriverConfiguration();

                    if (data.HasExtra("ControlPort"))
                    {
                        cfg.ControlPort = data.GetIntExtra("ControlPort", 0);
                    }

                    if (data.HasExtra("TransferPort"))
                    {
                        cfg.TransferPort = data.GetIntExtra("TransferPort", 0);
                    }

                    if (data.HasExtra("DeviceName"))
                    {
                        cfg.DeviceName = data.GetStringExtra("DeviceName");
                    }

                    if (data.HasExtra("ProductIds"))
                    {
                        cfg.ProductIds = data.GetIntArrayExtra("ProductIds");
                    }

                    if (data.HasExtra("VendorIds"))
                    {
                        cfg.VendorIds = data.GetIntArrayExtra("VendorIds");
                    }

                    _loggingService.Info($"Received device configuration: {cfg}");

                    MessagingCenter.Send(cfg.ToString(), BaseViewModel.MSG_DVBTDriverConfiguration);
                }
                else
                {
                    MessagingCenter.Send("no response", BaseViewModel.MSG_DVBTDriverConfigurationFailed);
                }
            }
        }
Пример #7
0
 protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
 {
     base.OnActivityResult(requestCode, resultCode, data);
     InAppBillingImplementation.HandleActivityResult(requestCode, resultCode, data);
 }