Use /data/data/<pkgname> for user0
Bug: 377170371
Test: run on non-HSUM device
Change-Id: I83712768ce26497e3274c3453651454a6bb42b5b
diff --git a/build/debian/vm_config.json.aarch64 b/build/debian/vm_config.json.aarch64
index 8e16093..2df0a05 100644
--- a/build/debian/vm_config.json.aarch64
+++ b/build/debian/vm_config.json.aarch64
@@ -12,7 +12,7 @@
"sharedPath": "/storage/emulated"
},
{
- "sharedPath": "/data/user/$USER_ID/$PACKAGE_NAME/files"
+ "sharedPath": "$APP_DATA_DIR/files"
}
],
"protected": false,
diff --git a/build/debian/vm_config.json.x86_64 b/build/debian/vm_config.json.x86_64
index 09e04b9..1719815 100644
--- a/build/debian/vm_config.json.x86_64
+++ b/build/debian/vm_config.json.x86_64
@@ -12,7 +12,7 @@
"sharedPath": "/storage/emulated"
},
{
- "sharedPath": "/data/user/$USER_ID/$PACKAGE_NAME/files"
+ "sharedPath": "$APP_DATA_DIR/files"
}
],
"kernel": "$PAYLOAD_DIR/vmlinuz",
diff --git a/libs/vm_launcher_lib/java/com/android/virtualization/vmlauncher/InstallUtils.java b/libs/vm_launcher_lib/java/com/android/virtualization/vmlauncher/InstallUtils.java
index 0e46a63..f5cc912 100644
--- a/libs/vm_launcher_lib/java/com/android/virtualization/vmlauncher/InstallUtils.java
+++ b/libs/vm_launcher_lib/java/com/android/virtualization/vmlauncher/InstallUtils.java
@@ -141,6 +141,12 @@
rules.put("\\$PAYLOAD_DIR", new File(context.getFilesDir(), PAYLOAD_DIR).toString());
rules.put("\\$USER_ID", String.valueOf(context.getUserId()));
rules.put("\\$PACKAGE_NAME", context.getPackageName());
+ String appDataDir = context.getDataDir().toString();
+ // TODO: remove this hack
+ if (context.getUserId() == 0) {
+ appDataDir = "/data/data/" + context.getPackageName();
+ }
+ rules.put("\\$APP_DATA_DIR", appDataDir);
return (s) -> {
for (Map.Entry<String, String> rule : rules.entrySet()) {
s = s.replaceAll(rule.getKey(), rule.getValue());