示例#1
0
        async public void HandleSignInResult(GoogleSignInResult result)
        {
            if (result.IsSuccess)
            {
                // Signed in successfully, show authenticated UI.
                var acct = result.SignInAccount;
                TitleTextView.Text = acct.DisplayName;

                ImageView.SetImage(acct.PhotoUrl.ToString(), Resource.Drawable.ic_noprofilewhite, Resource.Drawable.ic_noprofilewhite, "Google", WebImageView.DefaultCircleTransformation);

                var outlet = new Outlet();
                outlet.Name   = acct.DisplayName;
                outlet.Handle = acct.Id;
                outlet.Type   = Outlet.outlet_type_google;
                RealmServices.SaveOutlet(outlet);

                await Task.Delay(TimeSpan.FromSeconds(2));

                var activity = Activity as BaseActivity;
                activity?.PopFragmentOverUntil(typeof(MyOutletsRecyclerViewFragment));
            }
            else
            {
            }
        }
示例#2
0
        public override View GetView(int position, View convertView, ViewGroup parent)
        {
            var view = convertView ?? Context.LayoutInflater.Inflate(Resource.Layout.NewOutletCell, null);

            var model = ListItems[position];

            WebImageView imgView = view.FindViewById <WebImageView>(Resource.Id.WebImageView);

            imgView.SetImage(model.RemoteURL, -1, -1, null, WebImageView.DefaultCircleTransformation);

            var textView = view.FindViewById <TextView>(Resource.Id.TextView);

            textView.Text = model.Type;

            return(view);
        }
示例#3
0
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            var me = RealmUserServices.GetMe(false);

            var view = inflater.Inflate(Resource.Layout.EditProfile, container, false);

            FirstNameEditText      = view.FindViewById <EditText>(Resource.Id.FirstNameEditText);
            FirstNameEditText.Text = me.FirstName;
            FirstNameEditText.Hint = Strings.Basic.first_name;

            LastNameEditText      = view.FindViewById <EditText>(Resource.Id.LastNameEditText);
            LastNameEditText.Text = me.LastName;
            LastNameEditText.Hint = Strings.Basic.last_name;

            UserProfileImage = view.FindViewById <WebImageView>(Resource.Id.WebImageView);
            UserProfileImage.SetImage(me.GetRemoteProfileImageUrlCached(), Resource.Drawable.ic_noprofilewhite, Resource.Drawable.ic_noprofilewhite, me.RemoteProfileImageURL, WebImageView.DefaultCircleTransformation);
            UserProfileImage.Click += (sender, e) =>
            {
                ShowImageChooser(UserProfileImage, me.LocalProfileImageURL, me.RemoteProfileImageURL, "Profile.png", SelectUserImagePhotoRequestCode);
            };


            var progressButton = view.FindViewById <Button>(Resource.Id.ProgressButton);

            progressButton.Click += (object sender, EventArgs e) =>
            {
                string firstName = FirstNameEditText.Text.Trim();
                string lastName  = LastNameEditText.Text.Trim();

                bool allFieldsValid = ValidateAllFields();
                if (!allFieldsValid)
                {
                    return;
                }

                me.UpdateStringProperty(() => me.FirstName, firstName);
                me.UpdateStringProperty(() => me.LastName, lastName);

                DismissIfValid();
            };

            return(view);
        }
