Merge "Organize multi-window enabling" into oc-dev

am: cad3c3251c

Change-Id: Ic7a4976186161c80ba02e1b59d8898f8765b50f3
This commit is contained in:
Andrii Kulian
2017-05-11 19:23:32 +00:00
committed by android-build-merger

View File

@@ -1472,6 +1472,20 @@ public class ActivityManagerService extends IActivityManager.Stub
boolean mOrigWaitForDebugger = false; boolean mOrigWaitForDebugger = false;
boolean mAlwaysFinishActivities = false; boolean mAlwaysFinishActivities = false;
boolean mForceResizableActivities; boolean mForceResizableActivities;
/**
* Flag that indicates if multi-window is enabled.
*
* For any particular form of multi-window to be enabled, generic multi-window must be enabled
* in {@link com.android.internal.R.bool.config_supportsMultiWindow} config or
* {@link Settings.Global#DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES} development option set.
* At least one of the forms of multi-window must be enabled in order for this flag to be
* initialized to 'true'.
*
* @see #mSupportsSplitScreenMultiWindow
* @see #mSupportsFreeformWindowManagement
* @see #mSupportsPictureInPicture
* @see #mSupportsMultiDisplay
*/
boolean mSupportsMultiWindow; boolean mSupportsMultiWindow;
boolean mSupportsSplitScreenMultiWindow; boolean mSupportsSplitScreenMultiWindow;
boolean mSupportsFreeformWindowManagement; boolean mSupportsFreeformWindowManagement;
@@ -13932,16 +13946,23 @@ public class ActivityManagerService extends IActivityManager.Stub
mAlwaysFinishActivities = alwaysFinishActivities; mAlwaysFinishActivities = alwaysFinishActivities;
mSupportsLeanbackOnly = supportsLeanbackOnly; mSupportsLeanbackOnly = supportsLeanbackOnly;
mForceResizableActivities = forceResizable; mForceResizableActivities = forceResizable;
if (supportsMultiWindow || forceResizable) { final boolean multiWindowFormEnabled = freeformWindowManagement
|| supportsSplitScreenMultiWindow
|| supportsPictureInPicture
|| supportsMultiDisplay;
if ((supportsMultiWindow || forceResizable) && multiWindowFormEnabled) {
mSupportsMultiWindow = true; mSupportsMultiWindow = true;
mSupportsFreeformWindowManagement = freeformWindowManagement || forceResizable; mSupportsFreeformWindowManagement = freeformWindowManagement;
} else {
mSupportsMultiWindow = false;
mSupportsFreeformWindowManagement = false;
}
mSupportsSplitScreenMultiWindow = supportsSplitScreenMultiWindow; mSupportsSplitScreenMultiWindow = supportsSplitScreenMultiWindow;
mSupportsPictureInPicture = supportsPictureInPicture; mSupportsPictureInPicture = supportsPictureInPicture;
mSupportsMultiDisplay = supportsMultiDisplay; mSupportsMultiDisplay = supportsMultiDisplay;
} else {
mSupportsMultiWindow = false;
mSupportsFreeformWindowManagement = false;
mSupportsSplitScreenMultiWindow = false;
mSupportsPictureInPicture = false;
mSupportsMultiDisplay = false;
}
mWindowManager.setForceResizableTasks(mForceResizableActivities); mWindowManager.setForceResizableTasks(mForceResizableActivities);
mWindowManager.setSupportsPictureInPicture(mSupportsPictureInPicture); mWindowManager.setSupportsPictureInPicture(mSupportsPictureInPicture);
// This happens before any activities are started, so we can change global configuration // This happens before any activities are started, so we can change global configuration