Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3eadad75 authored by Wale Ogunwale's avatar Wale Ogunwale
Browse files

Removed ActivityInfo.RESIZE_MODE_CROP_WINDOWS and related code.

The 2-finger gesture feature which this code is used for never
shipped and was removed from the code base.

Test: Existing tests pass.
Change-Id: I1540c8729fe87fef8e39b41747438557a8da2fa6
parent 3752e507
Loading
Loading
Loading
Loading
+0 −8
Original line number Original line Diff line number Diff line
@@ -162,12 +162,6 @@ public class ActivityInfo extends ComponentInfo
     * @hide
     * @hide
     */
     */
    public static final int RESIZE_MODE_UNRESIZEABLE = 0;
    public static final int RESIZE_MODE_UNRESIZEABLE = 0;
    /**
     * Activity can not be resized and always occupies the fullscreen area with all windows cropped
     * to either the task or stack bounds.
     * @hide
     */
    public static final int RESIZE_MODE_CROP_WINDOWS = 1;
    /**
    /**
     * Activity is resizeable.
     * Activity is resizeable.
     * @hide
     * @hide
@@ -870,8 +864,6 @@ public class ActivityInfo extends ComponentInfo
        switch (mode) {
        switch (mode) {
            case RESIZE_MODE_UNRESIZEABLE:
            case RESIZE_MODE_UNRESIZEABLE:
                return "RESIZE_MODE_UNRESIZEABLE";
                return "RESIZE_MODE_UNRESIZEABLE";
            case RESIZE_MODE_CROP_WINDOWS:
                return "RESIZE_MODE_CROP_WINDOWS";
            case RESIZE_MODE_RESIZEABLE:
            case RESIZE_MODE_RESIZEABLE:
                return "RESIZE_MODE_RESIZEABLE";
                return "RESIZE_MODE_RESIZEABLE";
            case RESIZE_MODE_RESIZEABLE_AND_PIPABLE:
            case RESIZE_MODE_RESIZEABLE_AND_PIPABLE:
+29 −25
Original line number Original line Diff line number Diff line
@@ -3548,31 +3548,7 @@ public class PackageParser {
                    R.styleable.AndroidManifestActivity_screenOrientation,
                    R.styleable.AndroidManifestActivity_screenOrientation,
                    SCREEN_ORIENTATION_UNSPECIFIED);
                    SCREEN_ORIENTATION_UNSPECIFIED);


            a.info.resizeMode = RESIZE_MODE_UNRESIZEABLE;
            setActivityResizeMode(a.info, sa, owner);
            final boolean appDefault = (owner.applicationInfo.privateFlags
                    & PRIVATE_FLAG_RESIZEABLE_ACTIVITIES) != 0;
            // This flag is used to workaround the issue with ignored resizeableActivity param when
            // either targetSdkVersion is not set at all or <uses-sdk> tag is below <application>
            // tag in AndroidManifest. If this param was explicitly set to 'false' we need to set
            // corresponding resizeMode regardless of targetSdkVersion value at this point in time.
            final boolean resizeableSetExplicitly
                    = sa.hasValue(R.styleable.AndroidManifestActivity_resizeableActivity);
            final boolean resizeable = sa.getBoolean(
                    R.styleable.AndroidManifestActivity_resizeableActivity, appDefault);

            if (resizeable) {
                if (sa.getBoolean(R.styleable.AndroidManifestActivity_supportsPictureInPicture,
                        false)) {
                    a.info.resizeMode = RESIZE_MODE_RESIZEABLE_AND_PIPABLE;
                } else {
                    a.info.resizeMode = RESIZE_MODE_RESIZEABLE;
                }
            } else if (owner.applicationInfo.targetSdkVersion >= Build.VERSION_CODES.N
                    || resizeableSetExplicitly) {
                a.info.resizeMode = RESIZE_MODE_UNRESIZEABLE;
            } else if (!a.info.isFixedOrientation() && (a.info.flags & FLAG_IMMERSIVE) == 0) {
                a.info.resizeMode = RESIZE_MODE_FORCE_RESIZEABLE;
            }


            if (sa.getBoolean(R.styleable.AndroidManifestActivity_alwaysFocusable, false)) {
            if (sa.getBoolean(R.styleable.AndroidManifestActivity_alwaysFocusable, false)) {
                a.info.flags |= FLAG_ALWAYS_FOCUSABLE;
                a.info.flags |= FLAG_ALWAYS_FOCUSABLE;
@@ -3706,6 +3682,34 @@ public class PackageParser {
        return a;
        return a;
    }
    }


    private void setActivityResizeMode(ActivityInfo aInfo, TypedArray sa, Package owner) {
        aInfo.resizeMode = RESIZE_MODE_UNRESIZEABLE;
        final boolean appDefault = (owner.applicationInfo.privateFlags
                & PRIVATE_FLAG_RESIZEABLE_ACTIVITIES) != 0;
        // This flag is used to workaround the issue with ignored resizeableActivity param when
        // either targetSdkVersion is not set at all or <uses-sdk> tag is below <application>
        // tag in AndroidManifest. If this param was explicitly set to 'false' we need to set
        // corresponding resizeMode regardless of targetSdkVersion value at this point in time.
        final boolean resizeableSetExplicitly
                = sa.hasValue(R.styleable.AndroidManifestActivity_resizeableActivity);
        final boolean resizeable = sa.getBoolean(
                R.styleable.AndroidManifestActivity_resizeableActivity, appDefault);

        if (resizeable) {
            if (sa.getBoolean(R.styleable.AndroidManifestActivity_supportsPictureInPicture,
                    false)) {
                aInfo.resizeMode = RESIZE_MODE_RESIZEABLE_AND_PIPABLE;
            } else {
                aInfo.resizeMode = RESIZE_MODE_RESIZEABLE;
            }
        } else if (owner.applicationInfo.targetSdkVersion >= Build.VERSION_CODES.N
                || resizeableSetExplicitly) {
            aInfo.resizeMode = RESIZE_MODE_UNRESIZEABLE;
        } else if (!aInfo.isFixedOrientation() && (aInfo.flags & FLAG_IMMERSIVE) == 0) {
            aInfo.resizeMode = RESIZE_MODE_FORCE_RESIZEABLE;
        }
    }

    private void parseLayout(Resources res, AttributeSet attrs, Activity a) {
    private void parseLayout(Resources res, AttributeSet attrs, Activity a) {
        TypedArray sw = res.obtainAttributes(attrs,
        TypedArray sw = res.obtainAttributes(attrs,
                com.android.internal.R.styleable.AndroidManifestLayout);
                com.android.internal.R.styleable.AndroidManifestLayout);
+1 −8
Original line number Original line Diff line number Diff line
@@ -17,7 +17,6 @@
package com.android.server.am;
package com.android.server.am;


import static android.app.ActivityManager.StackId;
import static android.app.ActivityManager.StackId;
import static android.app.ActivityManager.StackId.DOCKED_STACK_ID;
import static android.app.ActivityManager.StackId.FREEFORM_WORKSPACE_STACK_ID;
import static android.app.ActivityManager.StackId.FREEFORM_WORKSPACE_STACK_ID;
import static android.app.ActivityManager.StackId.PINNED_STACK_ID;
import static android.app.ActivityManager.StackId.PINNED_STACK_ID;
import static android.content.pm.ActivityInfo.CONFIG_ORIENTATION;
import static android.content.pm.ActivityInfo.CONFIG_ORIENTATION;
@@ -26,7 +25,6 @@ import static android.content.pm.ActivityInfo.CONFIG_SCREEN_SIZE;
import static android.content.pm.ActivityInfo.CONFIG_SMALLEST_SCREEN_SIZE;
import static android.content.pm.ActivityInfo.CONFIG_SMALLEST_SCREEN_SIZE;
import static android.content.pm.ActivityInfo.FLAG_ON_TOP_LAUNCHER;
import static android.content.pm.ActivityInfo.FLAG_ON_TOP_LAUNCHER;
import static android.content.pm.ActivityInfo.FLAG_SHOW_FOR_ALL_USERS;
import static android.content.pm.ActivityInfo.FLAG_SHOW_FOR_ALL_USERS;
import static android.content.pm.ActivityInfo.RESIZE_MODE_CROP_WINDOWS;
import static android.content.pm.ActivityInfo.FLAG_ALWAYS_FOCUSABLE;
import static android.content.pm.ActivityInfo.FLAG_ALWAYS_FOCUSABLE;
import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE;
import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE;
import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE_AND_PIPABLE;
import static android.content.pm.ActivityInfo.RESIZE_MODE_RESIZEABLE_AND_PIPABLE;
@@ -907,18 +905,13 @@ final class ActivityRecord {
    }
    }


    boolean canGoInDockedStack() {
    boolean canGoInDockedStack() {
        return !isHomeActivity()
        return !isHomeActivity() && isResizeableOrForced();
                && (isResizeableOrForced() || info.resizeMode == RESIZE_MODE_CROP_WINDOWS);
    }
    }


    boolean isAlwaysFocusable() {
    boolean isAlwaysFocusable() {
        return (info.flags & FLAG_ALWAYS_FOCUSABLE) != 0;
        return (info.flags & FLAG_ALWAYS_FOCUSABLE) != 0;
    }
    }


    boolean isOnTopLauncher() {
        return isHomeActivity() && (info.flags & FLAG_ON_TOP_LAUNCHER) != 0;
    }

    void makeFinishingLocked() {
    void makeFinishingLocked() {
        if (!finishing) {
        if (!finishing) {
            final ActivityStack stack = getStack();
            final ActivityStack stack = getStack();
+15 −21
Original line number Original line Diff line number Diff line
@@ -69,11 +69,11 @@ import static android.app.ActivityManager.StackId.PINNED_STACK_ID;
import static android.content.Intent.FLAG_ACTIVITY_NEW_DOCUMENT;
import static android.content.Intent.FLAG_ACTIVITY_NEW_DOCUMENT;
import static android.content.Intent.FLAG_ACTIVITY_RETAIN_IN_RECENTS;
import static android.content.Intent.FLAG_ACTIVITY_RETAIN_IN_RECENTS;
import static android.content.pm.ActivityInfo.FLAG_ON_TOP_LAUNCHER;
import static android.content.pm.ActivityInfo.FLAG_ON_TOP_LAUNCHER;
import static android.content.pm.ActivityInfo.FLAG_RELINQUISH_TASK_IDENTITY;
import static android.content.pm.ActivityInfo.LOCK_TASK_LAUNCH_MODE_ALWAYS;
import static android.content.pm.ActivityInfo.LOCK_TASK_LAUNCH_MODE_ALWAYS;
import static android.content.pm.ActivityInfo.LOCK_TASK_LAUNCH_MODE_DEFAULT;
import static android.content.pm.ActivityInfo.LOCK_TASK_LAUNCH_MODE_DEFAULT;
import static android.content.pm.ActivityInfo.LOCK_TASK_LAUNCH_MODE_IF_WHITELISTED;
import static android.content.pm.ActivityInfo.LOCK_TASK_LAUNCH_MODE_IF_WHITELISTED;
import static android.content.pm.ActivityInfo.LOCK_TASK_LAUNCH_MODE_NEVER;
import static android.content.pm.ActivityInfo.LOCK_TASK_LAUNCH_MODE_NEVER;
import static android.content.pm.ActivityInfo.RESIZE_MODE_CROP_WINDOWS;
import static android.content.pm.ActivityInfo.RESIZE_MODE_FORCE_RESIZEABLE;
import static android.content.pm.ActivityInfo.RESIZE_MODE_FORCE_RESIZEABLE;
import static android.content.pm.ApplicationInfo.PRIVATE_FLAG_PRIVILEGED;
import static android.content.pm.ApplicationInfo.PRIVATE_FLAG_PRIVILEGED;
import static android.provider.Settings.Secure.USER_SETUP_COMPLETE;
import static android.provider.Settings.Secure.USER_SETUP_COMPLETE;
@@ -100,11 +100,11 @@ final class TaskRecord extends ConfigurationContainer {
    private static final String TAG_LOCKTASK = TAG + POSTFIX_LOCKTASK;
    private static final String TAG_LOCKTASK = TAG + POSTFIX_LOCKTASK;
    private static final String TAG_TASKS = TAG + POSTFIX_TASKS;
    private static final String TAG_TASKS = TAG + POSTFIX_TASKS;


    static final String ATTR_TASKID = "task_id";
    private static final String ATTR_TASKID = "task_id";
    private static final String TAG_INTENT = "intent";
    private static final String TAG_INTENT = "intent";
    private static final String TAG_AFFINITYINTENT = "affinity_intent";
    private static final String TAG_AFFINITYINTENT = "affinity_intent";
    static final String ATTR_REALACTIVITY = "real_activity";
    private static final String ATTR_REALACTIVITY = "real_activity";
    static final String ATTR_REALACTIVITY_SUSPENDED = "real_activity_suspended";
    private static final String ATTR_REALACTIVITY_SUSPENDED = "real_activity_suspended";
    private static final String ATTR_ORIGACTIVITY = "orig_activity";
    private static final String ATTR_ORIGACTIVITY = "orig_activity";
    private static final String TAG_ACTIVITY = "activity";
    private static final String TAG_ACTIVITY = "activity";
    private static final String ATTR_AFFINITY = "affinity";
    private static final String ATTR_AFFINITY = "affinity";
@@ -121,7 +121,7 @@ final class TaskRecord extends ConfigurationContainer {
    private static final String ATTR_LASTDESCRIPTION = "last_description";
    private static final String ATTR_LASTDESCRIPTION = "last_description";
    private static final String ATTR_LASTTIMEMOVED = "last_time_moved";
    private static final String ATTR_LASTTIMEMOVED = "last_time_moved";
    private static final String ATTR_NEVERRELINQUISH = "never_relinquish_identity";
    private static final String ATTR_NEVERRELINQUISH = "never_relinquish_identity";
    static final String ATTR_TASK_AFFILIATION = "task_affiliation";
    private static final String ATTR_TASK_AFFILIATION = "task_affiliation";
    private static final String ATTR_PREV_AFFILIATION = "prev_affiliation";
    private static final String ATTR_PREV_AFFILIATION = "prev_affiliation";
    private static final String ATTR_NEXT_AFFILIATION = "next_affiliation";
    private static final String ATTR_NEXT_AFFILIATION = "next_affiliation";
    private static final String ATTR_TASK_AFFILIATION_COLOR = "task_affiliation_color";
    private static final String ATTR_TASK_AFFILIATION_COLOR = "task_affiliation_color";
@@ -137,7 +137,7 @@ final class TaskRecord extends ConfigurationContainer {
    private static final String TASK_THUMBNAIL_SUFFIX = "_task_thumbnail";
    private static final String TASK_THUMBNAIL_SUFFIX = "_task_thumbnail";


    static final int INVALID_TASK_ID = -1;
    static final int INVALID_TASK_ID = -1;
    static final int INVALID_MIN_SIZE = -1;
    private static final int INVALID_MIN_SIZE = -1;


    final int taskId;       // Unique identifier for this task.
    final int taskId;       // Unique identifier for this task.
    String affinity;        // The affinity name for this task, or null; may change identity.
    String affinity;        // The affinity name for this task, or null; may change identity.
@@ -173,7 +173,7 @@ final class TaskRecord extends ConfigurationContainer {
                            // Based on the {@link ActivityInfo#resizeMode} of the root activity.
                            // Based on the {@link ActivityInfo#resizeMode} of the root activity.
    boolean mTemporarilyUnresizable; // Separate flag from mResizeMode used to suppress resize
    boolean mTemporarilyUnresizable; // Separate flag from mResizeMode used to suppress resize
                                     // changes on a temporary basis.
                                     // changes on a temporary basis.
    int mLockTaskMode;      // Which tasklock mode to launch this task in. One of
    private int mLockTaskMode;  // Which tasklock mode to launch this task in. One of
                                // ActivityManager.LOCK_TASK_LAUNCH_MODE_*
                                // ActivityManager.LOCK_TASK_LAUNCH_MODE_*
    private boolean mPrivileged;    // The root activity application of this task holds
    private boolean mPrivileged;    // The root activity application of this task holds
                                    // privileged permissions.
                                    // privileged permissions.
@@ -223,7 +223,7 @@ final class TaskRecord extends ConfigurationContainer {
    private int mTaskToReturnTo = APPLICATION_ACTIVITY_TYPE;
    private int mTaskToReturnTo = APPLICATION_ACTIVITY_TYPE;


    /** If original intent did not allow relinquishing task identity, save that information */
    /** If original intent did not allow relinquishing task identity, save that information */
    boolean mNeverRelinquishIdentity = true;
    private boolean mNeverRelinquishIdentity = true;


    // Used in the unique case where we are clearing the task in order to reuse it. In that case we
    // Used in the unique case where we are clearing the task in order to reuse it. In that case we
    // do not want to delete the stack when the task goes empty.
    // do not want to delete the stack when the task goes empty.
