162 lines
5.6 KiB
Dart
162 lines
5.6 KiB
Dart
// Autogenerated from Pigeon (v26.1.5), 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, omit_obvious_local_variable_types, unused_shown_name, unnecessary_import, no_leading_underscores_for_local_identifiers
|
|
|
|
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';
|
|
|
|
PlatformException _createConnectionError(String channelName) {
|
|
return PlatformException(
|
|
code: 'channel-error',
|
|
message: 'Unable to establish connection on channel: "$channelName".',
|
|
);
|
|
}
|
|
|
|
List<Object?> wrapResponse({
|
|
Object? result,
|
|
PlatformException? error,
|
|
bool empty = false,
|
|
}) {
|
|
if (empty) {
|
|
return <Object?>[];
|
|
}
|
|
if (error == null) {
|
|
return <Object?>[result];
|
|
}
|
|
return <Object?>[error.code, error.message, error.details];
|
|
}
|
|
|
|
class _PigeonCodec extends StandardMessageCodec {
|
|
const _PigeonCodec();
|
|
@override
|
|
void writeValue(WriteBuffer buffer, Object? value) {
|
|
if (value is int) {
|
|
buffer.putUint8(4);
|
|
buffer.putInt64(value);
|
|
} else {
|
|
super.writeValue(buffer, value);
|
|
}
|
|
}
|
|
|
|
@override
|
|
Object? readValueOfType(int type, ReadBuffer buffer) {
|
|
switch (type) {
|
|
default:
|
|
return super.readValueOfType(type, buffer);
|
|
}
|
|
}
|
|
}
|
|
|
|
/// Host API - methods called from Flutter to native Android.
|
|
class SpeechToTextApi {
|
|
/// Constructor for [SpeechToTextApi]. 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.
|
|
SpeechToTextApi({
|
|
BinaryMessenger? binaryMessenger,
|
|
String messageChannelSuffix = '',
|
|
}) : pigeonVar_binaryMessenger = binaryMessenger,
|
|
pigeonVar_messageChannelSuffix = messageChannelSuffix.isNotEmpty
|
|
? '.$messageChannelSuffix'
|
|
: '';
|
|
final BinaryMessenger? pigeonVar_binaryMessenger;
|
|
|
|
static const MessageCodec<Object?> pigeonChannelCodec = _PigeonCodec();
|
|
|
|
final String pigeonVar_messageChannelSuffix;
|
|
|
|
/// Show the speech recognition dialog.
|
|
///
|
|
/// Returns [true] if the dialog was shown successfully.
|
|
/// Returns [false] if the speech recognition service is not available.
|
|
///
|
|
/// The [locale] parameter specifies the language locale for recognition
|
|
/// (e.g., 'en-US', 'de-DE'). If null, uses the device default.
|
|
Future<bool> showDialog({String? locale}) async {
|
|
final pigeonVar_channelName =
|
|
'dev.flutter.pigeon.speech_to_text_dialog.SpeechToTextApi.showDialog$pigeonVar_messageChannelSuffix';
|
|
final pigeonVar_channel = BasicMessageChannel<Object?>(
|
|
pigeonVar_channelName,
|
|
pigeonChannelCodec,
|
|
binaryMessenger: pigeonVar_binaryMessenger,
|
|
);
|
|
final Future<Object?> pigeonVar_sendFuture = pigeonVar_channel.send(
|
|
<Object?>[locale],
|
|
);
|
|
final pigeonVar_replyList = await pigeonVar_sendFuture as List<Object?>?;
|
|
if (pigeonVar_replyList == null) {
|
|
throw _createConnectionError(pigeonVar_channelName);
|
|
} else if (pigeonVar_replyList.length > 1) {
|
|
throw PlatformException(
|
|
code: pigeonVar_replyList[0]! as String,
|
|
message: pigeonVar_replyList[1] as String?,
|
|
details: pigeonVar_replyList[2],
|
|
);
|
|
} else if (pigeonVar_replyList[0] == null) {
|
|
throw PlatformException(
|
|
code: 'null-error',
|
|
message: 'Host platform returned null value for non-null return value.',
|
|
);
|
|
} else {
|
|
return (pigeonVar_replyList[0] as bool?)!;
|
|
}
|
|
}
|
|
}
|
|
|
|
/// Flutter API - callbacks from native Android to Flutter.
|
|
abstract class SpeechToTextEvents {
|
|
static const MessageCodec<Object?> pigeonChannelCodec = _PigeonCodec();
|
|
|
|
/// Called when speech recognition completes with the recognized text.
|
|
///
|
|
/// [text] contains the recognized speech text. May be empty if
|
|
/// recognition failed or was cancelled.
|
|
void onTextReceived(String text);
|
|
|
|
static void setUp(
|
|
SpeechToTextEvents? api, {
|
|
BinaryMessenger? binaryMessenger,
|
|
String messageChannelSuffix = '',
|
|
}) {
|
|
messageChannelSuffix = messageChannelSuffix.isNotEmpty
|
|
? '.$messageChannelSuffix'
|
|
: '';
|
|
{
|
|
final pigeonVar_channel = BasicMessageChannel<Object?>(
|
|
'dev.flutter.pigeon.speech_to_text_dialog.SpeechToTextEvents.onTextReceived$messageChannelSuffix',
|
|
pigeonChannelCodec,
|
|
binaryMessenger: binaryMessenger,
|
|
);
|
|
if (api == null) {
|
|
pigeonVar_channel.setMessageHandler(null);
|
|
} else {
|
|
pigeonVar_channel.setMessageHandler((Object? message) async {
|
|
assert(
|
|
message != null,
|
|
'Argument for dev.flutter.pigeon.speech_to_text_dialog.SpeechToTextEvents.onTextReceived was null.',
|
|
);
|
|
final List<Object?> args = (message as List<Object?>?)!;
|
|
final String? arg_text = (args[0] as String?);
|
|
assert(
|
|
arg_text != null,
|
|
'Argument for dev.flutter.pigeon.speech_to_text_dialog.SpeechToTextEvents.onTextReceived was null, expected non-null String.',
|
|
);
|
|
try {
|
|
api.onTextReceived(arg_text!);
|
|
return wrapResponse(empty: true);
|
|
} on PlatformException catch (e) {
|
|
return wrapResponse(error: e);
|
|
} catch (e) {
|
|
return wrapResponse(
|
|
error: PlatformException(code: 'error', message: e.toString()),
|
|
);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|