diff options
| -rw-r--r-- | services/core/java/com/android/server/pm/UserManagerService.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java index e489d969dceb..bdb138e83fbe 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java @@ -95,7 +95,7 @@ import com.android.internal.widget.LockPatternUtils; import com.android.server.LocalServices; import com.android.server.SystemService; import com.android.server.am.UserState; - +import com.android.server.storage.DeviceStorageMonitorInternal; import libcore.io.IoUtils; import libcore.util.Objects; @@ -2184,6 +2184,12 @@ public class UserManagerService extends IUserManager.Stub { Log.w(LOG_TAG, "Cannot add user. DISALLOW_ADD_USER is enabled."); return null; } + DeviceStorageMonitorInternal dsm = LocalServices + .getService(DeviceStorageMonitorInternal.class); + if (dsm.isMemoryLow()) { + Log.w(LOG_TAG, "Cannot add user. Not enough space on disk."); + return null; + } return createUserInternalUnchecked(name, flags, parentId); } |