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); }; } }
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); }