feat: refine AI navigation and accessibility recovery
This commit is contained in:
@@ -49,7 +49,6 @@ final router = GoRouter(
|
||||
refreshListenable: SessionStore.instance,
|
||||
redirect: (_, state) {
|
||||
final aiOnly =
|
||||
state.matchedLocation == '/chat' ||
|
||||
state.matchedLocation == '/ai-mode' ||
|
||||
state.matchedLocation == '/companion';
|
||||
if (aiOnly &&
|
||||
@@ -86,7 +85,15 @@ final router = GoRouter(
|
||||
path: '/categories',
|
||||
builder: (_, __) => const CategoryManagePage(),
|
||||
),
|
||||
GoRoute(path: '/report', builder: (_, __) => const ReportPage()),
|
||||
GoRoute(
|
||||
path: '/report',
|
||||
builder: (_, state) => ReportPage(
|
||||
initialPeriod: state.uri.queryParameters['period'],
|
||||
initialAnchor: DateTime.tryParse(
|
||||
state.uri.queryParameters['date'] ?? '',
|
||||
),
|
||||
),
|
||||
),
|
||||
GoRoute(
|
||||
path: '/legal/:kind',
|
||||
builder: (_, state) => LegalDocumentPage(
|
||||
@@ -175,8 +182,7 @@ class _MiaoJiAppState extends State<MiaoJiApp> with WidgetsBindingObserver {
|
||||
if (SessionStore.instance.hasSession) {
|
||||
await _runSafely(CurrentLedgerStore.instance.loadCached);
|
||||
}
|
||||
await _runSafely(RecognitionImportService.configureNativeContext);
|
||||
await _runSafely(RecognitionImportService.importAutomatic);
|
||||
await _runSafely(_restoreRecognitionServices);
|
||||
await _runSafely(PushService.instance.initialize);
|
||||
if (mounted) setState(() {});
|
||||
unawaited(_refreshRemoteState());
|
||||
@@ -184,12 +190,17 @@ class _MiaoJiAppState extends State<MiaoJiApp> with WidgetsBindingObserver {
|
||||
|
||||
Future<void> _resumeServices() async {
|
||||
unawaited(ApiClient.instance.probe());
|
||||
await _runSafely(RecognitionImportService.configureNativeContext);
|
||||
await _runSafely(RecognitionImportService.importAutomatic);
|
||||
await _runSafely(_restoreRecognitionServices);
|
||||
await _runSafely(PushService.instance.refresh);
|
||||
unawaited(_refreshRemoteState());
|
||||
}
|
||||
|
||||
Future<void> _restoreRecognitionServices() async {
|
||||
await RecognitionImportService.configureNativeContext();
|
||||
await ScreenshotChannel.waitForAccessibilityConnection();
|
||||
await RecognitionImportService.importAutomatic();
|
||||
}
|
||||
|
||||
Future<void> _refreshRemoteState() async {
|
||||
await Future.wait([
|
||||
_runSafely(PublicConfigApi.init),
|
||||
|
||||
Reference in New Issue
Block a user