示例#1
0
        //Remove
        private void MAdapterOnOnRemoveItemClick(object sender, AllMediaAdapterClickEventArgs e)
        {
            try
            {
                var position = e.Position;
                if (position > -1)
                {
                    var item = MAdapter.GetItem(position);
                    if (item != null)
                    {
                        if (!Methods.CheckConnectivity())
                        {
                            Toast.MakeText(this, GetText(Resource.String.Lbl_CheckYourInternetConnection), ToastLength.Short).Show();
                            return;
                        }

                        if (!string.IsNullOrEmpty(item.Id))
                        {
                            var dialog = new MaterialDialog.Builder(this).Theme(AppSettings.SetTabDarkTheme ? AFollestad.MaterialDialogs.Theme.Dark : AFollestad.MaterialDialogs.Theme.Light);
                            dialog.Title(GetText(Resource.String.Lbl_Warning));
                            dialog.Content(GetText(Resource.String.Lbl_AskDeleteFile));
                            dialog.PositiveText(GetText(Resource.String.Lbl_Yes)).OnPositive((materialDialog, action) =>
                            {
                                try
                                {
                                    PollyController.RunRetryPolicyFunction(new List <Func <Task> > {
                                        () => RequestsAsync.Users.DeleteMediaFileUserAsync(item.Id)
                                    });

                                    MAdapter.Remove(item);

                                    var dataUser  = ListUtils.MyUserInfo.FirstOrDefault();
                                    var dataImage = dataUser?.Mediafiles?.FirstOrDefault(file => file.Id == item.Id);
                                    if (dataImage != null)
                                    {
                                        dataUser.Mediafiles?.Remove(dataImage);

                                        SqLiteDatabase dbDatabase = new SqLiteDatabase();
                                        dbDatabase.InsertOrUpdate_DataMyInfo(dataUser);
                                        dbDatabase.Dispose();
                                    }
                                }
                                catch (Exception exception)
                                {
                                    Console.WriteLine(exception);
                                }
                            });
                            dialog.NegativeText(GetText(Resource.String.Lbl_No)).OnNegative(this);
                            dialog.AlwaysCallSingleChoiceCallback();
                            dialog.Build().Show();
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }
示例#2
0
        //Open
        private void MAdapterOnItemClick(object sender, AllMediaAdapterClickEventArgs e)
        {
            try
            {
                var position = e.Position;
                if (position > -1)
                {
                    var item = MAdapter.GetItem(position);
                    if (item != null)
                    {
                        if (string.IsNullOrEmpty(item.UrlFile))
                        {
                            item.UrlFile = item.Full;
                        }

                        var type     = Methods.AttachmentFiles.Check_FileExtension(item.UrlFile);
                        var fileName = item.UrlFile.Split('/').Last();
                        if (type == "Video")
                        {
                            item.UrlFile = QuickDateTools.GetFile(UserDetails.UserId.ToString(), Methods.Path.FolderDiskVideo, fileName, item.UrlFile);
                            if (!string.IsNullOrEmpty(item.UrlFile) && (item.UrlFile.Contains("file://") || item.UrlFile.Contains("content://") || item.UrlFile.Contains("storage") || item.UrlFile.Contains("/data/user/0/")))
                            {
                                File file2    = new File(item.UrlFile);
                                var  mediaUri = FileProvider.GetUriForFile(this, PackageName + ".fileprovider", file2);

                                Intent intent = new Intent();
                                intent.SetAction(Intent.ActionView);
                                intent.AddFlags(ActivityFlags.GrantReadUriPermission);
                                intent.SetDataAndType(mediaUri, "video/*");
                                StartActivity(intent);
                            }
                            else
                            {
                                Intent intent = new Intent(Intent.ActionView, Uri.Parse(item.UrlFile));
                                StartActivity(intent);
                            }
                        }
                        else
                        {
                            item.UrlFile = QuickDateTools.GetFile(UserDetails.UserId.ToString(), Methods.Path.FolderDiskImage, fileName, item.UrlFile);
                            if (!string.IsNullOrEmpty(item.UrlFile) && (item.UrlFile.Contains("file://") || item.UrlFile.Contains("content://") || item.UrlFile.Contains("storage") || item.UrlFile.Contains("/data/user/0/")))

                            {
                                File   file2    = new File(item.UrlFile);
                                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(item.UrlFile));
                                StartActivity(intent);
                            }
                        }
                    }
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }