diff --git a/services/core/java/com/android/server/am/TaskRecord.java b/services/core/java/com/android/server/am/TaskRecord.java index ea85fa1de4641..004be34af7e29 100644 --- a/services/core/java/com/android/server/am/TaskRecord.java +++ b/services/core/java/com/android/server/am/TaskRecord.java @@ -1334,8 +1334,13 @@ final class TaskRecord { if (bounds == null) { return; } - final int minimalSize = mMinimalSize == -1 - ? mService.mStackSupervisor.mDefaultMinimalSizeOfResizeableTask : mMinimalSize; + int minimalSize = mMinimalSize; + // If the task has no requested minimal size, we'd like to enforce a minimal size + // so that the user can not render the task too small to manipulate. We don't need + // to do this for the pinned stack as the bounds are controlled by the system. + if (minimalSize == -1 && stack.mStackId != PINNED_STACK_ID) { + minimalSize = mService.mStackSupervisor.mDefaultMinimalSizeOfResizeableTask; + } final boolean adjustWidth = minimalSize > bounds.width(); final boolean adjustHeight = minimalSize > bounds.height(); if (!(adjustWidth || adjustHeight)) {