This commit is contained in:
Imran Remtulla
2023-08-22 19:43:23 -04:00
parent 788c4c7917
commit 5307fd0901
2 changed files with 17 additions and 13 deletions

View File

@@ -113,7 +113,7 @@ Future<void> bgUpdateCheck(int taskId, Map<String, dynamic>? params) async {
LogsProvider logs = LogsProvider(); LogsProvider logs = LogsProvider();
NotificationsProvider notificationsProvider = NotificationsProvider(); NotificationsProvider notificationsProvider = NotificationsProvider();
AppsProvider appsProvider = AppsProvider(); AppsProvider appsProvider = AppsProvider(isBg: true);
await appsProvider.loadApps(); await appsProvider.loadApps();
var settingsProvider = SettingsProvider(); var settingsProvider = SettingsProvider();
await settingsProvider.initializeSettings(); await settingsProvider.initializeSettings();

View File

@@ -114,7 +114,7 @@ class AppsProvider with ChangeNotifier {
Iterable<AppInMemory> getAppValues() => apps.values.map((a) => a.deepCopy()); Iterable<AppInMemory> getAppValues() => apps.values.map((a) => a.deepCopy());
AppsProvider() { AppsProvider({isBg = false}) {
// Subscribe to changes in the app foreground status // Subscribe to changes in the app foreground status
foregroundStream = FGBGEvents.stream.asBroadcastStream(); foregroundStream = FGBGEvents.stream.asBroadcastStream();
foregroundSubscription = foregroundStream?.listen((event) async { foregroundSubscription = foregroundStream?.listen((event) async {
@@ -132,17 +132,21 @@ class AppsProvider with ChangeNotifier {
APKDir.createSync(); APKDir.createSync();
} }
} }
// Load Apps into memory (in background, this is done later instead of in the constructor) if (!isBg) {
// Load Apps into memory (in background processes, this is done later instead of in the constructor)
await loadApps(); await loadApps();
// Delete any partial APKs // Delete any partial APKs (if safe to do so)
var cutoff = DateTime.now().subtract(const Duration(days: 7)); var cutoff = DateTime.now().subtract(const Duration(days: 7));
APKDir.listSync() APKDir.listSync()
.where((element) => .where((element) =>
element.path.endsWith('.part') || element.path.endsWith('.part') ||
element.statSync().modified.isBefore(cutoff)) element.statSync().modified.isBefore(cutoff))
.forEach((partialApk) { .forEach((partialApk) {
if (!areDownloadsRunning()) {
partialApk.delete(recursive: true); partialApk.delete(recursive: true);
}
}); });
}
}(); }();
} }