diff --git a/lib/generated_plugin_registrant.dart b/lib/generated_plugin_registrant.dart
index dc0cbb0b..a25a1f5f 100644
--- a/lib/generated_plugin_registrant.dart
+++ b/lib/generated_plugin_registrant.dart
@@ -8,7 +8,6 @@
import 'package:audio_service_web/audio_service_web.dart';
import 'package:audio_session/audio_session_web.dart';
-import 'package:file_picker/_internal/file_picker_web.dart';
import 'package:shared_preferences_web/shared_preferences_web.dart';
import 'package:url_launcher_web/url_launcher_web.dart';
@@ -18,7 +17,6 @@ import 'package:flutter_web_plugins/flutter_web_plugins.dart';
void registerPlugins(Registrar registrar) {
AudioServiceWeb.registerWith(registrar);
AudioSessionWeb.registerWith(registrar);
- FilePickerWeb.registerWith(registrar);
SharedPreferencesPlugin.registerWith(registrar);
UrlLauncherPlugin.registerWith(registrar);
registrar.registerMessageHandler();
diff --git a/lib/pages/settings/settings.dart b/lib/pages/settings/settings.dart
index d4e1e9db..a6efdc8f 100644
--- a/lib/pages/settings/settings.dart
+++ b/lib/pages/settings/settings.dart
@@ -1,6 +1,6 @@
import 'package:auto_size_text/auto_size_text.dart';
import 'package:collection/collection.dart';
-import 'package:file_picker/file_picker.dart';
+import 'package:file_selector/file_selector.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter_desktop_tools/flutter_desktop_tools.dart';
@@ -11,7 +11,6 @@ import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:piped_client/piped_client.dart';
import 'package:spotube/collections/env.dart';
import 'package:spotube/collections/language_codes.dart';
-
import 'package:spotube/collections/spotube_icons.dart';
import 'package:spotube/components/settings/color_scheme_picker_dialog.dart';
import 'package:spotube/components/settings/section_card_with_heading.dart';
@@ -47,8 +46,8 @@ class SettingsPage extends HookConsumerWidget {
}, []);
final pickDownloadLocation = useCallback(() async {
- final dirStr = await FilePicker.platform.getDirectoryPath(
- dialogTitle: context.l10n.download_location,
+ final dirStr = await getDirectoryPath(
+ initialDirectory: preferences.downloadLocation,
);
if (dirStr == null) return;
preferences.setDownloadLocation(dirStr);
diff --git a/macos/Runner/DebugProfile.entitlements b/macos/Runner/DebugProfile.entitlements
index 16f7fb5c..0aed55d5 100644
--- a/macos/Runner/DebugProfile.entitlements
+++ b/macos/Runner/DebugProfile.entitlements
@@ -19,7 +19,8 @@
- com.apple.security.files.user-selected.read-only
+
+ com.apple.security.files.user-selected.read-write
\ No newline at end of file
diff --git a/macos/Runner/Release.entitlements b/macos/Runner/Release.entitlements
index 9f7744dc..dc5df580 100644
--- a/macos/Runner/Release.entitlements
+++ b/macos/Runner/Release.entitlements
@@ -17,7 +17,8 @@
- com.apple.security.files.user-selected.read-only
+
+ com.apple.security.files.user-selected.read-write
\ No newline at end of file
diff --git a/pubspec.lock b/pubspec.lock
index 643140a9..94eccfdd 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -506,14 +506,30 @@ packages:
url: "https://pub.dev"
source: hosted
version: "6.1.4"
- file_picker:
+ file_selector:
dependency: "direct main"
description:
- name: file_picker
- sha256: c7a8e25ca60e7f331b153b0cb3d405828f18d3e72a6fa1d9440c86556fffc877
+ name: file_selector
+ sha256: "84eaf3e034d647859167d1f01cfe7b6352488f34c1b4932635012b202014c25b"
url: "https://pub.dev"
source: hosted
- version: "5.3.0"
+ version: "1.0.1"
+ file_selector_android:
+ dependency: transitive
+ description:
+ name: file_selector_android
+ sha256: d41e165d6f798ca941d536e5dc93494d50e78c571c28ad60cfe0b0fefeb9f1e7
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.5.0+3"
+ file_selector_ios:
+ dependency: transitive
+ description:
+ name: file_selector_ios
+ sha256: b3fbdda64aa2e335df6e111f6b0f1bb968402ed81d2dd1fa4274267999aa32c2
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.5.1+6"
file_selector_linux:
dependency: transitive
description:
@@ -538,6 +554,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.6.1"
+ file_selector_web:
+ dependency: transitive
+ description:
+ name: file_selector_web
+ sha256: dc6622c4d66cb1bee623ddcc029036603c6cc45c85e4a775bb06008d61c809c1
+ url: "https://pub.dev"
+ source: hosted
+ version: "0.9.2+1"
file_selector_windows:
dependency: transitive
description:
diff --git a/pubspec.yaml b/pubspec.yaml
index 09814406..c1b427cd 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -33,7 +33,6 @@ dependencies:
disable_battery_optimization: ^1.1.0+1
duration: ^3.0.12
envied: ^0.3.0
- file_picker: ^5.2.2
fl_query: ^1.0.0-alpha.4
fl_query_hooks: ^1.0.0-alpha.4+1
fl_query_devtools: ^0.1.0-alpha.2
@@ -102,6 +101,7 @@ dependencies:
youtube_explode_dart: ^2.0.1
stroke_text: ^0.0.2
image_picker: ^1.0.4
+ file_selector: ^1.0.1
dev_dependencies:
build_runner: ^2.3.2