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(); }
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."); } } }