Snap for 8618009 from 3faf777d580a46cd1e4a51e346edfaf0cf493327 to tm-frc-ipsec-release

Change-Id: I938c421cec784fcb1537836bab5f60231e4aa7bc
diff --git a/tests/src/android/cts/statsd/atom/DeviceAtomTestCase.java b/tests/src/android/cts/statsd/atom/DeviceAtomTestCase.java
index 03facd0..dacbac9 100644
--- a/tests/src/android/cts/statsd/atom/DeviceAtomTestCase.java
+++ b/tests/src/android/cts/statsd/atom/DeviceAtomTestCase.java
@@ -167,14 +167,24 @@
      */
     protected int getUid() throws Exception {
         int currentUser = getDevice().getCurrentUser();
-        String uidLine = getDevice().executeShellCommand("cmd package list packages -U --user "
-                + currentUser + " " + DEVICE_SIDE_TEST_PACKAGE);
-        String[] uidLineParts = uidLine.split(":");
-        // 3rd entry is package uid
-        assertThat(uidLineParts.length).isGreaterThan(2);
-        int uid = Integer.parseInt(uidLineParts[2].trim());
-        assertThat(uid).isGreaterThan(10000);
-        return uid;
+        final String packages = getDevice().executeShellCommand("cmd package list packages -U"
+                + " --user " + currentUser + " " + DEVICE_SIDE_TEST_PACKAGE);
+
+        // Split package list by lines
+        // Sample packages response:
+        // package:com.android.server.cts.device.statsd.host uid:1010033
+        // package:com.android.server.cts.device.statsd uid:1010034
+        final String[] lines = packages.split("[\\r\\n]+");
+        for (final String line : lines) {
+            if (line.startsWith("package:" + DEVICE_SIDE_TEST_PACKAGE + " ")) {
+                final int uidIndex = line.lastIndexOf(":") + 1;
+                final int uid = Integer.parseInt(line.substring(uidIndex).trim());
+                assertThat(uid).isGreaterThan(10_000);
+                return uid;
+            }
+        }
+        throw new Error(
+                String.format("Could not find installed package: %s", DEVICE_SIDE_TEST_PACKAGE));
     }
 
     /**