fix: harden OriginOS recognition tracking

This commit is contained in:
2026-08-31 11:29:04 +08:00
parent 9ccbdfead4
commit 477f83c5b1
17 changed files with 980 additions and 108 deletions
+13 -1
View File
@@ -197,8 +197,16 @@ class _MiaoJiAppState extends State<MiaoJiApp> with WidgetsBindingObserver {
Future<void> _restoreRecognitionServices() async {
await RecognitionImportService.configureNativeContext();
await ScreenshotChannel.waitForAccessibilityConnection();
await ScreenshotChannel.ensureRecognitionKeepAlive();
await RecognitionImportService.importAutomatic();
unawaited(_runSafely(_importAfterAccessibilityReconnect));
}
Future<void> _importAfterAccessibilityReconnect() async {
final status = await ScreenshotChannel.waitForAccessibilityConnection();
if (status.accessibilityConnected) {
await RecognitionImportService.importAutomatic();
}
}
Future<void> _refreshRemoteState() async {
@@ -231,6 +239,10 @@ class _MiaoJiAppState extends State<MiaoJiApp> with WidgetsBindingObserver {
await Future<void>.delayed(const Duration(milliseconds: 180));
final context = _rootNavigatorKey.currentContext;
if (!mounted || context == null || !context.mounted) return;
if (action['action'] == 'open_recognition_settings') {
router.push('/screenshot-settings');
return;
}
await RecognitionImportService.handleAction(context, action);
}