Loading core/java/android/os/storage/StorageManager.java +4 −1 Original line number Diff line number Diff line Loading @@ -273,12 +273,15 @@ public class StorageManager { public static final int FLAG_STORAGE_CE = IInstalld.FLAG_STORAGE_CE; /** {@hide} */ public static final int FLAG_STORAGE_EXTERNAL = IInstalld.FLAG_STORAGE_EXTERNAL; /** @hide */ public static final int FLAG_STORAGE_SDK = IInstalld.FLAG_STORAGE_SDK; /** {@hide} */ @IntDef(prefix = "FLAG_STORAGE_", value = { FLAG_STORAGE_DE, FLAG_STORAGE_CE, FLAG_STORAGE_EXTERNAL FLAG_STORAGE_EXTERNAL, FLAG_STORAGE_SDK, }) @Retention(RetentionPolicy.SOURCE) public @interface StorageFlags {} Loading services/core/java/com/android/server/pm/AppDataHelper.java +2 −1 Original line number Diff line number Diff line Loading @@ -218,8 +218,9 @@ final class AppDataHelper { final String seInfo = pkgSeInfo + seInfoUser; final int targetSdkVersion = pkg.getTargetSdkVersion(); final boolean usesSdk = !pkg.getUsesSdkLibraries().isEmpty(); final CreateAppDataArgs args = Installer.buildCreateAppDataArgs(volumeUuid, packageName, userId, flags, appId, seInfo, targetSdkVersion); userId, flags, appId, seInfo, targetSdkVersion, usesSdk); args.previousAppId = previousAppId; return batch.createAppData(args).whenComplete((ceDataInode, e) -> { Loading services/core/java/com/android/server/pm/Installer.java +6 −1 Original line number Diff line number Diff line Loading @@ -92,6 +92,7 @@ public class Installer extends SystemService { public static final int FLAG_STORAGE_DE = IInstalld.FLAG_STORAGE_DE; public static final int FLAG_STORAGE_CE = IInstalld.FLAG_STORAGE_CE; public static final int FLAG_STORAGE_EXTERNAL = IInstalld.FLAG_STORAGE_EXTERNAL; public static final int FLAG_STORAGE_SDK = IInstalld.FLAG_STORAGE_SDK; public static final int FLAG_CLEAR_CACHE_ONLY = IInstalld.FLAG_CLEAR_CACHE_ONLY; public static final int FLAG_CLEAR_CODE_CACHE_ONLY = IInstalld.FLAG_CLEAR_CODE_CACHE_ONLY; Loading Loading @@ -190,12 +191,16 @@ public class Installer extends SystemService { // We explicitly do NOT set previousAppId because the default value should always be 0. // Manually override previousAppId after building CreateAppDataArgs for specific behaviors. static CreateAppDataArgs buildCreateAppDataArgs(String uuid, String packageName, int userId, int flags, int appId, String seInfo, int targetSdkVersion) { int userId, int flags, int appId, String seInfo, int targetSdkVersion, boolean usesSdk) { final CreateAppDataArgs args = new CreateAppDataArgs(); args.uuid = uuid; args.packageName = packageName; args.userId = userId; args.flags = flags; if (usesSdk) { args.flags |= FLAG_STORAGE_SDK; } args.appId = appId; args.seInfo = seInfo; args.targetSdkVersion = targetSdkVersion; Loading services/core/java/com/android/server/pm/Settings.java +2 −1 Original line number Diff line number Diff line Loading @@ -4190,10 +4190,11 @@ public final class Settings implements Watchable, Snappable { // Accumulate all required args and call the installer after mPackages lock // has been released final String seInfo = AndroidPackageUtils.getSeInfo(ps.getPkg(), ps); final boolean usesSdk = !ps.getPkg().getUsesSdkLibraries().isEmpty(); final CreateAppDataArgs args = Installer.buildCreateAppDataArgs( ps.getVolumeUuid(), ps.getPackageName(), userHandle, StorageManager.FLAG_STORAGE_CE | StorageManager.FLAG_STORAGE_DE, ps.getAppId(), seInfo, ps.getPkg().getTargetSdkVersion()); ps.getAppId(), seInfo, ps.getPkg().getTargetSdkVersion(), usesSdk); batch.createAppData(args); } else { // Make sure the app is excluded from storage mapping for this user Loading Loading
core/java/android/os/storage/StorageManager.java +4 −1 Original line number Diff line number Diff line Loading @@ -273,12 +273,15 @@ public class StorageManager { public static final int FLAG_STORAGE_CE = IInstalld.FLAG_STORAGE_CE; /** {@hide} */ public static final int FLAG_STORAGE_EXTERNAL = IInstalld.FLAG_STORAGE_EXTERNAL; /** @hide */ public static final int FLAG_STORAGE_SDK = IInstalld.FLAG_STORAGE_SDK; /** {@hide} */ @IntDef(prefix = "FLAG_STORAGE_", value = { FLAG_STORAGE_DE, FLAG_STORAGE_CE, FLAG_STORAGE_EXTERNAL FLAG_STORAGE_EXTERNAL, FLAG_STORAGE_SDK, }) @Retention(RetentionPolicy.SOURCE) public @interface StorageFlags {} Loading
services/core/java/com/android/server/pm/AppDataHelper.java +2 −1 Original line number Diff line number Diff line Loading @@ -218,8 +218,9 @@ final class AppDataHelper { final String seInfo = pkgSeInfo + seInfoUser; final int targetSdkVersion = pkg.getTargetSdkVersion(); final boolean usesSdk = !pkg.getUsesSdkLibraries().isEmpty(); final CreateAppDataArgs args = Installer.buildCreateAppDataArgs(volumeUuid, packageName, userId, flags, appId, seInfo, targetSdkVersion); userId, flags, appId, seInfo, targetSdkVersion, usesSdk); args.previousAppId = previousAppId; return batch.createAppData(args).whenComplete((ceDataInode, e) -> { Loading
services/core/java/com/android/server/pm/Installer.java +6 −1 Original line number Diff line number Diff line Loading @@ -92,6 +92,7 @@ public class Installer extends SystemService { public static final int FLAG_STORAGE_DE = IInstalld.FLAG_STORAGE_DE; public static final int FLAG_STORAGE_CE = IInstalld.FLAG_STORAGE_CE; public static final int FLAG_STORAGE_EXTERNAL = IInstalld.FLAG_STORAGE_EXTERNAL; public static final int FLAG_STORAGE_SDK = IInstalld.FLAG_STORAGE_SDK; public static final int FLAG_CLEAR_CACHE_ONLY = IInstalld.FLAG_CLEAR_CACHE_ONLY; public static final int FLAG_CLEAR_CODE_CACHE_ONLY = IInstalld.FLAG_CLEAR_CODE_CACHE_ONLY; Loading Loading @@ -190,12 +191,16 @@ public class Installer extends SystemService { // We explicitly do NOT set previousAppId because the default value should always be 0. // Manually override previousAppId after building CreateAppDataArgs for specific behaviors. static CreateAppDataArgs buildCreateAppDataArgs(String uuid, String packageName, int userId, int flags, int appId, String seInfo, int targetSdkVersion) { int userId, int flags, int appId, String seInfo, int targetSdkVersion, boolean usesSdk) { final CreateAppDataArgs args = new CreateAppDataArgs(); args.uuid = uuid; args.packageName = packageName; args.userId = userId; args.flags = flags; if (usesSdk) { args.flags |= FLAG_STORAGE_SDK; } args.appId = appId; args.seInfo = seInfo; args.targetSdkVersion = targetSdkVersion; Loading
services/core/java/com/android/server/pm/Settings.java +2 −1 Original line number Diff line number Diff line Loading @@ -4190,10 +4190,11 @@ public final class Settings implements Watchable, Snappable { // Accumulate all required args and call the installer after mPackages lock // has been released final String seInfo = AndroidPackageUtils.getSeInfo(ps.getPkg(), ps); final boolean usesSdk = !ps.getPkg().getUsesSdkLibraries().isEmpty(); final CreateAppDataArgs args = Installer.buildCreateAppDataArgs( ps.getVolumeUuid(), ps.getPackageName(), userHandle, StorageManager.FLAG_STORAGE_CE | StorageManager.FLAG_STORAGE_DE, ps.getAppId(), seInfo, ps.getPkg().getTargetSdkVersion()); ps.getAppId(), seInfo, ps.getPkg().getTargetSdkVersion(), usesSdk); batch.createAppData(args); } else { // Make sure the app is excluded from storage mapping for this user Loading