public void OpenImageLightBox(CommentObjectExtra item) { try { switch (item) { case null: return; } string imageUrl; switch (string.IsNullOrEmpty(item.CFile)) { case false when item.CFile.Contains("file://") || item.CFile.Contains("content://") || item.CFile.Contains("storage") || item.CFile.Contains("/data/user/0/"): imageUrl = item.CFile; break; default: { item.CFile = item.CFile.Contains(Client.WebsiteUrl) switch { false => WoWonderTools.GetTheFinalLink(item.CFile), _ => item.CFile }; imageUrl = item.CFile; break; } } MainContext?.RunOnUiThread(() => { var media = WoWonderTools.GetFile("", Methods.Path.FolderDiskImage, imageUrl.Split('/').Last(), imageUrl); if (media.Contains("http")) { Intent intent = new Intent(Intent.ActionView, Uri.Parse(media)); MainContext.StartActivity(intent); } else { Java.IO.File file2 = new Java.IO.File(media); var photoUri = FileProvider.GetUriForFile(MainContext, MainContext.PackageName + ".fileprovider", file2); Intent intent = new Intent(Intent.ActionPick); intent.SetAction(Intent.ActionView); intent.AddFlags(ActivityFlags.GrantReadUriPermission); intent.SetDataAndType(photoUri, "image/*"); MainContext.StartActivity(intent); } //var getImage = Methods.MultiMedia.GetMediaFrom_Gallery(Methods.Path.FolderDcimImage, fileName); //if (getImage != "File Dont Exists") //{ // Java.IO.File file2 = new Java.IO.File(getImage); // var photoUri = FileProvider.GetUriForFile(MainContext, MainContext.PackageName + ".fileprovider", file2); // Intent intent = new Intent(Intent.ActionPick); // intent.SetAction(Intent.ActionView); // intent.AddFlags(ActivityFlags.GrantReadUriPermission); // intent.SetDataAndType(photoUri, "image/*"); // MainContext.StartActivity(intent); //} //else //{ // string filename = imageUrl.Split('/').Last(); // string filePath = Path.Combine(Methods.Path.FolderDcimImage); // string mediaFile = filePath + "/" + filename; // if (!Directory.Exists(filePath)) // Directory.CreateDirectory(filePath); // if (!File.Exists(mediaFile)) // { // WebClient webClient = new WebClient(); // AndHUD.Shared.Show(MainContext, MainContext.GetText(Resource.String.Lbl_Loading)); // webClient.DownloadDataAsync(new Uri(imageUrl)); // webClient.DownloadProgressChanged += (sender, args) => // { // //var progress = args.ProgressPercentage; // // holder.loadingProgressview.Progress = progress; // //Show a progress // AndHUD.Shared.Show(MainContext, MainContext.GetText(Resource.String.Lbl_Loading)); // }; // webClient.DownloadDataCompleted += (s, e) => // { // try // { // File.WriteAllBytes(mediaFile, e.Result); // getImage = Methods.MultiMedia.GetMediaFrom_Gallery(Methods.Path.FolderDcimImage, fileName); // if (getImage != "File Dont Exists") // { // Java.IO.File file2 = new Java.IO.File(getImage); // Android.Net.Uri photoUri = FileProvider.GetUriForFile(MainContext, MainContext.PackageName + ".fileprovider", file2); // Intent intent = new Intent(Intent.ActionPick); // intent.SetAction(Intent.ActionView); // intent.AddFlags(ActivityFlags.GrantReadUriPermission); // intent.SetDataAndType(photoUri, "image/*"); // MainContext.StartActivity(intent); // } // else // { // Toast.MakeText(MainContext, MainContext.GetText(Resource.String.Lbl_something_went_wrong), ToastLength.Long)?.Show(); // } // } // catch (Exception exception) // { // Methods.DisplayReportResultTrack(exception); // } // //var mediaScanIntent = new Intent(Intent?.ActionMediaScannerScanFile); // //mediaScanIntent?.SetData(Uri.FromFile(new File(mediaFile))); // //Application.Context.SendBroadcast(mediaScanIntent); // // Tell the media scanner about the new file so that it is // // immediately available to the user. // MediaScannerConnection.ScanFile(Application.Context, new[] { mediaFile }, null, null); // AndHUD.Shared.Dismiss(MainContext); // }; // } //} }); } catch (Exception e) { Methods.DisplayReportResultTrack(e); } }