Loading services/core/java/com/android/server/wm/TaskSnapshotController.java +13 −1 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ import android.util.ArraySet; import android.util.Slog; import android.view.InsetsSource; import android.view.InsetsState; import android.view.InsetsState.InternalInsetsType; import android.view.SurfaceControl; import android.view.ThreadedRenderer; import android.view.WindowInsets; Loading Loading @@ -480,7 +481,9 @@ class TaskSnapshotController { task.getTaskDescription().getBackgroundColor(), 255); final LayoutParams attrs = mainWindow.getAttrs(); final InsetsPolicy insetsPolicy = mainWindow.getDisplayContent().getInsetsPolicy(); final InsetsState insetsState = insetsPolicy.getInsetsForDispatch(mainWindow); final InsetsState insetsState = new InsetsState(insetsPolicy.getInsetsForDispatch(mainWindow)); mergeInsetsSources(insetsState, mainWindow.getRequestedInsetsState()); final Rect systemBarInsets = getSystemBarInsets(mainWindow.getFrameLw(), insetsState); final SystemBarBackgroundPainter decorPainter = new SystemBarBackgroundPainter(attrs.flags, attrs.privateFlags, attrs.systemUiVisibility, task.getTaskDescription(), Loading Loading @@ -600,6 +603,15 @@ class TaskSnapshotController { return 0; } static void mergeInsetsSources(InsetsState base, InsetsState other) { for (@InternalInsetsType int type = 0; type < InsetsState.SIZE; type++) { final InsetsSource source = other.peekSource(type); if (source != null) { base.addSource(source); } } } static Rect getSystemBarInsets(Rect frame, InsetsState state) { return state.calculateInsets(frame, null /* ignoringVisibilityState */, false /* isScreenRound */, false /* alwaysConsumeSystemBars */, Loading services/core/java/com/android/server/wm/TaskSnapshotSurface.java +4 −1 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ import static com.android.internal.policy.DecorView.STATUS_BAR_COLOR_VIEW_ATTRIB import static com.android.internal.policy.DecorView.getNavigationBarRect; import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_STARTING_WINDOW; import static com.android.server.wm.TaskSnapshotController.getSystemBarInsets; import static com.android.server.wm.TaskSnapshotController.mergeInsetsSources; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; Loading Loading @@ -243,7 +244,9 @@ class TaskSnapshotSurface implements StartingSurface { final InsetsPolicy insetsPolicy = topFullscreenOpaqueWindow.getDisplayContent() .getInsetsPolicy(); insetsState = insetsPolicy.getInsetsForDispatch(topFullscreenOpaqueWindow); insetsState = new InsetsState(insetsPolicy.getInsetsForDispatch(topFullscreenOpaqueWindow)); mergeInsetsSources(insetsState, topFullscreenOpaqueWindow.getRequestedInsetsState()); } try { final int res = session.addToDisplay(window, window.mSeq, layoutParams, Loading Loading
services/core/java/com/android/server/wm/TaskSnapshotController.java +13 −1 Original line number Diff line number Diff line Loading @@ -40,6 +40,7 @@ import android.util.ArraySet; import android.util.Slog; import android.view.InsetsSource; import android.view.InsetsState; import android.view.InsetsState.InternalInsetsType; import android.view.SurfaceControl; import android.view.ThreadedRenderer; import android.view.WindowInsets; Loading Loading @@ -480,7 +481,9 @@ class TaskSnapshotController { task.getTaskDescription().getBackgroundColor(), 255); final LayoutParams attrs = mainWindow.getAttrs(); final InsetsPolicy insetsPolicy = mainWindow.getDisplayContent().getInsetsPolicy(); final InsetsState insetsState = insetsPolicy.getInsetsForDispatch(mainWindow); final InsetsState insetsState = new InsetsState(insetsPolicy.getInsetsForDispatch(mainWindow)); mergeInsetsSources(insetsState, mainWindow.getRequestedInsetsState()); final Rect systemBarInsets = getSystemBarInsets(mainWindow.getFrameLw(), insetsState); final SystemBarBackgroundPainter decorPainter = new SystemBarBackgroundPainter(attrs.flags, attrs.privateFlags, attrs.systemUiVisibility, task.getTaskDescription(), Loading Loading @@ -600,6 +603,15 @@ class TaskSnapshotController { return 0; } static void mergeInsetsSources(InsetsState base, InsetsState other) { for (@InternalInsetsType int type = 0; type < InsetsState.SIZE; type++) { final InsetsSource source = other.peekSource(type); if (source != null) { base.addSource(source); } } } static Rect getSystemBarInsets(Rect frame, InsetsState state) { return state.calculateInsets(frame, null /* ignoringVisibilityState */, false /* isScreenRound */, false /* alwaysConsumeSystemBars */, Loading
services/core/java/com/android/server/wm/TaskSnapshotSurface.java +4 −1 Original line number Diff line number Diff line Loading @@ -42,6 +42,7 @@ import static com.android.internal.policy.DecorView.STATUS_BAR_COLOR_VIEW_ATTRIB import static com.android.internal.policy.DecorView.getNavigationBarRect; import static com.android.server.wm.ProtoLogGroup.WM_DEBUG_STARTING_WINDOW; import static com.android.server.wm.TaskSnapshotController.getSystemBarInsets; import static com.android.server.wm.TaskSnapshotController.mergeInsetsSources; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME; import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM; Loading Loading @@ -243,7 +244,9 @@ class TaskSnapshotSurface implements StartingSurface { final InsetsPolicy insetsPolicy = topFullscreenOpaqueWindow.getDisplayContent() .getInsetsPolicy(); insetsState = insetsPolicy.getInsetsForDispatch(topFullscreenOpaqueWindow); insetsState = new InsetsState(insetsPolicy.getInsetsForDispatch(topFullscreenOpaqueWindow)); mergeInsetsSources(insetsState, topFullscreenOpaqueWindow.getRequestedInsetsState()); } try { final int res = session.addToDisplay(window, window.mSeq, layoutParams, Loading