added open with feature

This commit is contained in:
dstark5
2023-09-02 03:53:03 -07:00
parent 1de126104d
commit 93013fe6bb
13 changed files with 253 additions and 39 deletions

View File

@ -1,13 +1,58 @@
import 'dart:io';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:path_provider/path_provider.dart';
// import 'package:permission_handler/permission_handler.dart';
import 'package:openlib/state/state.dart' show dbProvider, myLibraryProvider;
Future<String> get getAppDirectoryPath async {
final directory = await getApplicationDocumentsDirectory();
return directory.path;
if (Platform.isAndroid) {
final directory = await getExternalStorageDirectory();
return directory!.path;
// // final path = '/storage/emulated/0/Openlib';
// print(directory.path);
// // File(directory.path).copySync(newPath);
// return '/storage/emulated/0/Openlib';
} else {
final directory = await getApplicationDocumentsDirectory();
return directory.path;
}
}
Future<void> moveFilesToAndroidInternalStorage() async {
try {
final directory = await getApplicationDocumentsDirectory();
final directoryExternal = await getExternalStorageDirectory();
List<FileSystemEntity> files = Directory(directory.path).listSync();
for (var element in files) {
if ((element.path.contains('pdf')) || element.path.contains('epub')) {
String fileName = element.path.split('/').last;
File file = File(element.path);
file.copySync('${directoryExternal!.path}/$fileName');
file.deleteSync();
}
}
} catch (e) {
print(e);
}
}
// Future<void> getStoragePermissionAndroid() async {
// if (Platform.isAndroid) {
// print("hi");
// if (await Permission.storage.status.isGranted ||
// await Permission.manageExternalStorage.status.isGranted) {
// final storagePermission = await Permission.storage.request().isGranted;
// final manageStoragePermission =
// await Permission.manageExternalStorage.request().isGranted;
// print(storagePermission || manageStoragePermission);
// if (storagePermission || manageStoragePermission) {
// await openAppSettings();
// print(storagePermission || manageStoragePermission);
// }
// }
// }
// }
Future<bool> isFileExists(String filePath) async {
return await File(filePath).exists();
}