Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f5fb9558 authored by Steve Pomeroy's avatar Steve Pomeroy
Browse files

Support empty role values in the RoleHolder atom

Test: statsd_testdrive 10049
Change-Id: I97c2f7e3abb2ce08581a2bf2d668dfd443f1173f
parent 065e8c4a
Loading
Loading
Loading
Loading
+16 −9
Original line number Original line Diff line number Diff line
@@ -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_PAID;
import static android.net.NetworkTemplate.OEM_MANAGED_PRIVATE;
import static android.net.NetworkTemplate.OEM_MANAGED_PRIVATE;
import static android.os.Debug.getIonHeapsSizeKb;
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.LAST_SHARED_APPLICATION_GID;
import static android.os.Process.SYSTEM_UID;
import static android.os.Process.SYSTEM_UID;
import static android.os.Process.getUidForPid;
import static android.os.Process.getUidForPid;
@@ -3537,6 +3538,7 @@ public class StatsPullAtomService extends SystemService {
                    String roleName = roleEntry.getKey();
                    String roleName = roleEntry.getKey();
                    Set<String> packageNames = roleEntry.getValue();
                    Set<String> packageNames = roleEntry.getValue();


                    if (!packageNames.isEmpty()) {
                        for (String packageName : packageNames) {
                        for (String packageName : packageNames) {
                            PackageInfo pkg;
                            PackageInfo pkg;
                            try {
                            try {
@@ -3549,6 +3551,11 @@ public class StatsPullAtomService extends SystemService {
                            pulledData.add(FrameworkStatsLog.buildStatsEvent(
                            pulledData.add(FrameworkStatsLog.buildStatsEvent(
                                    atomTag, pkg.applicationInfo.uid, packageName, roleName));
                                    atomTag, pkg.applicationInfo.uid, packageName, roleName));
                        }
                        }
                    } else {
                        // Ensure that roles set to None are logged with an empty state.
                        pulledData.add(FrameworkStatsLog.buildStatsEvent(
                                atomTag, INVALID_UID, "", roleName));
                    }
                }
                }
            }
            }
        } finally {
        } finally {