musicus_mobile/mobile/lib/platform.dart

77 lines
1.7 KiB
Dart
Raw Normal View History

import 'package:flutter/services.dart';
import 'package:musicus_common/musicus_common.dart';
class MusicusAndroidPlatform extends MusicusPlatform {
static const _platform = MethodChannel('de.johrpan.musicus/platform');
2020-07-18 11:54:49 +02:00
@override
Future<String> chooseBasePath() async {
return await _platform.invokeMethod<String>('openTree');
}
@override
Future<List<Document>> getChildren(String parentId) async {
final List<Map<dynamic, dynamic>> childrenJson =
await _platform.invokeListMethod(
'getChildren',
{
'treeUri': basePath,
'parentId': parentId,
},
);
return childrenJson
.map((childJson) => Document.fromJson(childJson))
.toList();
}
2020-04-18 23:41:08 +02:00
@override
Future<String> getIdentifier(String parentId, String fileName) async {
2020-04-18 23:41:08 +02:00
return await _platform.invokeMethod(
'getUriByName',
2020-04-18 23:41:08 +02:00
{
'treeUri': basePath,
'parentId': parentId,
'fileName': fileName,
2020-04-18 23:41:08 +02:00
},
);
}
@override
Future<String> readDocument(String id) async {
2020-04-19 18:37:16 +02:00
return await _platform.invokeMethod(
'readFile',
2020-04-19 18:37:16 +02:00
{
'treeUri': basePath,
'id': id,
2020-04-19 18:37:16 +02:00
},
);
}
@override
Future<String> readDocumentByName(String parentId, String fileName) async {
2020-04-18 23:41:08 +02:00
return await _platform.invokeMethod(
'readFileByName',
{
'treeUri': basePath,
2020-04-18 23:41:08 +02:00
'parentId': parentId,
'fileName': fileName,
},
);
}
@override
Future<void> writeDocumentByName(
String parentId, String fileName, String contents) async {
2020-04-18 23:41:08 +02:00
await _platform.invokeMethod(
'writeFileByName',
{
'treeUri': basePath,
2020-04-18 23:41:08 +02:00
'parentId': parentId,
'fileName': fileName,
'content': contents,
2020-04-18 23:41:08 +02:00
},
);
}
}