private void MAdapterOnItemClick(object sender, Holders.MesClickEventArgs e) { try { if (e.Position <= -1) { return; } var item = MAdapter.GetItem(e.Position); if (item != null) { if (e.Type == Holders.TypeClick.Text || e.Type == Holders.TypeClick.Contact) { item.MesData.ShowTimeText = !item.MesData.ShowTimeText; MAdapter.NotifyItemChanged(MAdapter.DifferList.IndexOf(item)); } else if (e.Type == Holders.TypeClick.File) { var fileName = item.MesData.Media.Split('/').Last(); string imageFile = Methods.MultiMedia.CheckFileIfExits(item.MesData.Media); if (imageFile != "File Dont Exists") { try { var extension = fileName.Split('.').Last(); string mimeType = MimeTypeMap.GetMimeType(extension); Intent openFile = new Intent(); openFile.SetFlags(ActivityFlags.NewTask); openFile.SetFlags(ActivityFlags.GrantReadUriPermission); openFile.SetAction(Intent.ActionView); openFile.SetDataAndType(Uri.Parse(imageFile), mimeType); StartActivity(openFile); } catch (Exception exception) { Console.WriteLine(exception); } } else { var extension = fileName.Split('.').Last(); string mimeType = MimeTypeMap.GetMimeType(extension); Intent i = new Intent(Intent.ActionView); i.SetData(Uri.Parse(item.MesData.Media)); i.SetType(mimeType); StartActivity(i); // Toast.MakeText(MainActivity, MainActivity.GetText(Resource.String.Lbl_Something_went_wrong), ToastLength.Long).Show(); } } } } catch (Exception exception) { Console.WriteLine(exception); } }
private void MAdapterOnItemLongClick(object sender, Holders.MesClickEventArgs e) { try { if (e.Position > -1) { SelectedItemPositions = MAdapter.GetItem(e.Position); if (SelectedItemPositions != null) { var arrayAdapter = new List <string>(); var dialogList = new MaterialDialog.Builder(this).Theme(AppSettings.SetTabDarkTheme ? AFollestad.MaterialDialogs.Theme.Dark : AFollestad.MaterialDialogs.Theme.Light); if (e.Type == Holders.TypeClick.Text) { arrayAdapter.Add(GetText(Resource.String.Lbl_Copy)); } if (SelectedItemPositions.MesData.Position == "right") { arrayAdapter.Add(GetText(Resource.String.Lbl_MessageInfo)); arrayAdapter.Add(GetText(Resource.String.Lbl_DeleteMessage)); } if (AppSettings.EnableForwardMessageSystem) { arrayAdapter.Add(GetText(Resource.String.Lbl_Forward)); } if (AppSettings.EnablePinMessageSystem) { arrayAdapter.Add(SelectedItemPositions.MesData.IsPinned ? GetText(Resource.String.Lbl_UnPin) : GetText(Resource.String.Lbl_Pin)); } if (AppSettings.EnableFavoriteMessageSystem) { arrayAdapter.Add(SelectedItemPositions.MesData.IsStarted ? GetText(Resource.String.Lbl_UnFavorite) : GetText(Resource.String.Lbl_Favorite)); } dialogList.Items(arrayAdapter); dialogList.NegativeText(GetText(Resource.String.Lbl_Close)).OnNegative(new WoWonderTools.MyMaterialDialog()); dialogList.AlwaysCallSingleChoiceCallback(); dialogList.ItemsCallback(this).Build().Show(); } } } catch (Exception exception) { Methods.DisplayReportResultTrack(exception); } }
private void MAdapterOnItemLongClick(object sender, Holders.MesClickEventArgs e) { try { if (e.Position > -1) { SelectedItemPositions = MAdapter.GetItem(e.Position); if (SelectedItemPositions != null) { var arrayAdapter = new List <string>(); var dialogList = new MaterialDialog.Builder(this).Theme(AppSettings.SetTabDarkTheme ? AFollestad.MaterialDialogs.Theme.Dark : AFollestad.MaterialDialogs.Theme.Light); if (e.Type == Holders.TypeClick.Text) { arrayAdapter.Add(GetText(Resource.String.Lbl_Copy)); } if (SelectedItemPositions.MesData.Position == "right") { arrayAdapter.Add(GetText(Resource.String.Lbl_MessageInfo)); arrayAdapter.Add(GetText(Resource.String.Lbl_DeleteMessage)); } arrayAdapter.Add(GetText(Resource.String.Lbl_Forward)); arrayAdapter.Add(SelectedItemPositions.MesData.IsStarted ? GetText(Resource.String.Lbl_UnFavorite) : GetText(Resource.String.Lbl_Favorite)); dialogList.Items(arrayAdapter); dialogList.PositiveText(GetText(Resource.String.Lbl_Close)).OnPositive(this); dialogList.AlwaysCallSingleChoiceCallback(); dialogList.ItemsCallback(this).Build().Show(); } } } catch (Exception exception) { Console.WriteLine(exception); } }
private void MAdapterOnItemClick(object sender, Holders.MesClickEventArgs e) { try { if (e.Position <= -1) { return; } var item = MAdapter.GetItem(e.Position); if (item != null) { switch (e.Type) { case Holders.TypeClick.Text: case Holders.TypeClick.Contact: item.MesData.ShowTimeText = !item.MesData.ShowTimeText; MAdapter.NotifyItemChanged(MAdapter.DifferList.IndexOf(item)); break; case Holders.TypeClick.File: { var fileName = item.MesData.Media.Split('/').Last(); string imageFile = Methods.MultiMedia.CheckFileIfExits(item.MesData.Media); if (imageFile != "File Dont Exists") { try { var extension = fileName.Split('.').Last(); string mimeType = MimeTypeMap.GetMimeType(extension); Intent openFile = new Intent(); openFile.SetFlags(ActivityFlags.NewTask); openFile.SetFlags(ActivityFlags.GrantReadUriPermission); openFile.SetAction(Intent.ActionView); openFile.SetDataAndType(Uri.Parse(imageFile), mimeType); StartActivity(openFile); } catch (Exception exception) { Methods.DisplayReportResultTrack(exception); } } else { var extension = fileName.Split('.').Last(); string mimeType = MimeTypeMap.GetMimeType(extension); Intent i = new Intent(Intent.ActionView); i.SetData(Uri.Parse(item.MesData.Media)); i.SetType(mimeType); StartActivity(i); // Toast.MakeText(MainActivity, MainActivity.GetText(Resource.String.Lbl_something_went_wrong), ToastLength.Long)?.Show(); } break; } case Holders.TypeClick.Video: { var fileName = item.MesData.Media.Split('/').Last(); var mediaFile = WoWonderTools.GetFile(UserId, Methods.Path.FolderDcimVideo, fileName, item.MesData.Media); string imageFile = Methods.MultiMedia.CheckFileIfExits(mediaFile); if (imageFile != "File Dont Exists") { File file2 = new File(mediaFile); var mediaUri = FileProvider.GetUriForFile(this, PackageName + ".fileprovider", file2); if (AppSettings.OpenVideoFromApp) { Intent intent = new Intent(this, typeof(VideoFullScreenActivity)); intent.PutExtra("videoUrl", mediaUri.ToString()); StartActivity(intent); } else { Intent intent = new Intent(); intent.SetAction(Intent.ActionView); intent.AddFlags(ActivityFlags.GrantReadUriPermission); intent.SetDataAndType(mediaUri, "video/*"); StartActivity(intent); } } else { if (AppSettings.OpenVideoFromApp) { Intent intent = new Intent(this, typeof(VideoFullScreenActivity)); intent.PutExtra("videoUrl", item.MesData.Media); StartActivity(intent); } else { Intent intent = new Intent(Intent.ActionView, Uri.Parse(item.MesData.Media)); StartActivity(intent); } } break; } case Holders.TypeClick.Image: { if (AppSettings.OpenImageFromApp) { Intent intent = new Intent(this, typeof(ImageViewerActivity)); intent.PutExtra("Id", UserId); intent.PutExtra("SelectedItem", JsonConvert.SerializeObject(item.MesData)); StartActivity(intent); } else { var fileName = item.MesData.Media.Split('/').Last(); var mediaFile = WoWonderTools.GetFile(UserId, Methods.Path.FolderDcimImage, fileName, item.MesData.Media); string imageFile = Methods.MultiMedia.CheckFileIfExits(mediaFile); if (imageFile != "File Dont Exists") { File file2 = new File(mediaFile); var photoUri = FileProvider.GetUriForFile(this, PackageName + ".fileprovider", file2); Intent intent = new Intent(); intent.SetAction(Intent.ActionView); intent.AddFlags(ActivityFlags.GrantReadUriPermission); intent.SetDataAndType(photoUri, "image/*"); StartActivity(intent); } else { Intent intent = new Intent(Intent.ActionView, Uri.Parse(mediaFile)); StartActivity(intent); } } break; } case Holders.TypeClick.Map: { // Create a Uri from an intent string. Use the result to create an Intent. var uri = Uri.Parse("geo:" + item.MesData.Lat + "," + item.MesData.Lng); var intent = new Intent(Intent.ActionView, uri); intent.SetPackage("com.google.android.apps.maps"); intent.AddFlags(ActivityFlags.NewTask); StartActivity(intent); break; } } } } catch (Exception exception) { Methods.DisplayReportResultTrack(exception); } }