diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 8b835ea..b8fa3b5 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,6 +1,10 @@ - + + + + @@ -17,9 +21,9 @@ while the Flutter UI initializes. After that, this theme continues to determine the Window background behind the Flutter UI. --> + android:name="io.flutter.embedding.android.NormalTheme" + android:resource="@style/NormalTheme" + /> diff --git a/lib/main.dart b/lib/main.dart index 44ad175..60d94d8 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,7 +1,6 @@ -import 'package:file_picker/file_picker.dart'; import 'package:flutter/material.dart'; +import 'package:permission_handler/permission_handler.dart'; import 'package:saf/saf.dart'; -import 'package:shared_preferences/shared_preferences.dart'; import 'package:sheetless/sheetview.dart'; import 'sheet.dart'; @@ -39,38 +38,10 @@ class _MyHomePageState extends State { super.initState(); } - Future getSavedSheetsPath() async { - final prefs = await SharedPreferences.getInstance(); - return prefs.getString("sheets-path"); - } - - Future saveSheetsPath(String path) async { - final prefs = await SharedPreferences.getInstance(); - prefs.setString("sheets-path", path); - } - - Future askForSheetsPath() async { - return await FilePicker.platform.getDirectoryPath(); - } - - Future findAndSaveSheetsPath() async { - String? savedSheetsPath = await getSavedSheetsPath(); - if (savedSheetsPath != null) { - return savedSheetsPath; - } - - String? selectedSheetsPath = await askForSheetsPath(); - if (selectedSheetsPath != null) { - await saveSheetsPath(selectedSheetsPath); - return selectedSheetsPath; - } - - return "No path selected"; - } - Future getSafPickedSheetsDirectory() async { + await Permission.storage.request(); + await Permission.manageExternalStorage.request(); var pickedDirectories = await Saf.getPersistedPermissionDirectories(); - print("Picked dirs = $pickedDirectories"); if (pickedDirectories == null || pickedDirectories.isEmpty) { return null; } diff --git a/lib/sheetview.dart b/lib/sheetview.dart index 737d2f8..10c833f 100644 --- a/lib/sheetview.dart +++ b/lib/sheetview.dart @@ -12,12 +12,12 @@ class SheetViewerPage extends StatefulWidget { } class _SheetViewerPageState extends State { - PdfControllerPinch? controller; + PdfController? controller; @override void initState() { controller = - PdfControllerPinch(document: PdfDocument.openFile(widget.sheet.path)); + PdfController(document: PdfDocument.openFile(widget.sheet.path)); super.initState(); } @@ -27,8 +27,10 @@ class _SheetViewerPageState extends State { appBar: AppBar( title: Text(widget.sheet.name), ), - body: PdfViewPinch( + body: PdfView( controller: controller!, + pageSnapping: false, + scrollDirection: Axis.vertical, )); } } diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index 9a01812..0e67812 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -7,10 +7,8 @@ import Foundation import device_info_plus_macos import pdfx -import shared_preferences_foundation func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin")) PdfxPlugin.register(with: registry.registrar(forPlugin: "PdfxPlugin")) - SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin")) } diff --git a/pubspec.lock b/pubspec.lock index a16381b..48f3c9f 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -137,14 +137,6 @@ packages: url: "https://pub.dev" source: hosted version: "6.1.4" - file_picker: - dependency: "direct main" - description: - name: file_picker - sha256: d090ae03df98b0247b82e5928f44d1b959867049d18d73635e2e0bc3f49542b9 - url: "https://pub.dev" - source: hosted - version: "5.2.5" flutter: dependency: "direct main" description: flutter @@ -158,14 +150,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.1" - flutter_plugin_android_lifecycle: - dependency: transitive - description: - name: flutter_plugin_android_lifecycle - sha256: "60fc7b78455b94e6de2333d2f95196d32cf5c22f4b0b0520a628804cb463503b" - url: "https://pub.dev" - source: hosted - version: "2.0.7" flutter_test: dependency: "direct dev" description: flutter @@ -224,30 +208,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.8.2" - path_provider_linux: - dependency: transitive - description: - name: path_provider_linux - sha256: "2e32f1640f07caef0d3cb993680f181c79e54a3827b997d5ee221490d131fbd9" - url: "https://pub.dev" - source: hosted - version: "2.1.8" - path_provider_platform_interface: - dependency: transitive - description: - name: path_provider_platform_interface - sha256: f0abc8ebd7253741f05488b4813d936b4d07c6bae3e86148a09e342ee4b08e76 - url: "https://pub.dev" - source: hosted - version: "2.0.5" - path_provider_windows: - dependency: transitive - description: - name: path_provider_windows - sha256: bcabbe399d4042b8ee687e17548d5d3f527255253b4a639f5f8d2094a9c2b45c - url: "https://pub.dev" - source: hosted - version: "2.1.3" pdfx: dependency: "direct main" description: @@ -257,7 +217,7 @@ packages: source: hosted version: "2.3.0" permission_handler: - dependency: transitive + dependency: "direct main" description: name: permission_handler sha256: "33c6a1253d1f95fd06fa74b65b7ba907ae9811f9d5c1d3150e51417d04b8d6a8" @@ -304,14 +264,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.14.0" - platform: - dependency: transitive - description: - name: platform - sha256: "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76" - url: "https://pub.dev" - source: hosted - version: "3.1.0" plugin_platform_interface: dependency: transitive description: @@ -320,14 +272,6 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.3" - process: - dependency: transitive - description: - name: process - sha256: "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09" - url: "https://pub.dev" - source: hosted - version: "4.2.4" saf: dependency: "direct main" description: @@ -336,62 +280,6 @@ packages: url: "https://pub.dev" source: hosted version: "1.0.3+4" - shared_preferences: - dependency: "direct main" - description: - name: shared_preferences - sha256: "5949029e70abe87f75cfe59d17bf5c397619c4b74a099b10116baeb34786fad9" - url: "https://pub.dev" - source: hosted - version: "2.0.17" - shared_preferences_android: - dependency: transitive - description: - name: shared_preferences_android - sha256: "955e9736a12ba776bdd261cf030232b30eadfcd9c79b32a3250dd4a494e8c8f7" - url: "https://pub.dev" - source: hosted - version: "2.0.15" - shared_preferences_foundation: - dependency: transitive - description: - name: shared_preferences_foundation - sha256: "2b55c18636a4edc529fa5cd44c03d3f3100c00513f518c5127c951978efcccd0" - url: "https://pub.dev" - source: hosted - version: "2.1.3" - shared_preferences_linux: - dependency: transitive - description: - name: shared_preferences_linux - sha256: f8ea038aa6da37090093974ebdcf4397010605fd2ff65c37a66f9d28394cb874 - url: "https://pub.dev" - source: hosted - version: "2.1.3" - shared_preferences_platform_interface: - dependency: transitive - description: - name: shared_preferences_platform_interface - sha256: da9431745ede5ece47bc26d5d73a9d3c6936ef6945c101a5aca46f62e52c1cf3 - url: "https://pub.dev" - source: hosted - version: "2.1.0" - shared_preferences_web: - dependency: transitive - description: - name: shared_preferences_web - sha256: a4b5bc37fe1b368bbc81f953197d55e12f49d0296e7e412dfe2d2d77d6929958 - url: "https://pub.dev" - source: hosted - version: "2.0.4" - shared_preferences_windows: - dependency: transitive - description: - name: shared_preferences_windows - sha256: "5eaf05ae77658d3521d0e993ede1af962d4b326cd2153d312df716dc250f00c9" - url: "https://pub.dev" - source: hosted - version: "2.1.3" sky_engine: dependency: transitive description: flutter @@ -493,14 +381,6 @@ packages: url: "https://pub.dev" source: hosted version: "3.1.3" - xdg_directories: - dependency: transitive - description: - name: xdg_directories - sha256: ee1505df1426458f7f60aac270645098d318a8b4766d85fde75f76f2e21807d1 - url: "https://pub.dev" - source: hosted - version: "1.0.0" sdks: dart: ">=2.19.2 <3.0.0" flutter: ">=3.0.0" diff --git a/pubspec.yaml b/pubspec.yaml index 260a53c..ba9187c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -38,9 +38,8 @@ dependencies: path: ^1.8.2 pdfx: ^2.3.0 - file_picker: ^5.2.5 - shared_preferences: ^2.0.17 saf: ^1.0.3+4 + permission_handler: ^10.2.0 dev_dependencies: flutter_test: