Loading core/java/android/content/pm/ApplicationInfo.java +2 −2 Original line number Diff line number Diff line Loading @@ -1038,10 +1038,10 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { } deviceEncryptedDataDir = Environment .getDataUserDeviceEncryptedPackageDirectory(volumeUuid, userId, packageName) .getDataUserDePackageDirectory(volumeUuid, userId, packageName) .getAbsolutePath(); credentialEncryptedDataDir = Environment .getDataUserCredentialEncryptedPackageDirectory(volumeUuid, userId, packageName) .getDataUserCePackageDirectory(volumeUuid, userId, packageName) .getAbsolutePath(); if ((privateFlags & PRIVATE_FLAG_FORCE_DEVICE_ENCRYPTED) != 0 Loading core/java/android/os/Environment.java +43 −46 Original line number Diff line number Diff line Loading @@ -176,35 +176,37 @@ public class Environment { return DIR_VENDOR_ROOT; } /** {@hide} */ @Deprecated public static File getSystemSecureDirectory() { return getDataSystemDirectory(); } /** {@hide} */ @Deprecated public static File getSecureDataDirectory() { return getDataDirectory(); } /** * Return the system directory for a user. This is for use by system services to store * files relating to the user. This directory will be automatically deleted when the user * is removed. * Return the system directory for a user. This is for use by system * services to store files relating to the user. This directory will be * automatically deleted when the user is removed. * * @deprecated This directory is valid and still exists, but callers should * <em>strongly</em> consider switching to * {@link #getDataSystemCeDirectory(int)} which is protected * with user credentials or * {@link #getDataSystemDeDirectory(int)} which supports fast * user wipe. * @hide */ @Deprecated public static File getUserSystemDirectory(int userId) { return new File(new File(getDataSystemDirectory(), "users"), Integer.toString(userId)); } /** * Returns the config directory for a user. This is for use by system services to store files * relating to the user which should be readable by any app running as that user. * Returns the config directory for a user. This is for use by system * services to store files relating to the user which should be readable by * any app running as that user. * * @deprecated This directory is valid and still exists, but callers should * <em>strongly</em> consider switching to * {@link #getDataMiscCeDirectory(int)} which is protected with * user credentials or {@link #getDataMiscDeDirectory(int)} * which supports fast user wipe. * @hide */ @Deprecated public static File getUserConfigDirectory(int userId) { return new File(new File(new File( getDataDirectory(), "misc"), "user"), Integer.toString(userId)); Loading Loading @@ -232,77 +234,72 @@ public class Environment { } /** {@hide} */ public static File getDataSystemCredentialEncryptedDirectory() { return new File(getDataDirectory(), "system_ce"); public static File getDataSystemCeDirectory(int userId) { return buildPath(getDataDirectory(), "system_ce", String.valueOf(userId)); } /** {@hide} */ public static File getDataSystemCredentialEncryptedDirectory(int userId) { return new File(getDataSystemCredentialEncryptedDirectory(), String.valueOf(userId)); public static File getDataSystemDeDirectory(int userId) { return buildPath(getDataDirectory(), "system_de", String.valueOf(userId)); } /** {@hide} */ public static File getDataAppDirectory(String volumeUuid) { return new File(getDataDirectory(volumeUuid), "app"); public static File getDataMiscDirectory() { return new File(getDataDirectory(), "misc"); } /** {@hide} */ public static File getDataAppEphemeralDirectory(String volumeUuid) { return new File(getDataDirectory(volumeUuid), "app-ephemeral"); public static File getDataMiscCeDirectory(int userId) { return buildPath(getDataDirectory(), "misc_ce", String.valueOf(userId)); } /** {@hide} */ @Deprecated public static File getDataUserDirectory(String volumeUuid) { return getDataUserCredentialEncryptedDirectory(volumeUuid); public static File getDataMiscDeDirectory(int userId) { return buildPath(getDataDirectory(), "misc_de", String.valueOf(userId)); } /** {@hide} */ @Deprecated public static File getDataUserDirectory(String volumeUuid, int userId) { return getDataUserCredentialEncryptedDirectory(volumeUuid, userId); public static File getDataAppDirectory(String volumeUuid) { return new File(getDataDirectory(volumeUuid), "app"); } /** {@hide} */ @Deprecated public static File getDataUserPackageDirectory(String volumeUuid, int userId, String packageName) { return getDataUserCredentialEncryptedPackageDirectory(volumeUuid, userId, packageName); public static File getDataAppEphemeralDirectory(String volumeUuid) { return new File(getDataDirectory(volumeUuid), "app-ephemeral"); } /** {@hide} */ public static File getDataUserCredentialEncryptedDirectory(String volumeUuid) { public static File getDataUserCeDirectory(String volumeUuid) { return new File(getDataDirectory(volumeUuid), "user"); } /** {@hide} */ public static File getDataUserCredentialEncryptedDirectory(String volumeUuid, int userId) { return new File(getDataUserCredentialEncryptedDirectory(volumeUuid), String.valueOf(userId)); public static File getDataUserCeDirectory(String volumeUuid, int userId) { return new File(getDataUserCeDirectory(volumeUuid), String.valueOf(userId)); } /** {@hide} */ public static File getDataUserCredentialEncryptedPackageDirectory(String volumeUuid, int userId, public static File getDataUserCePackageDirectory(String volumeUuid, int userId, String packageName) { // TODO: keep consistent with installd return new File(getDataUserCredentialEncryptedDirectory(volumeUuid, userId), packageName); return new File(getDataUserCeDirectory(volumeUuid, userId), packageName); } /** {@hide} */ public static File getDataUserDeviceEncryptedDirectory(String volumeUuid) { public static File getDataUserDeDirectory(String volumeUuid) { return new File(getDataDirectory(volumeUuid), "user_de"); } /** {@hide} */ public static File getDataUserDeviceEncryptedDirectory(String volumeUuid, int userId) { return new File(getDataUserDeviceEncryptedDirectory(volumeUuid), String.valueOf(userId)); public static File getDataUserDeDirectory(String volumeUuid, int userId) { return new File(getDataUserDeDirectory(volumeUuid), String.valueOf(userId)); } /** {@hide} */ public static File getDataUserDeviceEncryptedPackageDirectory(String volumeUuid, int userId, public static File getDataUserDePackageDirectory(String volumeUuid, int userId, String packageName) { // TODO: keep consistent with installd return new File(getDataUserDeviceEncryptedDirectory(volumeUuid, userId), packageName); return new File(getDataUserDeDirectory(volumeUuid, userId), packageName); } /** Loading core/java/com/android/internal/app/ChooserActivity.java +2 −1 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ import android.os.RemoteException; import android.os.ResultReceiver; import android.os.UserHandle; import android.os.UserManager; import android.os.storage.StorageManager; import android.provider.DocumentsContract; import android.service.chooser.ChooserTarget; import android.service.chooser.ChooserTargetService; Loading Loading @@ -232,7 +233,7 @@ public class ChooserActivity extends ResolverActivity { // the case where we don't have access to credential encrypted storage we just won't // have our pinned target info. final File prefsFile = new File(new File( Environment.getDataUserCredentialEncryptedPackageDirectory(null, Environment.getDataUserCePackageDirectory(StorageManager.UUID_PRIVATE_INTERNAL, context.getUserId(), context.getPackageName()), "shared_prefs"), PINNED_SHARED_PREFS_NAME + ".xml"); Loading services/backup/java/com/android/server/backup/BackupManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -1044,7 +1044,7 @@ public class BackupManagerService { // If Encrypted file systems is enabled or disabled, this call will return the // correct directory. mBaseStateDir = new File(Environment.getSecureDataDirectory(), "backup"); mBaseStateDir = new File(Environment.getDataDirectory(), "backup"); mBaseStateDir.mkdirs(); if (!SELinux.restorecon(mBaseStateDir)) { Slog.e(TAG, "SELinux restorecon failed on " + mBaseStateDir); Loading services/backup/java/com/android/server/backup/Trampoline.java +1 −1 Original line number Diff line number Diff line Loading @@ -54,7 +54,7 @@ public class Trampoline extends IBackupManager.Stub { public Trampoline(Context context) { mContext = context; File dir = new File(Environment.getSecureDataDirectory(), "backup"); File dir = new File(Environment.getDataDirectory(), "backup"); dir.mkdirs(); mSuppressFile = new File(dir, BACKUP_SUPPRESS_FILENAME); mGlobalDisable = SystemProperties.getBoolean(BACKUP_DISABLE_PROPERTY, false); Loading Loading
core/java/android/content/pm/ApplicationInfo.java +2 −2 Original line number Diff line number Diff line Loading @@ -1038,10 +1038,10 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { } deviceEncryptedDataDir = Environment .getDataUserDeviceEncryptedPackageDirectory(volumeUuid, userId, packageName) .getDataUserDePackageDirectory(volumeUuid, userId, packageName) .getAbsolutePath(); credentialEncryptedDataDir = Environment .getDataUserCredentialEncryptedPackageDirectory(volumeUuid, userId, packageName) .getDataUserCePackageDirectory(volumeUuid, userId, packageName) .getAbsolutePath(); if ((privateFlags & PRIVATE_FLAG_FORCE_DEVICE_ENCRYPTED) != 0 Loading
core/java/android/os/Environment.java +43 −46 Original line number Diff line number Diff line Loading @@ -176,35 +176,37 @@ public class Environment { return DIR_VENDOR_ROOT; } /** {@hide} */ @Deprecated public static File getSystemSecureDirectory() { return getDataSystemDirectory(); } /** {@hide} */ @Deprecated public static File getSecureDataDirectory() { return getDataDirectory(); } /** * Return the system directory for a user. This is for use by system services to store * files relating to the user. This directory will be automatically deleted when the user * is removed. * Return the system directory for a user. This is for use by system * services to store files relating to the user. This directory will be * automatically deleted when the user is removed. * * @deprecated This directory is valid and still exists, but callers should * <em>strongly</em> consider switching to * {@link #getDataSystemCeDirectory(int)} which is protected * with user credentials or * {@link #getDataSystemDeDirectory(int)} which supports fast * user wipe. * @hide */ @Deprecated public static File getUserSystemDirectory(int userId) { return new File(new File(getDataSystemDirectory(), "users"), Integer.toString(userId)); } /** * Returns the config directory for a user. This is for use by system services to store files * relating to the user which should be readable by any app running as that user. * Returns the config directory for a user. This is for use by system * services to store files relating to the user which should be readable by * any app running as that user. * * @deprecated This directory is valid and still exists, but callers should * <em>strongly</em> consider switching to * {@link #getDataMiscCeDirectory(int)} which is protected with * user credentials or {@link #getDataMiscDeDirectory(int)} * which supports fast user wipe. * @hide */ @Deprecated public static File getUserConfigDirectory(int userId) { return new File(new File(new File( getDataDirectory(), "misc"), "user"), Integer.toString(userId)); Loading Loading @@ -232,77 +234,72 @@ public class Environment { } /** {@hide} */ public static File getDataSystemCredentialEncryptedDirectory() { return new File(getDataDirectory(), "system_ce"); public static File getDataSystemCeDirectory(int userId) { return buildPath(getDataDirectory(), "system_ce", String.valueOf(userId)); } /** {@hide} */ public static File getDataSystemCredentialEncryptedDirectory(int userId) { return new File(getDataSystemCredentialEncryptedDirectory(), String.valueOf(userId)); public static File getDataSystemDeDirectory(int userId) { return buildPath(getDataDirectory(), "system_de", String.valueOf(userId)); } /** {@hide} */ public static File getDataAppDirectory(String volumeUuid) { return new File(getDataDirectory(volumeUuid), "app"); public static File getDataMiscDirectory() { return new File(getDataDirectory(), "misc"); } /** {@hide} */ public static File getDataAppEphemeralDirectory(String volumeUuid) { return new File(getDataDirectory(volumeUuid), "app-ephemeral"); public static File getDataMiscCeDirectory(int userId) { return buildPath(getDataDirectory(), "misc_ce", String.valueOf(userId)); } /** {@hide} */ @Deprecated public static File getDataUserDirectory(String volumeUuid) { return getDataUserCredentialEncryptedDirectory(volumeUuid); public static File getDataMiscDeDirectory(int userId) { return buildPath(getDataDirectory(), "misc_de", String.valueOf(userId)); } /** {@hide} */ @Deprecated public static File getDataUserDirectory(String volumeUuid, int userId) { return getDataUserCredentialEncryptedDirectory(volumeUuid, userId); public static File getDataAppDirectory(String volumeUuid) { return new File(getDataDirectory(volumeUuid), "app"); } /** {@hide} */ @Deprecated public static File getDataUserPackageDirectory(String volumeUuid, int userId, String packageName) { return getDataUserCredentialEncryptedPackageDirectory(volumeUuid, userId, packageName); public static File getDataAppEphemeralDirectory(String volumeUuid) { return new File(getDataDirectory(volumeUuid), "app-ephemeral"); } /** {@hide} */ public static File getDataUserCredentialEncryptedDirectory(String volumeUuid) { public static File getDataUserCeDirectory(String volumeUuid) { return new File(getDataDirectory(volumeUuid), "user"); } /** {@hide} */ public static File getDataUserCredentialEncryptedDirectory(String volumeUuid, int userId) { return new File(getDataUserCredentialEncryptedDirectory(volumeUuid), String.valueOf(userId)); public static File getDataUserCeDirectory(String volumeUuid, int userId) { return new File(getDataUserCeDirectory(volumeUuid), String.valueOf(userId)); } /** {@hide} */ public static File getDataUserCredentialEncryptedPackageDirectory(String volumeUuid, int userId, public static File getDataUserCePackageDirectory(String volumeUuid, int userId, String packageName) { // TODO: keep consistent with installd return new File(getDataUserCredentialEncryptedDirectory(volumeUuid, userId), packageName); return new File(getDataUserCeDirectory(volumeUuid, userId), packageName); } /** {@hide} */ public static File getDataUserDeviceEncryptedDirectory(String volumeUuid) { public static File getDataUserDeDirectory(String volumeUuid) { return new File(getDataDirectory(volumeUuid), "user_de"); } /** {@hide} */ public static File getDataUserDeviceEncryptedDirectory(String volumeUuid, int userId) { return new File(getDataUserDeviceEncryptedDirectory(volumeUuid), String.valueOf(userId)); public static File getDataUserDeDirectory(String volumeUuid, int userId) { return new File(getDataUserDeDirectory(volumeUuid), String.valueOf(userId)); } /** {@hide} */ public static File getDataUserDeviceEncryptedPackageDirectory(String volumeUuid, int userId, public static File getDataUserDePackageDirectory(String volumeUuid, int userId, String packageName) { // TODO: keep consistent with installd return new File(getDataUserDeviceEncryptedDirectory(volumeUuid, userId), packageName); return new File(getDataUserDeDirectory(volumeUuid, userId), packageName); } /** Loading
core/java/com/android/internal/app/ChooserActivity.java +2 −1 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ import android.os.RemoteException; import android.os.ResultReceiver; import android.os.UserHandle; import android.os.UserManager; import android.os.storage.StorageManager; import android.provider.DocumentsContract; import android.service.chooser.ChooserTarget; import android.service.chooser.ChooserTargetService; Loading Loading @@ -232,7 +233,7 @@ public class ChooserActivity extends ResolverActivity { // the case where we don't have access to credential encrypted storage we just won't // have our pinned target info. final File prefsFile = new File(new File( Environment.getDataUserCredentialEncryptedPackageDirectory(null, Environment.getDataUserCePackageDirectory(StorageManager.UUID_PRIVATE_INTERNAL, context.getUserId(), context.getPackageName()), "shared_prefs"), PINNED_SHARED_PREFS_NAME + ".xml"); Loading
services/backup/java/com/android/server/backup/BackupManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -1044,7 +1044,7 @@ public class BackupManagerService { // If Encrypted file systems is enabled or disabled, this call will return the // correct directory. mBaseStateDir = new File(Environment.getSecureDataDirectory(), "backup"); mBaseStateDir = new File(Environment.getDataDirectory(), "backup"); mBaseStateDir.mkdirs(); if (!SELinux.restorecon(mBaseStateDir)) { Slog.e(TAG, "SELinux restorecon failed on " + mBaseStateDir); Loading
services/backup/java/com/android/server/backup/Trampoline.java +1 −1 Original line number Diff line number Diff line Loading @@ -54,7 +54,7 @@ public class Trampoline extends IBackupManager.Stub { public Trampoline(Context context) { mContext = context; File dir = new File(Environment.getSecureDataDirectory(), "backup"); File dir = new File(Environment.getDataDirectory(), "backup"); dir.mkdirs(); mSuppressFile = new File(dir, BACKUP_SUPPRESS_FILENAME); mGlobalDisable = SystemProperties.getBoolean(BACKUP_DISABLE_PROPERTY, false); Loading