Skip to content

Commit 8278251

Browse files
authored
fix: Implemented Exception Handling and solved persistent Shimmer in Explorer Screen (#53)
1 parent 0705bfd commit 8278251

File tree

2 files changed

+22
-16
lines changed

2 files changed

+22
-16
lines changed

lib/api/api_requests.dart

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -420,26 +420,31 @@ class ApiRequests {
420420

421421
/// Gets Disk Files
422422
static Future<List<DiskFile>> getDiskFiles(Api api, String path) async {
423-
var response = await api.ioClient.post(Uri.parse(api.explorerPluginUrl),
424-
headers: api.getAuthHeader(),
425-
body: {
426-
'cmd': 'get',
427-
'src': path,
428-
});
423+
try {
424+
var response = await api.ioClient.post(Uri.parse(api.explorerPluginUrl),
425+
headers: api.getAuthHeader(),
426+
body: {
427+
'cmd': 'get',
428+
'src': path,
429+
});
429430

430-
var files = jsonDecode(response.body)['files'];
431+
var files = jsonDecode(response.body)['files'];
431432

432-
List<DiskFile> diskFiles = [];
433+
List<DiskFile> diskFiles = [];
433434

434-
for (var file in files) {
435-
DiskFile diskFile = DiskFile();
435+
for (var file in files) {
436+
DiskFile diskFile = DiskFile();
436437

437-
diskFile.isDirectory = file['is_dir'];
438-
diskFile.name = file['data']['name'];
439-
diskFiles.add(diskFile);
440-
}
438+
diskFile.isDirectory = file['is_dir'];
439+
diskFile.name = file['data']['name'];
440+
diskFiles.add(diskFile);
441+
}
441442

442-
return diskFiles;
443+
return diskFiles;
444+
} on Exception catch (e) {
445+
print(e.toString());
446+
return null;
447+
}
443448
}
444449

445450
static setTorrentLabel(Api api, String hashValue, {String label}) async {

lib/screens/disk_explorer_screen.dart

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@ class _DiskExplorerState extends State<DiskExplorer> {
2121
isLoading = true;
2222
});
2323
diskFiles = await ApiRequests.getDiskFiles(
24-
Provider.of<Api>(context, listen: false), path);
24+
Provider.of<Api>(context, listen: false), path) ??
25+
[];
2526
setState(() {
2627
isLoading = false;
2728
});

0 commit comments

Comments
 (0)