Loading services/core/java/com/android/server/StorageManagerService.java +2 −6 Original line number Diff line number Diff line Loading @@ -2541,11 +2541,6 @@ class StorageManagerService extends IStorageManager.Stub synchronized (mLock) { mLocalUnlockedUsers = ArrayUtils.appendInt(mLocalUnlockedUsers, userId); } if (userId == UserHandle.USER_SYSTEM) { String propertyName = "sys.user." + userId + ".ce_available"; Slog.d(TAG, "Setting property: " + propertyName + "=true"); SystemProperties.set(propertyName, "true"); } } @Override Loading Loading @@ -2685,7 +2680,8 @@ class StorageManagerService extends IStorageManager.Stub } // Ignore requests to create directories if CE storage is not available if (!SystemProperties.getBoolean(propertyName, false)) { if ((userId == UserHandle.USER_SYSTEM) && !SystemProperties.getBoolean(propertyName, false)) { throw new IllegalStateException("Failed to prepare " + appPath); } Loading services/core/java/com/android/server/pm/UserDataPreparer.java +12 −1 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ import android.os.Environment; import android.os.FileUtils; import android.os.storage.StorageManager; import android.os.storage.VolumeInfo; import android.os.SystemProperties; import android.os.UserHandle; import android.system.ErrnoException; import android.system.Os; import android.system.OsConstants; Loading Loading @@ -96,6 +98,14 @@ class UserDataPreparer { } mInstaller.createUserData(volumeUuid, userId, userSerial, flags); // CE storage is available after they are prepared. if ((flags & StorageManager.FLAG_STORAGE_CE) != 0 && (userId == UserHandle.USER_SYSTEM)) { String propertyName = "sys.user." + userId + ".ce_available"; Slog.d(TAG, "Setting property: " + propertyName + "=true"); SystemProperties.set(propertyName, "true"); } } catch (Exception e) { logCriticalInfo(Log.WARN, "Destroying user " + userId + " on volume " + volumeUuid + " because we failed to prepare: " + e); Loading @@ -103,7 +113,8 @@ class UserDataPreparer { if (allowRecover) { // Try one last time; if we fail again we're really in trouble prepareUserDataLI(volumeUuid, userId, userSerial, flags, false); prepareUserDataLI(volumeUuid, userId, userSerial, flags | StorageManager.FLAG_STORAGE_DE, false); } } } Loading Loading
services/core/java/com/android/server/StorageManagerService.java +2 −6 Original line number Diff line number Diff line Loading @@ -2541,11 +2541,6 @@ class StorageManagerService extends IStorageManager.Stub synchronized (mLock) { mLocalUnlockedUsers = ArrayUtils.appendInt(mLocalUnlockedUsers, userId); } if (userId == UserHandle.USER_SYSTEM) { String propertyName = "sys.user." + userId + ".ce_available"; Slog.d(TAG, "Setting property: " + propertyName + "=true"); SystemProperties.set(propertyName, "true"); } } @Override Loading Loading @@ -2685,7 +2680,8 @@ class StorageManagerService extends IStorageManager.Stub } // Ignore requests to create directories if CE storage is not available if (!SystemProperties.getBoolean(propertyName, false)) { if ((userId == UserHandle.USER_SYSTEM) && !SystemProperties.getBoolean(propertyName, false)) { throw new IllegalStateException("Failed to prepare " + appPath); } Loading
services/core/java/com/android/server/pm/UserDataPreparer.java +12 −1 Original line number Diff line number Diff line Loading @@ -24,6 +24,8 @@ import android.os.Environment; import android.os.FileUtils; import android.os.storage.StorageManager; import android.os.storage.VolumeInfo; import android.os.SystemProperties; import android.os.UserHandle; import android.system.ErrnoException; import android.system.Os; import android.system.OsConstants; Loading Loading @@ -96,6 +98,14 @@ class UserDataPreparer { } mInstaller.createUserData(volumeUuid, userId, userSerial, flags); // CE storage is available after they are prepared. if ((flags & StorageManager.FLAG_STORAGE_CE) != 0 && (userId == UserHandle.USER_SYSTEM)) { String propertyName = "sys.user." + userId + ".ce_available"; Slog.d(TAG, "Setting property: " + propertyName + "=true"); SystemProperties.set(propertyName, "true"); } } catch (Exception e) { logCriticalInfo(Log.WARN, "Destroying user " + userId + " on volume " + volumeUuid + " because we failed to prepare: " + e); Loading @@ -103,7 +113,8 @@ class UserDataPreparer { if (allowRecover) { // Try one last time; if we fail again we're really in trouble prepareUserDataLI(volumeUuid, userId, userSerial, flags, false); prepareUserDataLI(volumeUuid, userId, userSerial, flags | StorageManager.FLAG_STORAGE_DE, false); } } } Loading