Create Instant App cookie dir if it doesn't exist

Bug: 37778533
Test: run instant app in b/37778533
Change-Id: I54ef62f6e5a290f3ccfa49ebde2a9d64a38de6a6
diff --git a/services/core/java/com/android/server/pm/InstantAppRegistry.java b/services/core/java/com/android/server/pm/InstantAppRegistry.java
index fc9e0a3..b165984 100644
--- a/services/core/java/com/android/server/pm/InstantAppRegistry.java
+++ b/services/core/java/com/android/server/pm/InstantAppRegistry.java
@@ -218,6 +218,11 @@
         byte[] randomBytes = new byte[8];
         new SecureRandom().nextBytes(randomBytes);
         String id = ByteStringUtils.toHexString(randomBytes).toLowerCase(Locale.US);
+        File appDir = getInstantApplicationDir(packageName, userId);
+        if (!appDir.exists() && !appDir.mkdirs()) {
+            Slog.e(LOG_TAG, "Cannot create instant app cookie directory");
+            return id;
+        }
         File idFile = new File(getInstantApplicationDir(packageName, userId),
                 INSTANT_APP_ANDROID_ID_FILE);
         try (FileOutputStream fos = new FileOutputStream(idFile)) {