From 5734ae2d4e2b2d9a552c414fad1cb0a14acb03b7 Mon Sep 17 00:00:00 2001 From: Karthik Ravi Shankar Date: Thu, 8 Sep 2022 15:13:03 -0700 Subject: [PATCH] Fix the dumpsys using deprecated API for getting calling package names Some system services were not receiving the right calling package names which was being used to verify the caller. This change makes it easier to get the calling package name using the context API. BUG=241041706 Test: "adb shell dumpsys hardware_properties" works now. Change-Id: I3489d39980c9a4c72011115b911a59b43980799e --- .../server/HardwarePropertiesManagerService.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/HardwarePropertiesManagerService.java b/services/core/java/com/android/server/HardwarePropertiesManagerService.java index e21a3d7917d10..6b3f5e23cbd99 100644 --- a/services/core/java/com/android/server/HardwarePropertiesManagerService.java +++ b/services/core/java/com/android/server/HardwarePropertiesManagerService.java @@ -98,12 +98,17 @@ public class HardwarePropertiesManagerService extends IHardwarePropertiesManager } private String getCallingPackageName() { - final String[] packages = mContext.getPackageManager().getPackagesForUid( - Binder.getCallingUid()); + final PackageManager pm = mContext.getPackageManager(); + final int uid = Binder.getCallingUid(); + final String[] packages = pm.getPackagesForUid(uid); if (packages != null && packages.length > 0) { return packages[0]; } - return "unknown"; + final String name = pm.getNameForUid(uid); + if (name != null) { + return name; + } + return String.valueOf(uid); } private void dumpTempValues(String pkg, PrintWriter pw, int type,