示例#4
0
        public override void OnActivityResult(int requestCode, int resultCode, Intent data)
        {
            base.OnActivityResult(requestCode, resultCode, data);

            if (requestCode == SelectUserImagePhotoRequestCode && resultCode == (int)Android.App.Result.Ok)
            {
                if (data == null)
                {
                    return;
                }

                using (var bitmap = MediaStore.Images.Media.GetBitmap(Activity.ContentResolver, data.Data))
                {
                    var bytes = ImageUtils.ImagetoByteArray(bitmap, 100);
                    if (bytes == null)
                    {
                        return;
                    }

                    UserProfileImage.SetImageResource(Resource.Drawable.ic_noprofilewhite);
                    UserProfileImage.ShowLoadingIndicators();

                    var me        = RealmUserServices.GetMe(false);
                    var localUrl  = me.LocalProfileImageURL;
                    var remoteUrl = me.RemoteProfileImageURL;
                    var fileName  = "Profile.png";

                    S3Utils.UploadPhoto(bytes, localUrl, remoteUrl, fileName, () =>
                    {
                        if (Activity == null)
                        {
                            return;
                        }
                        Activity.RunOnUiThread(async() =>
                        {
                            await ImageService.Instance.InvalidateCacheAsync(FFImageLoading.Cache.CacheType.All);//.InvalidateCacheEntryAsync(me.RemoteProfileImageURL, FFImageLoading.Cache.CacheType.All);
                            UserProfileImage.SetImage(me.GetRemoteProfileImageUrlCached(), Resource.Drawable.ic_noprofilewhite, Resource.Drawable.ic_noprofilewhite, me.RemoteProfileImageURL, WebImageView.DefaultCircleTransformation);
                        });
                    }, null);
                };
            }
        }
示例#5
0
        public void BindDataToView(Context context, int position, Outlet model)
        {
            if (model == null)
            {
                return;
            }

            ImageView.SetImage(model.RemoteURL, -1, -1, null, WebImageView.DefaultCircleTransformation);

            if (!ItemView.HasOnClickListeners)
            {
                ItemView.Click += (sender, e) =>
                {
                    var key    = CardFront.ItemClickedBroadcastReceiverKey;
                    var intent = new Intent(key);
                    intent.PutExtra(SharingShared.ItemClickedBroadcastReceiverKeyPosition, position);
                    Transporter.SharedInstance.SetObject("Outlet", model);
                    context.SendBroadcast(intent);
                };
            }
        }
示例#6
0
        public async void DownloadFacebookImage(WebImageView imageView, string localUrl, string remoteUrl, string fileName)
        {
            if (imageView == null)
            {
                return;
            }

            var me = RealmUserServices.GetMe(false);

            if (me == null)
            {
                return;
            }

            var url = me.GetFacebookProfilePictureUrl();

            if (url == null)
            {
                return;
            }

            imageView.SetImageResource(Resource.Drawable.ic_noprofilewhite);

            //required to remove it here otherwise itll load form cache
            await ImageService.Instance.InvalidateCacheEntryAsync(me.RemoteProfileImageURL, FFImageLoading.Cache.CacheType.All, true);

            ImageService.Instance.LoadUrl(url).Success(async(FFImageLoading.Work.ImageInformation arg1, FFImageLoading.Work.LoadingResult arg2) =>
            {
                if (arg1 == null)
                {
                    return;
                }

                var image = await ImageUtils.GetImageAtPath(arg1.FilePath);
                if (image == null)
                {
                    return;
                }

                var bytes = ImageUtils.ImagetoByteArray(image, 100);
                if (bytes == null)
                {
                    return;
                }

                S3Utils.UploadPhoto(bytes, localUrl, remoteUrl, fileName, () =>
                {
                    if (Activity == null)
                    {
                        return;
                    }
                    Activity.RunOnUiThread(async() =>
                    {
                        await ImageService.Instance.InvalidateCacheAsync(FFImageLoading.Cache.CacheType.All);//.InvalidateCacheEntryAsync(me.RemoteProfileImageURL, FFImageLoading.Cache.CacheType.All);
                        imageView.SetImage(me.GetRemoteProfileImageUrlCached(), Resource.Drawable.ic_noprofilewhite, Resource.Drawable.ic_noprofilewhite, me.RemoteProfileImageURL, WebImageView.DefaultCircleTransformation);
                    });
                }, null);
            })
            .Finish((FFImageLoading.Work.IScheduledWork obj) =>
            {
            })
            .Transform(WebImageView.DefaultCircleTransformation)
            .Error(exception =>
            {
                imageView.ShowLoadingIndicators();
                return;
            })
            .Into(imageView);
        }