@@ -402,7 +402,7 @@ final class TaskRecord extends ConfigurationContainer {
    private void setIntent(Intent _intent, ActivityInfo info) {
    private void setIntent(Intent _intent, ActivityInfo info) {
        if (intent == null) {
        if (intent == null) {
            mNeverRelinquishIdentity =
            mNeverRelinquishIdentity =
                    (info.flags & ActivityInfo.FLAG_RELINQUISH_TASK_IDENTITY) == 0;
                    (info.flags & FLAG_RELINQUISH_TASK_IDENTITY) == 0;
        } else if (mNeverRelinquishIdentity) {
        } else if (mNeverRelinquishIdentity) {
            return;
            return;
        }
        }
@@ -1075,12 +1075,8 @@ final class TaskRecord extends ConfigurationContainer {
        return isHomeTask() && mIsOnTopLauncher;
        return isHomeTask() && mIsOnTopLauncher;
    }
    }


    boolean inCropWindowsResizeMode() {
        return !isResizeable() && mResizeMode == RESIZE_MODE_CROP_WINDOWS;
    }

    boolean canGoInDockedStack() {
    boolean canGoInDockedStack() {
        return isResizeable() || inCropWindowsResizeMode();
        return isResizeable();
    }
    }


    /**
    /**
@@ -1107,12 +1103,12 @@ final class TaskRecord extends ConfigurationContainer {
        // utility activities.
        // utility activities.
        int activityNdx;
        int activityNdx;
        final int numActivities = mActivities.size();
        final int numActivities = mActivities.size();
        final boolean relinquish = numActivities == 0 ? false :
        final boolean relinquish = numActivities != 0 &&
                (mActivities.get(0).info.flags & ActivityInfo.FLAG_RELINQUISH_TASK_IDENTITY) != 0;
                (mActivities.get(0).info.flags & FLAG_RELINQUISH_TASK_IDENTITY) != 0;
        for (activityNdx = Math.min(numActivities, 1); activityNdx < numActivities;
        for (activityNdx = Math.min(numActivities, 1); activityNdx < numActivities;
                ++activityNdx) {
                ++activityNdx) {
            final ActivityRecord r = mActivities.get(activityNdx);
            final ActivityRecord r = mActivities.get(activityNdx);
            if (relinquish && (r.info.flags & ActivityInfo.FLAG_RELINQUISH_TASK_IDENTITY) == 0) {
            if (relinquish && (r.info.flags & FLAG_RELINQUISH_TASK_IDENTITY) == 0) {
                // This will be the top activity for determining taskDescription. Pre-inc to
                // This will be the top activity for determining taskDescription. Pre-inc to
                // overcome initial decrement below.
                // overcome initial decrement below.
                ++activityNdx;
                ++activityNdx;
@@ -1167,7 +1163,7 @@ final class TaskRecord extends ConfigurationContainer {
                continue;
                continue;
            }
            }
            effectiveNdx = activityNdx;
            effectiveNdx = activityNdx;
            if ((r.info.flags & ActivityInfo.FLAG_RELINQUISH_TASK_IDENTITY) == 0) {
            if ((r.info.flags & FLAG_RELINQUISH_TASK_IDENTITY) == 0) {
                break;
                break;
            }
            }
        }
        }
@@ -1362,8 +1358,6 @@ final class TaskRecord extends ConfigurationContainer {
                callingPackage = attrValue;
                callingPackage = attrValue;
            } else if (ATTR_RESIZE_MODE.equals(attrName)) {
            } else if (ATTR_RESIZE_MODE.equals(attrName)) {
                resizeMode = Integer.parseInt(attrValue);
                resizeMode = Integer.parseInt(attrValue);
                resizeMode = (resizeMode == RESIZE_MODE_CROP_WINDOWS)
                        ? RESIZE_MODE_FORCE_RESIZEABLE : resizeMode;
            } else if (ATTR_PRIVILEGED.equals(attrName)) {
            } else if (ATTR_PRIVILEGED.equals(attrName)) {
                privileged = Boolean.parseBoolean(attrValue);
                privileged = Boolean.parseBoolean(attrValue);
            } else if (ATTR_NON_FULLSCREEN_BOUNDS.equals(attrName)) {
            } else if (ATTR_NON_FULLSCREEN_BOUNDS.equals(attrName)) {
+6 −8
Original line number Original line Diff line number Diff line
@@ -20,7 +20,6 @@ import static android.app.ActivityManager.RESIZE_MODE_SYSTEM_SCREEN_ROTATION;
import static android.app.ActivityManager.StackId.PINNED_STACK_ID;
import static android.app.ActivityManager.StackId.PINNED_STACK_ID;
import static android.app.ActivityManager.StackId.FREEFORM_WORKSPACE_STACK_ID;
import static android.app.ActivityManager.StackId.FREEFORM_WORKSPACE_STACK_ID;
import static android.app.ActivityManager.StackId.HOME_STACK_ID;
import static android.app.ActivityManager.StackId.HOME_STACK_ID;
import static android.content.pm.ActivityInfo.RESIZE_MODE_CROP_WINDOWS;
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_STACK;
import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_STACK;
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME;
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME;
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
@@ -35,7 +34,6 @@ import android.util.Slog;
import android.view.DisplayInfo;
import android.view.DisplayInfo;
import android.view.Surface;
import android.view.Surface;


import android.view.SurfaceControl;
import com.android.server.EventLogTags;
import com.android.server.EventLogTags;


import java.io.PrintWriter;
import java.io.PrintWriter;
@@ -43,17 +41,17 @@ import java.io.PrintWriter;
class Task extends WindowContainer<AppWindowToken> implements DimLayer.DimLayerUser {
class Task extends WindowContainer<AppWindowToken> implements DimLayer.DimLayerUser {
    static final String TAG = TAG_WITH_CLASS_NAME ? "Task" : TAG_WM;
    static final String TAG = TAG_WITH_CLASS_NAME ? "Task" : TAG_WM;
    // Return value from {@link setBounds} indicating no change was made to the Task bounds.
    // Return value from {@link setBounds} indicating no change was made to the Task bounds.
    static final int BOUNDS_CHANGE_NONE = 0;
    private static final int BOUNDS_CHANGE_NONE = 0;
    // Return value from {@link setBounds} indicating the position of the Task bounds changed.
    // Return value from {@link setBounds} indicating the position of the Task bounds changed.
    static final int BOUNDS_CHANGE_POSITION = 1;
    private static final int BOUNDS_CHANGE_POSITION = 1;
    // Return value from {@link setBounds} indicating the size of the Task bounds changed.
    // Return value from {@link setBounds} indicating the size of the Task bounds changed.
    static final int BOUNDS_CHANGE_SIZE = 1 << 1;
    private static final int BOUNDS_CHANGE_SIZE = 1 << 1;


    // TODO: Track parent marks like this in WindowContainer.
    // TODO: Track parent marks like this in WindowContainer.
    TaskStack mStack;
    TaskStack mStack;
    final int mTaskId;
    final int mTaskId;
    final int mUserId;
    final int mUserId;
    boolean mDeferRemoval = false;
    private boolean mDeferRemoval = false;
    final WindowManagerService mService;
    final WindowManagerService mService;


    // Content limits relative to the DisplayContent this sits in.
    // Content limits relative to the DisplayContent this sits in.
@@ -65,7 +63,7 @@ class Task extends WindowContainer<AppWindowToken> implements DimLayer.DimLayerU
    private final Rect mTempInsetBounds = new Rect();
    private final Rect mTempInsetBounds = new Rect();


    // Device rotation as of the last time {@link #mBounds} was set.
    // Device rotation as of the last time {@link #mBounds} was set.
    int mRotation;
    private int mRotation;


    // Whether mBounds is fullscreen
    // Whether mBounds is fullscreen
    private boolean mFillsParent = true;
    private boolean mFillsParent = true;
@@ -288,7 +286,7 @@ class Task extends WindowContainer<AppWindowToken> implements DimLayer.DimLayerU
    }
    }


    boolean cropWindowsToStackBounds() {
    boolean cropWindowsToStackBounds() {
        return !mHomeTask && (isResizeable() || mResizeMode == RESIZE_MODE_CROP_WINDOWS);
        return !mHomeTask && isResizeable();
    }
    }


    boolean isHomeTask() {
    boolean isHomeTask() {