private void OnFetchdImage(StorageFolder folder, StorageFile file, GeotaggingResult.Result result)
        {
            var task = Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async() =>
            {
                var bmp = new BitmapImage();
                using (var stream = await file.OpenReadAsync())
                {
                    bmp.CreateOptions = BitmapCreateOptions.None;
                    await bmp.SetSourceAsync(stream);
                }

                var text = "";
                switch (result)
                {
                case GeotaggingResult.Result.OK:
                    text = SystemUtil.GetStringResource("Message_ImageDL_Succeed_withGeotag");
                    break;

                case GeotaggingResult.Result.GeotagAlreadyExists:
                    text = SystemUtil.GetStringResource("ErrorMessage_ImageDL_DuplicatedGeotag");
                    break;

                case GeotaggingResult.Result.NotRequested:
                    text = SystemUtil.GetStringResource("Message_ImageDL_Succeed");
                    break;

                case GeotaggingResult.Result.UnExpectedError:
                    text = SystemUtil.GetStringResource("ErrorMessage_ImageDL_Geotagging");
                    break;

                case GeotaggingResult.Result.FailedToAcquireLocation:
                    text = SystemUtil.GetStringResource("ErrorMessage_FailedToGetGeoposition");
                    break;
                }

                PostviewViewerViewModel.Postviews.Add(bmp);

                if (ApplicationSettings.GetInstance().ImmediatePostViewEnabled)
                {
                    ImagePostview.Visibility = Visibility.Visible;
                }

                AppShell.Current.Toast.PushToast(new ToastContent
                {
                    Text          = text,
                    Icon          = bmp,
                    MaxIconHeight = 64,
                });
            });
        }
Exemple #2
0
        private void OnFetchdImage(StorageFolder folder, StorageFile file, GeotaggingResult.Result result)
        {
            var task = Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async() =>
            {
                var bmp = new BitmapImage();
                using (var stream = await file.GetThumbnailAsync(ThumbnailMode.SingleItem))
                {
                    bmp.CreateOptions = BitmapCreateOptions.None;
                    await bmp.SetSourceAsync(stream);
                }

                var text = "";
                switch (result)
                {
                case GeotaggingResult.Result.OK:
                    text = SystemUtil.GetStringResource("Message_ImageDL_Succeed_withGeotag");
                    break;

                case GeotaggingResult.Result.GeotagAlreadyExists:
                    text = SystemUtil.GetStringResource("ErrorMessage_ImageDL_DuplicatedGeotag");
                    break;

                case GeotaggingResult.Result.NotRequested:
                    text = SystemUtil.GetStringResource("Message_ImageDL_Succeed");
                    break;

                case GeotaggingResult.Result.UnExpectedError:
                    text = SystemUtil.GetStringResource("ErrorMessage_ImageDL_Geotagging");
                    break;

                case GeotaggingResult.Result.FailedToAcquireLocation:
                    text = SystemUtil.GetStringResource("ErrorMessage_FailedToGetGeoposition");
                    break;
                }

                AppShell.Current.Toast.PushToast(new ToastContent
                {
                    Text          = text,
                    Icon          = bmp,
                    MaxIconHeight = 64,
                });
            });
        }
Exemple #3
0
 protected void OnFailed(DownloaderError error, GeotaggingResult.Result geotaggingResult)
 {
     DebugUtil.Log(() => "PictureSyncManager: OnFailed" + error);
     Failed?.Invoke(error, geotaggingResult);
 }
Exemple #4
0
 protected void OnFetched(StorageFolder folder, StorageFile file, GeotaggingResult.Result geotaggingResult)
 {
     DebugUtil.Log("PictureSyncManager: OnFetched");
     Fetched?.Invoke(folder, file, geotaggingResult);
 }