From 03dc7ef77b06908c2ae8cb13f4dc20f887174a0a Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Tue, 7 Jul 2026 00:39:57 +0100 Subject: [PATCH] chore: remove stale debug logs and spurious getInstalledInfo error logging - Remove all APPS REFRESH debug logs from apps.dart and apps_provider_updates.dart (trace logging for refresh diagnostics no longer needed) - Remove getInstalledInfo error log entirely: "app not installed" is always an expected condition, not an error. Remove printErr parameter and all printErr: false at call sites --- lib/pages/apps.dart | 24 --------------- lib/providers/apps_provider.dart | 20 ++++--------- .../apps_provider_import_export.dart | 2 +- lib/providers/apps_provider_install.dart | 2 +- lib/providers/apps_provider_updates.dart | 29 ------------------- 5 files changed, 7 insertions(+), 70 deletions(-) diff --git a/lib/pages/apps.dart b/lib/pages/apps.dart index 704c3255..944d9b0c 100644 --- a/lib/pages/apps.dart +++ b/lib/pages/apps.dart @@ -13,7 +13,6 @@ import 'package:obtainium/custom_errors.dart'; import 'package:obtainium/main.dart'; import 'package:obtainium/pages/app.dart'; import 'package:obtainium/providers/apps_provider.dart'; -import 'package:obtainium/providers/logs_provider.dart'; import 'package:obtainium/providers/notifications_provider.dart'; import 'package:obtainium/providers/settings_provider.dart'; import 'package:obtainium/providers/source_provider.dart'; @@ -162,37 +161,18 @@ class AppsPageState extends State { } Future> refresh() { - unawaited(LogsProvider().add( - 'APPS REFRESH: refresh() called, checkUpdates starting', - level: LogLevel.info, - )); settingsProvider.lightImpact(); setState(() {}); final ctx = context; return appsProvider .checkUpdates(forceAll: true) - .then((updates) { - unawaited(LogsProvider().add( - 'APPS REFRESH: checkUpdates returned ${updates.length} updates', - level: LogLevel.info, - )); - return updates; - }) .catchError((e) { - unawaited(LogsProvider().add( - 'APPS REFRESH: checkUpdates error: ${e.toString()}', - level: LogLevel.error, - )); if (ctx.mounted) { showError(e is CheckUpdatesException ? e.errors : e, ctx); } return []; }) .whenComplete(() { - unawaited(LogsProvider().add( - 'APPS REFRESH: whenComplete firing', - level: LogLevel.info, - )); setState(() {}); }); } @@ -1040,10 +1020,6 @@ class AppsPageState extends State { settingsProvider.checkOnStart) { WidgetsBinding.instance.addPostFrameCallback((_) { if (!mounted) return; - unawaited(LogsProvider().add( - 'APPS REFRESH: calling refreshIndicatorKey.currentState?.show()', - level: LogLevel.info, - )); refreshIndicatorKey.currentState?.show(); }); } diff --git a/lib/providers/apps_provider.dart b/lib/providers/apps_provider.dart index 58f1693e..3bcf0639 100644 --- a/lib/providers/apps_provider.dart +++ b/lib/providers/apps_provider.dart @@ -745,25 +745,15 @@ Future> getAllInstalledInfo() async { } Future getInstalledInfo( - String? packageName, { - bool printErr = true, -}) async { + String? packageName, +) async { if (packageName != null) { try { return await packageManager.getPackageInfo( packageName: packageName, flags: packageInfoFlags, ); - } catch (e) { - if (printErr) { - unawaited( - LogsProvider().add( - 'Failed to get installed info for $packageName: ${e.toString()}', - level: LogLevel.error, - ), - ); - } - } + } catch (_) {} } return null; } @@ -778,7 +768,7 @@ class InstallBaseline { /// Captures the current install state of [appId] to compare against later. Future captureInstallBaseline(String appId) async { - final info = await getInstalledInfo(appId, printErr: false); + final info = await getInstalledInfo(appId); return InstallBaseline(info != null, info?.lastUpdateTime); } @@ -795,7 +785,7 @@ Future waitForPackageInstall( Duration interval = const Duration(milliseconds: 500), }) async { for (var attempt = 0; attempt < attempts; attempt++) { - final info = await getInstalledInfo(appId, printErr: false); + final info = await getInstalledInfo(appId); if (info != null) { if (!baseline.wasInstalled) return true; final updateTimeAfter = info.lastUpdateTime; diff --git a/lib/providers/apps_provider_import_export.dart b/lib/providers/apps_provider_import_export.dart index 6df249cb..8cff772e 100644 --- a/lib/providers/apps_provider_import_export.dart +++ b/lib/providers/apps_provider_import_export.dart @@ -131,7 +131,7 @@ extension AppsProviderImportExport on AppsProvider { await waitForAppsToLoad(); for (var i = 0; i < importedApps.length; i++) { final a = importedApps[i]; - final installedInfo = await getInstalledInfo(a.id, printErr: false); + final installedInfo = await getInstalledInfo(a.id); importedApps[i] = a.copyWith( installedVersion: a.settings.getBool('useVersionCodeAsOSVersion') ? installedInfo?.versionCode.toString() diff --git a/lib/providers/apps_provider_install.dart b/lib/providers/apps_provider_install.dart index a8f3b41a..09a26ad4 100644 --- a/lib/providers/apps_provider_install.dart +++ b/lib/providers/apps_provider_install.dart @@ -672,7 +672,7 @@ extension AppsProviderInstall on AppsProvider { if (!settingsProvider.beforeNewInstallsShareToAppVerifier) return; var anyInstalled = false; for (final id in _verifiedAppsPackageIds) { - if (await getInstalledInfo(id, printErr: false) != null) { + if (await getInstalledInfo(id) != null) { anyInstalled = true; break; } diff --git a/lib/providers/apps_provider_updates.dart b/lib/providers/apps_provider_updates.dart index 77bb6a92..1133c1f1 100644 --- a/lib/providers/apps_provider_updates.dart +++ b/lib/providers/apps_provider_updates.dart @@ -3,7 +3,6 @@ import 'dart:io'; import 'package:obtainium/custom_errors.dart'; import 'package:obtainium/providers/apps_provider.dart'; -import 'package:obtainium/providers/logs_provider.dart'; import 'package:obtainium/providers/settings_provider.dart'; import 'package:obtainium/providers/source_provider.dart'; @@ -95,17 +94,9 @@ extension AppsProviderUpdates on AppsProvider { }) async { final SettingsProvider settingsProvider = sp ?? this.settingsProvider; if (updateCheckCompleter != null) { - unawaited(LogsProvider().add( - 'APPS REFRESH: checkUpdates returning existing completer future', - level: LogLevel.info, - )); return updateCheckCompleter!.future; } final completer = updateCheckCompleter = Completer>(); - unawaited(LogsProvider().add( - 'APPS REFRESH: checkUpdates created new completer', - level: LogLevel.info, - )); try { final List updates = []; final MultiAppMultiError errors = MultiAppMultiError(); @@ -129,10 +120,6 @@ extension AppsProviderUpdates on AppsProvider { settingsProvider.onlyCheckInstalledOrTrackOnlyApps, ); } - unawaited(LogsProvider().add( - 'APPS REFRESH: checkUpdates checking ${appIds.length} apps (forceAll=$forceAll, specificIds=${specificIds != null})', - level: LogLevel.info, - )); final results = await Future.wait( appIds.map((appId) async { final currentApp = apps[appId]?.app; @@ -165,32 +152,16 @@ extension AppsProviderUpdates on AppsProvider { if (r.value) updates.add(r.key); } if (fetched.isNotEmpty) { - unawaited(LogsProvider().add( - 'APPS REFRESH: checkUpdates saving ${fetched.length} fetched apps (${updates.length} have updates)', - level: LogLevel.info, - )); await saveApps(fetched); } if (errors.idsByErrorString.isNotEmpty) { - unawaited(LogsProvider().add( - 'APPS REFRESH: checkUpdates completed with ${errors.idsByErrorString.length} errors', - level: LogLevel.info, - )); final ex = CheckUpdatesException(updates, errors); completer.completeError(ex); throw ex; } - unawaited(LogsProvider().add( - 'APPS REFRESH: checkUpdates completed successfully', - level: LogLevel.info, - )); completer.complete(updates); return updates; } catch (e) { - unawaited(LogsProvider().add( - 'APPS REFRESH: checkUpdates caught exception: ${e.toString()}', - level: LogLevel.error, - )); if (!completer.isCompleted) { completer.completeError(e); }