From e8ede55422fbb80de43b84ff59af47ef9547c492 Mon Sep 17 00:00:00 2001 From: Torsten Grote Date: Tue, 5 Jan 2021 14:11:00 -0300 Subject: [PATCH] Only query for allowed packages in AndroidWakeLockManager --- .../system/AndroidWakeLockManagerImpl.java | 22 ++++++++++++------- briar-android/src/main/AndroidManifest.xml | 2 ++ 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/bramble-android/src/main/java/org/briarproject/bramble/system/AndroidWakeLockManagerImpl.java b/bramble-android/src/main/java/org/briarproject/bramble/system/AndroidWakeLockManagerImpl.java index f976e518d..7fd1e80e3 100644 --- a/bramble-android/src/main/java/org/briarproject/bramble/system/AndroidWakeLockManagerImpl.java +++ b/bramble-android/src/main/java/org/briarproject/bramble/system/AndroidWakeLockManagerImpl.java @@ -2,7 +2,6 @@ package org.briarproject.bramble.system; import android.app.Application; import android.content.Context; -import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.PowerManager; @@ -106,14 +105,21 @@ class AndroidWakeLockManagerImpl implements AndroidWakeLockManager { private String getWakeLockTag(Context ctx) { PackageManager pm = ctx.getPackageManager(); - for (PackageInfo info : pm.getInstalledPackages(0)) { - String name = info.packageName.toLowerCase(); - if (name.startsWith("com.huawei.powergenie")) { - return "LocationManagerService"; - } else if (name.startsWith("com.evenwell.powermonitor")) { - return "AudioIn"; - } + if (isInstalled(pm, "com.huawei.powergenie")) { + return "LocationManagerService"; + } else if (isInstalled(pm, "com.evenwell.PowerMonitor")) { + return "AudioIn"; } return ctx.getPackageName(); } + + private boolean isInstalled(PackageManager pm, String packageName) { + try { + pm.getPackageInfo(packageName, 0); + return true; + } catch (PackageManager.NameNotFoundException e) { + return false; + } + } + } diff --git a/briar-android/src/main/AndroidManifest.xml b/briar-android/src/main/AndroidManifest.xml index 80bd0ec7a..b590e7acf 100644 --- a/briar-android/src/main/AndroidManifest.xml +++ b/briar-android/src/main/AndroidManifest.xml @@ -453,6 +453,8 @@ + +