From 52832f996f1c6fded3590ad2cbd66c5789d597dd Mon Sep 17 00:00:00 2001 From: emanuele-f Date: Thu, 22 Dec 2022 10:41:34 +0100 Subject: [PATCH] Fix warning with firewall whitelist --- .../java/com/emanuelef/remote_capture/AppsResolver.java | 9 +++++++-- .../java/com/emanuelef/remote_capture/PCAPdroid.java | 2 ++ .../com/emanuelef/remote_capture/model/MatchList.java | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/emanuelef/remote_capture/AppsResolver.java b/app/src/main/java/com/emanuelef/remote_capture/AppsResolver.java index 4869abda..598ba537 100644 --- a/app/src/main/java/com/emanuelef/remote_capture/AppsResolver.java +++ b/app/src/main/java/com/emanuelef/remote_capture/AppsResolver.java @@ -93,19 +93,24 @@ public class AppsResolver { // Get the AppDescriptor corresponding to the given package name // No caching occurs. Virtual apps cannot be used. // This is public to provide a fast resolution alternative to getAppByPackage - public static AppDescriptor resolveInstalledApp(PackageManager pm, String packageName, int pm_flags) { + public static AppDescriptor resolveInstalledApp(PackageManager pm, String packageName, int pm_flags, boolean warn_not_found) { PackageInfo pinfo; try { pinfo = Utils.getPackageInfo(pm, packageName, pm_flags); } catch (PackageManager.NameNotFoundException e) { - Log.w(TAG, "could not retrieve package: " + packageName); + if(warn_not_found) + Log.w(TAG, "could not retrieve package: " + packageName); return null; } return new AppDescriptor(pm, pinfo); } + public static AppDescriptor resolveInstalledApp(PackageManager pm, String packageName, int pm_flags) { + return resolveInstalledApp(pm, packageName, pm_flags, true); + } + @SuppressLint("DiscouragedPrivateApi") public @Nullable AppDescriptor getAppByUid(int uid, int pm_flags) { AppDescriptor app = mApps.get(uid); diff --git a/app/src/main/java/com/emanuelef/remote_capture/PCAPdroid.java b/app/src/main/java/com/emanuelef/remote_capture/PCAPdroid.java index dfda636e..4fb7e0d9 100644 --- a/app/src/main/java/com/emanuelef/remote_capture/PCAPdroid.java +++ b/app/src/main/java/com/emanuelef/remote_capture/PCAPdroid.java @@ -131,6 +131,8 @@ public class PCAPdroid extends Application { mFirewallWhitelist.addApp(0 /* root */); mFirewallWhitelist.addApp(1000 /* android */); mFirewallWhitelist.addApp(getPackageName() /* PCAPdroid */); + + // see also https://github.com/microg/GmsCore/issues/1508#issuecomment-876269198 mFirewallWhitelist.addApp("com.google.android.gms" /* Google Play Services */); mFirewallWhitelist.addApp("com.google.android.gsf" /* Google Services Framework (push notifications) */); mFirewallWhitelist.addApp("com.google.android.ims" /* Carrier Services */); diff --git a/app/src/main/java/com/emanuelef/remote_capture/model/MatchList.java b/app/src/main/java/com/emanuelef/remote_capture/model/MatchList.java index 8907d77b..16b3917f 100644 --- a/app/src/main/java/com/emanuelef/remote_capture/model/MatchList.java +++ b/app/src/main/java/com/emanuelef/remote_capture/model/MatchList.java @@ -159,7 +159,7 @@ public class MatchList { if(tp == RuleType.APP) { // TODO handle cross-users/profiles? - AppDescriptor app = AppsResolver.resolveInstalledApp(ctx.getPackageManager(), value, 0); + AppDescriptor app = AppsResolver.resolveInstalledApp(ctx.getPackageManager(), value, 0, false); if(app != null) value = app.getName(); } else if(tp == RuleType.HOST)