Skip to content
This repository was archived by the owner on Feb 22, 2023. It is now read-only.

Commit 5b904ba

Browse files
adpinolaVanesaOshiro
authored andcommitted
apply feedback
1 parent 18f6951 commit 5b904ba

File tree

7 files changed

+29
-38
lines changed

7 files changed

+29
-38
lines changed

packages/file_selector/file_selector_linux/CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
## 0.9.0+2
22

3-
* Adds `getDirectoriesPaths` implementation.
3+
* Adds `getDirectoryPaths` implementation.
44

55
## 0.9.0+1
66

packages/file_selector/file_selector_linux/example/lib/get_multiple_directories_page.dart

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,19 @@
55
import 'package:file_selector_platform_interface/file_selector_platform_interface.dart';
66
import 'package:flutter/material.dart';
77

8-
/// Screen that allows the user to select one or more directories using `getDirectoriesPaths`,
8+
/// Screen that allows the user to select one or more directories using `getDirectoryPaths`,
99
/// then displays the selected directories in a dialog.
1010
class GetMultipleDirectoriesPage extends StatelessWidget {
1111
/// Default Constructor
1212
const GetMultipleDirectoriesPage({Key? key}) : super(key: key);
1313

1414
Future<void> _getDirectoryPaths(BuildContext context) async {
1515
const String confirmButtonText = 'Choose';
16-
final List<String>? directoryPaths =
17-
await FileSelectorPlatform.instance.getDirectoriesPaths(
16+
final List<String> directoryPaths =
17+
await FileSelectorPlatform.instance.getDirectoryPaths(
1818
confirmButtonText: confirmButtonText,
1919
);
20-
if (directoryPaths == null) {
20+
if (directoryPaths.isEmpty) {
2121
// Operation was canceled by the user.
2222
return;
2323
}

packages/file_selector/file_selector_linux/lib/file_selector_linux.dart

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ const String _typeGroupMimeTypesKey = 'mimeTypes';
1616
const String _openFileMethod = 'openFile';
1717
const String _getSavePathMethod = 'getSavePath';
1818
const String _getDirectoryPathMethod = 'getDirectoryPath';
19-
const String _getDirectoriesPathsMethod = 'getDirectoriesPaths';
2019

2120
const String _acceptedTypeGroupsKey = 'acceptedTypeGroups';
2221
const String _confirmButtonTextKey = 'confirmButtonText';
@@ -103,26 +102,26 @@ class FileSelectorLinux extends FileSelectorPlatform {
103102
String? initialDirectory,
104103
String? confirmButtonText,
105104
}) async {
106-
return _channel.invokeMethod<String>(
107-
_getDirectoryPathMethod,
108-
<String, dynamic>{
109-
_initialDirectoryKey: initialDirectory,
110-
_confirmButtonTextKey: confirmButtonText,
111-
},
112-
);
105+
final List<String>? path = await _channel
106+
.invokeListMethod<String>(_getDirectoryPathMethod, <String, dynamic>{
107+
_initialDirectoryKey: initialDirectory,
108+
_confirmButtonTextKey: confirmButtonText,
109+
});
110+
return path?.first;
113111
}
114112

115113
@override
116-
Future<List<String>?> getDirectoriesPaths({
114+
Future<List<String>> getDirectoryPaths({
117115
String? initialDirectory,
118116
String? confirmButtonText,
119117
}) async {
120-
return _channel
121-
.invokeListMethod<String>(_getDirectoriesPathsMethod, <String, dynamic>{
118+
final List<String>? pathList = await _channel
119+
.invokeListMethod<String>(_getDirectoryPathMethod, <String, dynamic>{
122120
_initialDirectoryKey: initialDirectory,
123121
_confirmButtonTextKey: confirmButtonText,
124122
_multipleKey: true,
125123
});
124+
return pathList ?? <String>[];
126125
}
127126
}
128127

packages/file_selector/file_selector_linux/linux/file_selector_plugin.cc

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ const char kChannelName[] = "plugins.flutter.dev/file_selector_linux";
1515
const char kOpenFileMethod[] = "openFile";
1616
const char kGetSavePathMethod[] = "getSavePath";
1717
const char kGetDirectoryPathMethod[] = "getDirectoryPath";
18-
const char kGetDirectoriesPathsMethod[] = "getDirectoriesPaths";
1918

2019
const char kAcceptedTypeGroupsKey[] = "acceptedTypeGroups";
2120
const char kConfirmButtonTextKey[] = "confirmButtonText";
@@ -132,9 +131,6 @@ GtkFileChooserNative* create_dialog_for_method(GtkWindow* window,
132131
} else if (strcmp(method, kGetDirectoryPathMethod) == 0) {
133132
return create_dialog(window, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
134133
"Choose Directory", "_Open", properties);
135-
} else if (strcmp(method, kGetDirectoriesPathsMethod) == 0) {
136-
return create_dialog(window, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
137-
"Choose one or more Directories", "_Open", properties);
138134
} else if (strcmp(method, kGetSavePathMethod) == 0) {
139135
return create_dialog(window, GTK_FILE_CHOOSER_ACTION_SAVE, "Save File",
140136
"_Save", properties);
@@ -197,10 +193,9 @@ static void method_call_cb(FlMethodChannel* channel, FlMethodCall* method_call,
197193

198194
g_autoptr(FlMethodResponse) response = nullptr;
199195
if (strcmp(method, kOpenFileMethod) == 0 ||
200-
strcmp(method, kGetDirectoriesPathsMethod) == 0) {
196+
strcmp(method, kGetDirectoryPathMethod) == 0) {
201197
response = show_dialog(self, method, args, true);
202-
} else if (strcmp(method, kGetDirectoryPathMethod) == 0 ||
203-
strcmp(method, kGetSavePathMethod) == 0) {
198+
} else if (strcmp(method, kGetSavePathMethod) == 0) {
204199
response = show_dialog(self, method, args, false);
205200
} else {
206201
response = FL_METHOD_RESPONSE(fl_method_not_implemented_response_new());

packages/file_selector/file_selector_linux/linux/test/file_selector_plugin_test.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ TEST(FileSelectorPlugin, TestGetMultipleDirectories) {
175175
fl_value_set_string_take(args, "multiple", fl_value_new_bool(true));
176176

177177
g_autoptr(GtkFileChooserNative) dialog =
178-
create_dialog_for_method(nullptr, "getDirectoriesPaths", args);
178+
create_dialog_for_method(nullptr, "getDirectoryPath", args);
179179

180180
ASSERT_NE(dialog, nullptr);
181181
EXPECT_EQ(gtk_file_chooser_get_action(GTK_FILE_CHOOSER(dialog)),

packages/file_selector/file_selector_linux/pubspec.yaml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,6 @@ repository: https://github.com/flutter/plugins/tree/main/packages/file_selector/
44
issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+file_selector%22
55
version: 0.9.0+2
66

7-
# TODO(adpinola): remove this once file_selector_platform_interface version is updated to 2.3.0
8-
# with getDirectoriesPaths method.
9-
publish_to: none
10-
117
environment:
128
sdk: ">=2.12.0 <3.0.0"
139
flutter: ">=2.10.0"

packages/file_selector/file_selector_linux/test/file_selector_linux_test.dart

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -373,28 +373,28 @@ void main() {
373373
);
374374
});
375375
test('passes confirmButtonText correctly', () async {
376-
await plugin.getDirectoryPath(confirmButtonText: 'Open File');
376+
await plugin.getDirectoryPath(confirmButtonText: 'Select Folder');
377377

378378
expect(
379379
log,
380380
<Matcher>[
381381
isMethodCall('getDirectoryPath', arguments: <String, dynamic>{
382382
'initialDirectory': null,
383-
'confirmButtonText': 'Open File',
383+
'confirmButtonText': 'Select Folder',
384384
}),
385385
],
386386
);
387387
});
388388
});
389389

390-
group('#getDirectoriesPaths', () {
390+
group('#getDirectoryPaths', () {
391391
test('passes initialDirectory correctly', () async {
392-
await plugin.getDirectoriesPaths(initialDirectory: '/example/directory');
392+
await plugin.getDirectoryPaths(initialDirectory: '/example/directory');
393393

394394
expect(
395395
log,
396396
<Matcher>[
397-
isMethodCall('getDirectoriesPaths', arguments: <String, dynamic>{
397+
isMethodCall('getDirectoryPath', arguments: <String, dynamic>{
398398
'initialDirectory': '/example/directory',
399399
'confirmButtonText': null,
400400
'multiple': true,
@@ -403,26 +403,27 @@ void main() {
403403
);
404404
});
405405
test('passes confirmButtonText correctly', () async {
406-
await plugin.getDirectoriesPaths(confirmButtonText: 'Open File');
406+
await plugin.getDirectoryPaths(
407+
confirmButtonText: 'Select one or mode folders');
407408

408409
expect(
409410
log,
410411
<Matcher>[
411-
isMethodCall('getDirectoriesPaths', arguments: <String, dynamic>{
412+
isMethodCall('getDirectoryPath', arguments: <String, dynamic>{
412413
'initialDirectory': null,
413-
'confirmButtonText': 'Open File',
414+
'confirmButtonText': 'Select one or mode folders',
414415
'multiple': true,
415416
}),
416417
],
417418
);
418419
});
419420
test('passes multiple flag correctly', () async {
420-
await plugin.getDirectoriesPaths();
421+
await plugin.getDirectoryPaths();
421422

422423
expect(
423424
log,
424425
<Matcher>[
425-
isMethodCall('getDirectoriesPaths', arguments: <String, dynamic>{
426+
isMethodCall('getDirectoryPath', arguments: <String, dynamic>{
426427
'initialDirectory': null,
427428
'confirmButtonText': null,
428429
'multiple': true,

0 commit comments

Comments
 (0)