From d833d1df6078ccf2bbd5984375bf64d6a284f04a Mon Sep 17 00:00:00 2001 From: franzap <_@franzap.com> Date: Fri, 10 May 2024 13:13:37 -0300 Subject: [PATCH] Delete app locally if not found on relay, filter out more default apps --- lib/models/app.dart | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/models/app.dart b/lib/models/app.dart index bfea358..1e0efcc 100644 --- a/lib/models/app.dart +++ b/lib/models/app.dart @@ -62,7 +62,6 @@ mixin AppAdapter on Adapter { onStateChange: (state) async { if (state == AppLifecycleState.resumed) { await getInstalledAppsMap(); - // TODO its triggering in all screens? triggerNotify(); } }, @@ -137,7 +136,12 @@ mixin AppAdapter on Adapter { final apps = await loadAppModels({ '#d': [id] }); - return apps.firstOrNull; + // If ID not found in relay then clear from local storage + if (apps.isEmpty) { + deleteLocalById(id); + return null; + } + return apps.first; } static AndroidPackageManager? _packageManager; @@ -154,7 +158,10 @@ mixin AppAdapter on Adapter { final installedPackageInfos = infos!.where((i) => ![ 'android', 'com.android', - 'org.chromium.webview_shell' + 'com.google', + 'org.chromium.webview_shell', + 'app.grapheneos', + 'app.vanadium' ].any((e) => i.packageName!.startsWith(e))); return ref.read(installedAppProvider.notifier).state = {