Add a test

When refactoring is done, all package information will be stored in one
place including both APK and APEX.

Add a test to ensure no conflicting package names between APK and APEX.

Bug: 225756739
Test: atest android.content.pm.cts.PackageManagerTest
Change-Id: I914fc9ab6f0ce9069d69ad7a49700101e4b4180b
diff --git a/tests/tests/content/src/android/content/pm/cts/PackageManagerTest.java b/tests/tests/content/src/android/content/pm/cts/PackageManagerTest.java
index c55bc08..e3b1cc2 100644
--- a/tests/tests/content/src/android/content/pm/cts/PackageManagerTest.java
+++ b/tests/tests/content/src/android/content/pm/cts/PackageManagerTest.java
@@ -1738,6 +1738,24 @@
     }
 
     /**
+     * Test that we con't have conflicting package names between APK and APEX.
+     */
+    @Test
+    public void testGetInstalledPackages_WithApexFlag_ContainsNoDuplicates() {
+        List<PackageInfo> packageInfos = mPackageManager.getInstalledPackages(
+                PackageManager.PackageInfoFlags.of(MATCH_APEX));
+        final Set<String> apexPackageNames = packageInfos.stream()
+                .filter(pi -> pi.isApex).map(pi -> pi.packageName).collect(Collectors.toSet());
+        final Set<String> apkPackageNames = packageInfos.stream()
+                .filter(pi -> !pi.isApex).map(pi -> pi.packageName).collect(Collectors.toSet());
+        for (String packageName : apkPackageNames) {
+            if (apexPackageNames.contains(packageName)) {
+                expect.withMessage("Conflicting APK package " + packageName + " detected").fail();
+            }
+        }
+    }
+
+    /**
      * Test that the MATCH_FACTORY_ONLY flag doesn't add the same package multiple times since there
      * may be multiple versions of a system package on the device.
      */