示例#1
0
        public void CopyGuideFiles(LocalModule localModule)
        {
            if (Environment.ExternalStorageState.Equals(Environment.MediaMounted))
            {
                string curPath = AppStorageManager.GetInstance(mContext).DefaultFolder;
                if (!AppFileUtil.NeedScopedStorageAdaptation())
                {
                    curPath = AppFileUtil.DefaultDocumentDirectory;
                    Java.IO.File file = new Java.IO.File(curPath);
                    if (!file.Exists())
                    {
                        if (!file.Mkdirs())
                        {
                            return;
                        }
                    }
                    Java.IO.File sampleFile = new Java.IO.File(curPath + Java.IO.File.Separator + "Sample.pdf");
                    if (!sampleFile.Exists())
                    {
                        localModule.CopyFileFromAssertsToTargetFile(sampleFile);
                    }

                    Java.IO.File guideFile = new Java.IO.File(curPath + Java.IO.File.Separator + "complete_pdf_viewer_guide_android.pdf");
                    if (!guideFile.Exists())
                    {
                        localModule.CopyFileFromAssertsToTargetFile(guideFile);
                    }
                }
                else if (!TextUtils.IsEmpty(curPath))
                {
                    Uri uri = AppFileUtil.ToDocumentUriFromPath(curPath);
                    if (AppFileUtil.IsDocumentTreeUri(uri))
                    {
                        DocumentFile directory = AppStorageManager.GetInstance(mContext).GetExistingDocumentFile(uri);
                        if (directory == null)
                        {
                            return;
                        }
                        string       fileName = "Sample.pdf";
                        DocumentFile file     = directory.FindFile(fileName);
                        if (file == null)
                        {
                            file = directory.CreateFile(AppFileUtil.GetMimeType(fileName), fileName);
                            localModule.CopyFileFromAssertsToTargetFile(file);
                        }

                        fileName = "complete_pdf_viewer_guide_android.pdf";
                        file     = directory.FindFile(fileName);
                        if (file == null)
                        {
                            file = directory.CreateFile(AppFileUtil.GetMimeType(fileName), fileName);
                            localModule.CopyFileFromAssertsToTargetFile(file);
                        }
                    }
                    localModule.SetCurrentPath(curPath);
                }
            }
        }
 public void OnFilePathChanged(string path)
 {
     if (AppFileUtil.NeedScopedStorageAdaptation())
     {
         if (path == null || AppStorageManager.GetInstance(ApplicationContext).IsRootVolumePath(path))
         {
             return;
         }
         AppFileUtil.CheckCallDocumentTreeUriPermission(this, REQUEST_OPEN_DOCUMENT_TREE, AppFileUtil.ToDocumentUriFromPath(path));
     }
 }
        private void UpdateLocalModule()
        {
            App app = App.Instance();

            app.CopyGuideFiles(App.Instance().GetLocalModule(filter));
            if (AppFileUtil.NeedScopedStorageAdaptation())
            {
                app.GetLocalModule(filter).SetCurrentPath(AppStorageManager.GetInstance(ApplicationContext).DefaultFolder);
            }
            app.GetLocalModule(filter).UpdateStoragePermissionGranted();
        }
示例#4
0
 public void SelectDefaultFolderOrNot(Activity activity)
 {
     if (AppFileUtil.NeedScopedStorageAdaptation())
     {
         if (activity != null && TextUtils.IsEmpty(AppStorageManager.GetInstance(activity).DefaultFolder))
         {
             AppFileUtil.CheckCallDocumentTreeUriPermission(activity, MainActivity.REQUEST_SELECT_DEFAULT_FOLDER,
                                                            Uri.Parse(AppFileUtil.ExternalRootDocumentTreeUriPath));
             UIToast.GetInstance(activity).Show("Please select the default folder,you can create one when it not exists.");
         }
     }
 }