Merge "Report folding features to letterboxed apps." into tm-qpr-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
59853012f7
@@ -381,24 +381,15 @@ public class WindowLayoutComponentImpl implements WindowLayoutComponent {
|
|||||||
final Rect taskBounds = taskConfig.windowConfiguration.getBounds();
|
final Rect taskBounds = taskConfig.windowConfiguration.getBounds();
|
||||||
final WindowManager windowManager = Objects.requireNonNull(
|
final WindowManager windowManager = Objects.requireNonNull(
|
||||||
context.getSystemService(WindowManager.class));
|
context.getSystemService(WindowManager.class));
|
||||||
final Rect currentBounds = windowManager.getCurrentWindowMetrics().getBounds();
|
|
||||||
final Rect maxBounds = windowManager.getMaximumWindowMetrics().getBounds();
|
final Rect maxBounds = windowManager.getMaximumWindowMetrics().getBounds();
|
||||||
boolean isTaskExpanded = maxBounds.equals(taskBounds);
|
boolean isTaskExpanded = maxBounds.equals(taskBounds);
|
||||||
boolean isActivityExpanded = maxBounds.equals(currentBounds);
|
|
||||||
/*
|
/*
|
||||||
* We need to proxy being in full screen because when a user enters PiP and exits PiP
|
* We need to proxy being in full screen because when a user enters PiP and exits PiP
|
||||||
* the task windowingMode will report multi-window/pinned until the transition is
|
* the task windowingMode will report multi-window/pinned until the transition is
|
||||||
* finished in WM Shell.
|
* finished in WM Shell.
|
||||||
* maxBounds == taskWindowBounds is a proxy check to verify the window is full screen
|
* maxBounds == taskWindowBounds is a proxy check to verify the window is full screen
|
||||||
* For tasks that are letterboxed, we use currentBounds == maxBounds to filter these
|
|
||||||
* out.
|
|
||||||
*/
|
*/
|
||||||
// TODO(b/262900133) remove currentBounds check when letterboxed apps report bounds.
|
return isTaskExpanded;
|
||||||
// currently we don't want to report to letterboxed apps since they do not update the
|
|
||||||
// window bounds when the Activity is moved. An inaccurate fold will be reported so
|
|
||||||
// we skip.
|
|
||||||
return isTaskExpanded && (isActivityExpanded
|
|
||||||
|| mTaskFragmentOrganizer.isActivityEmbedded(activityToken));
|
|
||||||
} else {
|
} else {
|
||||||
// TODO(b/242674941): use task windowing mode for window context that associates with
|
// TODO(b/242674941): use task windowing mode for window context that associates with
|
||||||
// activity.
|
// activity.
|
||||||
|
|||||||
Reference in New Issue
Block a user