Initial project import

This commit is contained in:
2026-07-24 23:11:20 +08:00
commit 6396eabb87
372 changed files with 49682 additions and 0 deletions
@@ -0,0 +1,45 @@
import 'package:flutter/services.dart';
enum ApkInstallStatus { launched, permissionRequested, unsupported }
class ApkInspection {
final bool valid;
final String? message;
const ApkInspection({required this.valid, this.message});
}
class UpdateInstaller {
UpdateInstaller._();
static const _channel = MethodChannel('com.nx.miaoji/update');
static Future<ApkInspection> inspect({
required String path,
required int expectedBuild,
}) async {
final result = await _channel.invokeMapMethod<String, dynamic>(
'inspectApk',
{'path': path, 'expectedBuild': expectedBuild},
);
return ApkInspection(
valid: result?['valid'] == true,
message: result?['message']?.toString(),
);
}
static Future<ApkInstallStatus> install({
required String path,
required int expectedBuild,
}) async {
final result = await _channel.invokeMapMethod<String, dynamic>(
'installApk',
{'path': path, 'expectedBuild': expectedBuild},
);
return switch (result?['status']) {
'launched' => ApkInstallStatus.launched,
'permission_requested' => ApkInstallStatus.permissionRequested,
_ => ApkInstallStatus.unsupported,
};
}
}