Loading services/core/java/com/android/server/wm/LaunchParamsController.java +5 −3 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.app.ActivityOptions; import android.app.WindowConfiguration.WindowingMode; import android.content.Context; import android.content.pm.ActivityInfo.WindowLayout; import android.graphics.Rect; Loading Loading @@ -68,9 +69,10 @@ class LaunchParamsController { */ void registerDefaultModifiers(ActivityTaskSupervisor supervisor) { // {@link TaskLaunchParamsModifier} handles window layout preferences. registerModifier(new TaskLaunchParamsModifier(supervisor)); registerModifier(new DesktopModeLaunchParamsModifier(mService.mContext, supervisor, new DesktopModeCompatPolicy(mService.mContext))); final Context context = mService.mContext; registerModifier(new TaskLaunchParamsModifier(supervisor, context)); registerModifier(new DesktopModeLaunchParamsModifier(context, supervisor, new DesktopModeCompatPolicy(context))); } /** Loading services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java +9 −3 Original line number Diff line number Diff line Loading @@ -36,12 +36,14 @@ import static android.util.DisplayMetrics.DENSITY_DEFAULT; import static android.window.DisplayAreaOrganizer.FEATURE_UNDEFINED; import static com.android.server.wm.ActivityStarter.Request; import static com.android.server.wm.DesktopModeHelper.canEnterDesktopMode; import static com.android.server.wm.LaunchParamsUtil.getPreferredLaunchTaskDisplayArea; import android.annotation.NonNull; import android.annotation.Nullable; import android.app.ActivityOptions; import android.app.WindowConfiguration; import android.content.Context; import android.content.pm.ActivityInfo; import android.content.res.Configuration; import android.graphics.Rect; Loading Loading @@ -77,6 +79,7 @@ class TaskLaunchParamsModifier implements LaunchParamsModifier { private static final int MINIMAL_STEP = 1; private final ActivityTaskSupervisor mSupervisor; private final Context mContext; private final Rect mTmpBounds = new Rect(); private final Rect mTmpStableBounds = new Rect(); private final int[] mTmpDirections = new int[2]; Loading @@ -85,8 +88,9 @@ class TaskLaunchParamsModifier implements LaunchParamsModifier { private StringBuilder mLogBuilder; TaskLaunchParamsModifier(ActivityTaskSupervisor supervisor) { TaskLaunchParamsModifier(ActivityTaskSupervisor supervisor, Context context) { mSupervisor = supervisor; mContext = context; } @Override Loading Loading @@ -557,9 +561,11 @@ class TaskLaunchParamsModifier implements LaunchParamsModifier { @NonNull ActivityInfo.WindowLayout layout, int resolvedMode, boolean hasInitialBounds, @NonNull Rect inOutBounds) { if (resolvedMode != WINDOWING_MODE_FREEFORM && resolvedMode != WINDOWING_MODE_FULLSCREEN) { && (resolvedMode != WINDOWING_MODE_FULLSCREEN || canEnterDesktopMode(mContext))) { // This function should be used only for freeform bounds adjustment. Freeform bounds // needs to be set to fullscreen tasks too as restore bounds. // needs to be set to fullscreen tasks too as restore bounds for legacy use case only. // If desktop mode is available on the device do not set freeform bounds for fullscreen // task. appendLog("skip-bounds-" + WindowConfiguration.windowingModeToString(resolvedMode)); return; } Loading services/tests/wmtests/src/com/android/server/wm/TaskLaunchParamsModifierTests.java +1 −1 Original line number Diff line number Diff line Loading @@ -83,7 +83,7 @@ public class TaskLaunchParamsModifierTests extends mActivity.info.applicationInfo.targetSdkVersion = Build.VERSION_CODES.N_MR1; mActivity.info.applicationInfo.flags |= ApplicationInfo.FLAG_SUPPORTS_SCREEN_DENSITIES; mTarget = new TaskLaunchParamsModifier(mSupervisor); mTarget = new TaskLaunchParamsModifier(mSupervisor, mContext); mCurrent = new LaunchParams(); mCurrent.reset(); Loading Loading
services/core/java/com/android/server/wm/LaunchParamsController.java +5 −3 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import android.annotation.NonNull; import android.annotation.Nullable; import android.app.ActivityOptions; import android.app.WindowConfiguration.WindowingMode; import android.content.Context; import android.content.pm.ActivityInfo.WindowLayout; import android.graphics.Rect; Loading Loading @@ -68,9 +69,10 @@ class LaunchParamsController { */ void registerDefaultModifiers(ActivityTaskSupervisor supervisor) { // {@link TaskLaunchParamsModifier} handles window layout preferences. registerModifier(new TaskLaunchParamsModifier(supervisor)); registerModifier(new DesktopModeLaunchParamsModifier(mService.mContext, supervisor, new DesktopModeCompatPolicy(mService.mContext))); final Context context = mService.mContext; registerModifier(new TaskLaunchParamsModifier(supervisor, context)); registerModifier(new DesktopModeLaunchParamsModifier(context, supervisor, new DesktopModeCompatPolicy(context))); } /** Loading
services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java +9 −3 Original line number Diff line number Diff line Loading @@ -36,12 +36,14 @@ import static android.util.DisplayMetrics.DENSITY_DEFAULT; import static android.window.DisplayAreaOrganizer.FEATURE_UNDEFINED; import static com.android.server.wm.ActivityStarter.Request; import static com.android.server.wm.DesktopModeHelper.canEnterDesktopMode; import static com.android.server.wm.LaunchParamsUtil.getPreferredLaunchTaskDisplayArea; import android.annotation.NonNull; import android.annotation.Nullable; import android.app.ActivityOptions; import android.app.WindowConfiguration; import android.content.Context; import android.content.pm.ActivityInfo; import android.content.res.Configuration; import android.graphics.Rect; Loading Loading @@ -77,6 +79,7 @@ class TaskLaunchParamsModifier implements LaunchParamsModifier { private static final int MINIMAL_STEP = 1; private final ActivityTaskSupervisor mSupervisor; private final Context mContext; private final Rect mTmpBounds = new Rect(); private final Rect mTmpStableBounds = new Rect(); private final int[] mTmpDirections = new int[2]; Loading @@ -85,8 +88,9 @@ class TaskLaunchParamsModifier implements LaunchParamsModifier { private StringBuilder mLogBuilder; TaskLaunchParamsModifier(ActivityTaskSupervisor supervisor) { TaskLaunchParamsModifier(ActivityTaskSupervisor supervisor, Context context) { mSupervisor = supervisor; mContext = context; } @Override Loading Loading @@ -557,9 +561,11 @@ class TaskLaunchParamsModifier implements LaunchParamsModifier { @NonNull ActivityInfo.WindowLayout layout, int resolvedMode, boolean hasInitialBounds, @NonNull Rect inOutBounds) { if (resolvedMode != WINDOWING_MODE_FREEFORM && resolvedMode != WINDOWING_MODE_FULLSCREEN) { && (resolvedMode != WINDOWING_MODE_FULLSCREEN || canEnterDesktopMode(mContext))) { // This function should be used only for freeform bounds adjustment. Freeform bounds // needs to be set to fullscreen tasks too as restore bounds. // needs to be set to fullscreen tasks too as restore bounds for legacy use case only. // If desktop mode is available on the device do not set freeform bounds for fullscreen // task. appendLog("skip-bounds-" + WindowConfiguration.windowingModeToString(resolvedMode)); return; } Loading
services/tests/wmtests/src/com/android/server/wm/TaskLaunchParamsModifierTests.java +1 −1 Original line number Diff line number Diff line Loading @@ -83,7 +83,7 @@ public class TaskLaunchParamsModifierTests extends mActivity.info.applicationInfo.targetSdkVersion = Build.VERSION_CODES.N_MR1; mActivity.info.applicationInfo.flags |= ApplicationInfo.FLAG_SUPPORTS_SCREEN_DENSITIES; mTarget = new TaskLaunchParamsModifier(mSupervisor); mTarget = new TaskLaunchParamsModifier(mSupervisor, mContext); mCurrent = new LaunchParams(); mCurrent.reset(); Loading