Initial commit
This commit is contained in:
1
lib/moxxy_native.dart
Normal file
1
lib/moxxy_native.dart
Normal file
@@ -0,0 +1 @@
|
||||
export 'pigeon/picker.dart';
|
||||
89
lib/pigeon/picker.dart
Normal file
89
lib/pigeon/picker.dart
Normal file
@@ -0,0 +1,89 @@
|
||||
// Autogenerated from Pigeon (v11.0.1), do not edit directly.
|
||||
// See also: https://pub.dev/packages/pigeon
|
||||
// ignore_for_file: public_member_api_docs, non_constant_identifier_names, avoid_as, unused_import, unnecessary_parenthesis, prefer_null_aware_operators, omit_local_variable_types, unused_shown_name, unnecessary_import
|
||||
|
||||
import 'dart:async';
|
||||
import 'dart:typed_data' show Float64List, Int32List, Int64List, Uint8List;
|
||||
|
||||
import 'package:flutter/foundation.dart' show ReadBuffer, WriteBuffer;
|
||||
import 'package:flutter/services.dart';
|
||||
|
||||
enum FilePickerType {
|
||||
/// Pick only image(s)
|
||||
image,
|
||||
/// Pick only video(s)
|
||||
video,
|
||||
/// Pick image(s) and video(s)
|
||||
imageAndVideo,
|
||||
/// Pick any kind of file(s)
|
||||
generic,
|
||||
}
|
||||
|
||||
class MoxxyPickerApi {
|
||||
/// Constructor for [MoxxyPickerApi]. The [binaryMessenger] named argument is
|
||||
/// available for dependency injection. If it is left null, the default
|
||||
/// BinaryMessenger will be used which routes to the host platform.
|
||||
MoxxyPickerApi({BinaryMessenger? binaryMessenger})
|
||||
: _binaryMessenger = binaryMessenger;
|
||||
final BinaryMessenger? _binaryMessenger;
|
||||
|
||||
static const MessageCodec<Object?> codec = StandardMessageCodec();
|
||||
|
||||
/// Open either the photo picker or the generic file picker to get a list of paths that were
|
||||
/// selected and are accessable. If the list is empty, then the user dismissed the picker without
|
||||
/// selecting anything.
|
||||
///
|
||||
/// [type] specifies what kind of file(s) should be picked.
|
||||
///
|
||||
/// [multiple] controls whether multiple files can be picked (true) or just a single file
|
||||
/// is enough (false).
|
||||
Future<List<String?>> pickFiles(FilePickerType arg_type, bool arg_multiple) async {
|
||||
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
||||
'dev.flutter.pigeon.moxxy_native.MoxxyPickerApi.pickFiles', codec,
|
||||
binaryMessenger: _binaryMessenger);
|
||||
final List<Object?>? replyList =
|
||||
await channel.send(<Object?>[arg_type.index, arg_multiple]) as List<Object?>?;
|
||||
if (replyList == null) {
|
||||
throw PlatformException(
|
||||
code: 'channel-error',
|
||||
message: 'Unable to establish connection on channel.',
|
||||
);
|
||||
} else if (replyList.length > 1) {
|
||||
throw PlatformException(
|
||||
code: replyList[0]! as String,
|
||||
message: replyList[1] as String?,
|
||||
details: replyList[2],
|
||||
);
|
||||
} else if (replyList[0] == null) {
|
||||
throw PlatformException(
|
||||
code: 'null-error',
|
||||
message: 'Host platform returned null value for non-null return value.',
|
||||
);
|
||||
} else {
|
||||
return (replyList[0] as List<Object?>?)!.cast<String?>();
|
||||
}
|
||||
}
|
||||
|
||||
/// Like [pickFiles] but sets multiple to false and returns the raw binary data from the file.
|
||||
Future<Uint8List?> pickFileWithData(FilePickerType arg_type) async {
|
||||
final BasicMessageChannel<Object?> channel = BasicMessageChannel<Object?>(
|
||||
'dev.flutter.pigeon.moxxy_native.MoxxyPickerApi.pickFileWithData', codec,
|
||||
binaryMessenger: _binaryMessenger);
|
||||
final List<Object?>? replyList =
|
||||
await channel.send(<Object?>[arg_type.index]) as List<Object?>?;
|
||||
if (replyList == null) {
|
||||
throw PlatformException(
|
||||
code: 'channel-error',
|
||||
message: 'Unable to establish connection on channel.',
|
||||
);
|
||||
} else if (replyList.length > 1) {
|
||||
throw PlatformException(
|
||||
code: replyList[0]! as String,
|
||||
message: replyList[1] as String?,
|
||||
details: replyList[2],
|
||||
);
|
||||
} else {
|
||||
return (replyList[0] as Uint8List?);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user