feat: use notify-rust, remove dart/windows_ui

This commit is contained in:
2024-04-27 14:25:11 +08:00
parent d2694a1e25
commit 0f349bee33
10 changed files with 169 additions and 24 deletions

View File

@ -4,6 +4,7 @@
// ignore_for_file: unused_import, unused_element, unnecessary_import, duplicate_ignore, invalid_use_of_internal_member, annotate_overrides, non_constant_identifier_names, curly_braces_in_flow_control_structures, prefer_const_literals_to_create_immutables, unused_field
import 'api/http_api.dart';
import 'api/notify_api.dart';
import 'api/rs_process.dart';
import 'dart:async';
import 'dart:convert';
@ -56,7 +57,7 @@ class RustLib extends BaseEntrypoint<RustLibApi, RustLibApiImpl, RustLibWire> {
String get codegenVersion => '2.0.0-dev.32';
@override
int get rustContentHash => 1270049297;
int get rustContentHash => 1067953400;
static const kDefaultExternalLibraryLoaderConfig =
ExternalLibraryLoaderConfig(
@ -82,6 +83,13 @@ abstract class RustLibApi extends BaseApi {
Future<void> setDefaultHeader(
{required Map<String, String> headers, dynamic hint});
Future<void> sendNotify(
{String? summary,
String? body,
String? appName,
String? appId,
dynamic hint});
Stream<RsProcessStreamData> start(
{required String executable,
required List<String> arguments,
@ -202,6 +210,37 @@ class RustLibApiImpl extends RustLibApiImplPlatform implements RustLibApi {
argNames: ["headers"],
);
@override
Future<void> sendNotify(
{String? summary,
String? body,
String? appName,
String? appId,
dynamic hint}) {
return handler.executeNormal(NormalTask(
callFfi: (port_) {
var arg0 = cst_encode_opt_String(summary);
var arg1 = cst_encode_opt_String(body);
var arg2 = cst_encode_opt_String(appName);
var arg3 = cst_encode_opt_String(appId);
return wire.wire_send_notify(port_, arg0, arg1, arg2, arg3);
},
codec: DcoCodec(
decodeSuccessData: dco_decode_unit,
decodeErrorData: dco_decode_AnyhowException,
),
constMeta: kSendNotifyConstMeta,
argValues: [summary, body, appName, appId],
apiImpl: this,
hint: hint,
));
}
TaskConstMeta get kSendNotifyConstMeta => const TaskConstMeta(
debugName: "send_notify",
argNames: ["summary", "body", "appName", "appId"],
);
@override
Stream<RsProcessStreamData> start(
{required String executable,