Skip to content
This repository has been archived by the owner on Nov 7, 2023. It is now read-only.

Commit

Permalink
refactor: avoid catching errors in lifecycle
Browse files Browse the repository at this point in the history
  • Loading branch information
zyrouge committed Dec 31, 2021
1 parent 0ebed65 commit 5bf3077
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 101 deletions.
122 changes: 22 additions & 100 deletions lib/modules/app/lifecycle.dart
Original file line number Diff line number Diff line change
Expand Up @@ -51,68 +51,32 @@ abstract class AppLifecycle {
await Config.initialize();
await PathDirs.initialize();
await Logger.initialize();

Logger.of('AppLifecycle').info('Starting "preinitialize"');

if (AppState.isDesktop) {
try {
await LocalServer.initialize();
Logger.of('LocalServer')
..info('Finished "initialize"')
..info('Serving at ${LocalServer.baseURL}');
} catch (err, trace) {
Logger.of('LocalServer').error(
'"initialize" failed: $err',
trace,
);
}
await LocalServer.initialize();
Logger.of('LocalServer')
..info('Finished "initialize"')
..info('Serving at ${LocalServer.baseURL}');

Screen.setTitle('${Config.name} v${Config.version}');
}

InstanceInfo? primaryInstance;
try {
primaryInstance = await InstanceManager.check();
} catch (err, trace) {
Logger.of('InstanceManager').error(
'"check" failed: $err',
trace,
);
}
primaryInstance = await InstanceManager.check();

if (primaryInstance != null) {
try {
await InstanceManager.sendArguments(primaryInstance, args);
Logger.of('InstanceManager').info('Finished "sendArguments"');
} catch (err, trace) {
Logger.of('InstanceManager').error(
'"sendArguments" failed: $err',
trace,
);
}
await InstanceManager.sendArguments(primaryInstance, args);
Logger.of('InstanceManager').info('Finished "sendArguments"');

await Screen.close();
return;
}

try {
await DatabaseManager.initialize();
} catch (err, trace) {
Logger.of('DatabaseManager').error(
'"initialize" failed: $err',
trace,
);
}
await DatabaseManager.initialize();

try {
await AppState.initialize();
Logger.of('AppState').info('Finished "initialize"');
} catch (err, trace) {
Logger.of('AppState').error(
'"initialize" failed: $err',
trace,
);
}
await AppState.initialize();
Logger.of('AppState').info('Finished "initialize"');

final TranslationSentences? settingsLocale =
AppState.settings.value.preferences.locale != null
Expand All @@ -133,65 +97,23 @@ abstract class AppLifecycle {
}

static Future<void> initialize() async {
try {
await InstanceManager.register();
Logger.of('InstanceManager').info('Finished "register"');
} catch (err, trace) {
Logger.of('InstanceManager').error(
'"register" failed: $err',
trace,
);
}
await InstanceManager.register();
Logger.of('InstanceManager').info('Finished "register"');

try {
await ProtocolHandler.register();
Logger.of('ProtocolHandler').info('Finished "register"');
} catch (err, trace) {
Logger.of('ProtocolHandler').error(
'"register" failed: $err',
trace,
);
}
await ProtocolHandler.register();
Logger.of('ProtocolHandler').info('Finished "register"');

try {
await Screen.initialize();
Logger.of('Screen').info('Finished "initialize"');
} catch (err, trace) {
Logger.of('Screen').error(
'"initialize" failed: $err',
trace,
);
}
await Screen.initialize();
Logger.of('Screen').info('Finished "initialize"');

try {
await VideoPlayerManager.initialize();
Logger.of('VideoPlayerManager').info('Finished "initialize"');
} catch (err, trace) {
Logger.of('VideoPlayerManager').error(
'"initialize" failed: $err',
trace,
);
}
await VideoPlayerManager.initialize();
Logger.of('VideoPlayerManager').info('Finished "initialize"');

try {
await ExtensionsManager.initialize();
Logger.of('ExtensionsManager').info('Finished "initialize"');
} catch (err, trace) {
Logger.of('ExtensionsManager').error(
'"initialize" failed: $err',
trace,
);
}
await ExtensionsManager.initialize();
Logger.of('ExtensionsManager').info('Finished "initialize"');

try {
await Trackers.initialize();
Logger.of('Trackers').info('Finished "initialize"');
} catch (err, trace) {
Logger.of('Trackers').error(
'"initialize" failed: $err',
trace,
);
}
await Trackers.initialize();
Logger.of('Trackers').info('Finished "initialize"');

ready = true;
events.dispatch(AppLifecycleEvents.ready);
Expand Down
2 changes: 1 addition & 1 deletion packages/utilx/lib/generated/locale.g.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// SHA: 434473efc0e3da7eae009e7f4e634d969425f6bb
// SHA: b03ebc194f0e83a857369ba90d23163d1e200311
// ID: MTYzNTgzMDA1ODc1Ny45MjA0LTE2MzU4MzAwNTg3NTcuOTIwNA==
// Generated file. Do not edit.

Expand Down

0 comments on commit 5bf3077

Please sign in to comment.