Loading libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/TaskSnapshotWindow.java +25 −3 Original line number Diff line number Diff line Loading @@ -20,8 +20,10 @@ import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME; import static android.graphics.Color.WHITE; import static android.graphics.Color.alpha; import static android.os.Trace.TRACE_TAG_WINDOW_MANAGER; import static android.view.ViewRootImpl.LOCAL_LAYOUT; import static android.view.WindowInsetsController.APPEARANCE_LIGHT_NAVIGATION_BARS; import static android.view.WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS; import static android.view.WindowLayout.UNSPECIFIED_LENGTH; import static android.view.WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM; import static android.view.WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED; import static android.view.WindowManager.LayoutParams.FLAG_IGNORE_CHEEK_PRESSES; Loading Loading @@ -51,6 +53,7 @@ import android.annotation.Nullable; import android.app.ActivityManager; import android.app.ActivityManager.TaskDescription; import android.app.ActivityThread; import android.app.WindowConfiguration; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; Loading @@ -77,6 +80,7 @@ import android.view.SurfaceSession; import android.view.View; import android.view.ViewGroup; import android.view.WindowInsets; import android.view.WindowLayout; import android.view.WindowManager; import android.view.WindowManagerGlobal; import android.window.ClientWindowFrames; Loading Loading @@ -208,6 +212,8 @@ public class TaskSnapshotWindow { final IWindowSession session = WindowManagerGlobal.getWindowSession(); final SurfaceControl surfaceControl = new SurfaceControl(); final ClientWindowFrames tmpFrames = new ClientWindowFrames(); final WindowLayout windowLayout = new WindowLayout(); final Rect displayCutoutSafe = new Rect(); final InsetsSourceControl[] tmpControls = new InsetsSourceControl[0]; final MergedConfiguration tmpMergedConfiguration = new MergedConfiguration(); Loading Loading @@ -244,9 +250,25 @@ public class TaskSnapshotWindow { window.setOuter(snapshotSurface); try { Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "TaskSnapshot#relayout"); if (LOCAL_LAYOUT) { if (!surfaceControl.isValid()) { session.updateVisibility(window, layoutParams, View.VISIBLE, tmpMergedConfiguration, surfaceControl, tmpInsetsState, tmpControls); } tmpInsetsState.getDisplayCutoutSafe(displayCutoutSafe); final WindowConfiguration winConfig = tmpMergedConfiguration.getMergedConfiguration().windowConfiguration; windowLayout.computeFrames(layoutParams, tmpInsetsState, displayCutoutSafe, winConfig.getBounds(), winConfig.getWindowingMode(), UNSPECIFIED_LENGTH, UNSPECIFIED_LENGTH, info.requestedVisibilities, null /* attachedWindowFrame */, 1f /* compatScale */, tmpFrames); session.updateLayout(window, layoutParams, 0 /* flags */, tmpFrames, UNSPECIFIED_LENGTH, UNSPECIFIED_LENGTH); } else { session.relayout(window, layoutParams, -1, -1, View.VISIBLE, 0, tmpFrames, tmpMergedConfiguration, surfaceControl, tmpInsetsState, tmpControls, new Bundle()); } Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER); } catch (RemoteException e) { snapshotSurface.clearWindowSynced(); Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/startingsurface/TaskSnapshotWindow.java +25 −3 Original line number Diff line number Diff line Loading @@ -20,8 +20,10 @@ import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME; import static android.graphics.Color.WHITE; import static android.graphics.Color.alpha; import static android.os.Trace.TRACE_TAG_WINDOW_MANAGER; import static android.view.ViewRootImpl.LOCAL_LAYOUT; import static android.view.WindowInsetsController.APPEARANCE_LIGHT_NAVIGATION_BARS; import static android.view.WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS; import static android.view.WindowLayout.UNSPECIFIED_LENGTH; import static android.view.WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM; import static android.view.WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED; import static android.view.WindowManager.LayoutParams.FLAG_IGNORE_CHEEK_PRESSES; Loading Loading @@ -51,6 +53,7 @@ import android.annotation.Nullable; import android.app.ActivityManager; import android.app.ActivityManager.TaskDescription; import android.app.ActivityThread; import android.app.WindowConfiguration; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; Loading @@ -77,6 +80,7 @@ import android.view.SurfaceSession; import android.view.View; import android.view.ViewGroup; import android.view.WindowInsets; import android.view.WindowLayout; import android.view.WindowManager; import android.view.WindowManagerGlobal; import android.window.ClientWindowFrames; Loading Loading @@ -208,6 +212,8 @@ public class TaskSnapshotWindow { final IWindowSession session = WindowManagerGlobal.getWindowSession(); final SurfaceControl surfaceControl = new SurfaceControl(); final ClientWindowFrames tmpFrames = new ClientWindowFrames(); final WindowLayout windowLayout = new WindowLayout(); final Rect displayCutoutSafe = new Rect(); final InsetsSourceControl[] tmpControls = new InsetsSourceControl[0]; final MergedConfiguration tmpMergedConfiguration = new MergedConfiguration(); Loading Loading @@ -244,9 +250,25 @@ public class TaskSnapshotWindow { window.setOuter(snapshotSurface); try { Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "TaskSnapshot#relayout"); if (LOCAL_LAYOUT) { if (!surfaceControl.isValid()) { session.updateVisibility(window, layoutParams, View.VISIBLE, tmpMergedConfiguration, surfaceControl, tmpInsetsState, tmpControls); } tmpInsetsState.getDisplayCutoutSafe(displayCutoutSafe); final WindowConfiguration winConfig = tmpMergedConfiguration.getMergedConfiguration().windowConfiguration; windowLayout.computeFrames(layoutParams, tmpInsetsState, displayCutoutSafe, winConfig.getBounds(), winConfig.getWindowingMode(), UNSPECIFIED_LENGTH, UNSPECIFIED_LENGTH, info.requestedVisibilities, null /* attachedWindowFrame */, 1f /* compatScale */, tmpFrames); session.updateLayout(window, layoutParams, 0 /* flags */, tmpFrames, UNSPECIFIED_LENGTH, UNSPECIFIED_LENGTH); } else { session.relayout(window, layoutParams, -1, -1, View.VISIBLE, 0, tmpFrames, tmpMergedConfiguration, surfaceControl, tmpInsetsState, tmpControls, new Bundle()); } Trace.traceEnd(TRACE_TAG_WINDOW_MANAGER); } catch (RemoteException e) { snapshotSurface.clearWindowSynced(); Loading