diff options
| -rw-r--r-- | services/core/java/com/android/server/stats/pull/StatsPullAtomService.java | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java index 02f90f24714e..b5df30f05947 100644 --- a/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java +++ b/services/core/java/com/android/server/stats/pull/StatsPullAtomService.java @@ -37,6 +37,7 @@ import static android.net.NetworkTemplate.OEM_MANAGED_ALL; import static android.net.NetworkTemplate.OEM_MANAGED_PAID; import static android.net.NetworkTemplate.OEM_MANAGED_PRIVATE; import static android.os.Debug.getIonHeapsSizeKb; +import static android.os.Process.INVALID_UID; import static android.os.Process.LAST_SHARED_APPLICATION_GID; import static android.os.Process.SYSTEM_UID; import static android.os.Process.getUidForPid; @@ -3537,17 +3538,23 @@ public class StatsPullAtomService extends SystemService { String roleName = roleEntry.getKey(); Set<String> packageNames = roleEntry.getValue(); - for (String packageName : packageNames) { - PackageInfo pkg; - try { - pkg = pm.getPackageInfoAsUser(packageName, 0, userId); - } catch (PackageManager.NameNotFoundException e) { - Slog.w(TAG, "Role holder " + packageName + " not found"); - return StatsManager.PULL_SKIP; - } + if (!packageNames.isEmpty()) { + for (String packageName : packageNames) { + PackageInfo pkg; + try { + pkg = pm.getPackageInfoAsUser(packageName, 0, userId); + } catch (PackageManager.NameNotFoundException e) { + Slog.w(TAG, "Role holder " + packageName + " not found"); + return StatsManager.PULL_SKIP; + } + pulledData.add(FrameworkStatsLog.buildStatsEvent( + atomTag, pkg.applicationInfo.uid, packageName, roleName)); + } + } else { + // Ensure that roles set to None are logged with an empty state. pulledData.add(FrameworkStatsLog.buildStatsEvent( - atomTag, pkg.applicationInfo.uid, packageName, roleName)); + atomTag, INVALID_UID, "", roleName)); } } } |