Loading services/core/java/com/android/server/wm/AbsAppSnapshotController.java +2 −17 Original line number Diff line number Diff line Loading @@ -43,7 +43,6 @@ import android.view.InsetsState; import android.view.SurfaceControl; import android.view.ThreadedRenderer; import android.view.WindowInsets; import android.view.WindowInsetsController; import android.view.WindowManager; import android.window.ScreenCapture; import android.window.SnapshotDrawerUtils; Loading Loading @@ -137,7 +136,6 @@ abstract class AbsAppSnapshotController<TYPE extends WindowContainer, } abstract ActivityRecord getTopActivity(TYPE source); abstract WindowState getTopFullscreenWindow(TYPE source); abstract ActivityManager.TaskDescription getTaskDescription(TYPE source); /** * Find the window for a given task to take a snapshot. Top child of the task is usually the one Loading Loading @@ -331,7 +329,7 @@ abstract class AbsAppSnapshotController<TYPE extends WindowContainer, builder.setPixelFormat(pixelFormat); builder.setIsTranslucent(isTranslucent); builder.setWindowingMode(source.getWindowingMode()); builder.setAppearance(getAppearance(source)); builder.setAppearance(mainWindow.mAttrs.insetsFlags.appearance); final Configuration taskConfig = activity.getTask().getConfiguration(); final int displayRotation = taskConfig.windowConfiguration.getDisplayRotation(); Loading Loading @@ -450,7 +448,7 @@ abstract class AbsAppSnapshotController<TYPE extends WindowContainer, mainWindow.getWindowConfiguration().getRotation(), new Point(taskWidth, taskHeight), contentInsets, letterboxInsets, false /* isLowResolution */, false /* isRealSnapshot */, source.getWindowingMode(), getAppearance(source), false /* isTranslucent */, false /* hasImeSurface */); attrs.insetsFlags.appearance, false /* isTranslucent */, false /* hasImeSurface */); return validateSnapshot(taskSnapshot); } Loading @@ -459,19 +457,6 @@ abstract class AbsAppSnapshotController<TYPE extends WindowContainer, frame, WindowInsets.Type.systemBars(), false /* ignoreVisibility */).toRect(); } /** * @return The {@link WindowInsetsController.Appearance} flags for the top main app window in * the given {@param TYPE}. */ @WindowInsetsController.Appearance private int getAppearance(TYPE source) { final WindowState topFullscreenWindow = getTopFullscreenWindow(source); if (topFullscreenWindow != null) { return topFullscreenWindow.mAttrs.insetsFlags.appearance; } return 0; } /** * Called when an {@link ActivityRecord} has been removed. */ Loading services/core/java/com/android/server/wm/ActivitySnapshotController.java +0 −4 Original line number Diff line number Diff line Loading @@ -590,10 +590,6 @@ class ActivitySnapshotController extends AbsAppSnapshotController<ActivityRecord return activity; } WindowState getTopFullscreenWindow(ActivityRecord activity) { return activity.findMainWindow(); } @Override ActivityManager.TaskDescription getTaskDescription(ActivityRecord object) { return object.taskDescription; Loading services/core/java/com/android/server/wm/StartingSurfaceController.java +1 −2 Original line number Diff line number Diff line Loading @@ -148,8 +148,7 @@ public class StartingSurfaceController { } // For snapshot surface, the top activity could be trampoline activity, so here should // search for top fullscreen activity in the task. final WindowState mainWindow = task .getTopFullscreenMainWindow(false /* includeStartingApp */); final WindowState mainWindow = task.getTopFullscreenMainWindow(); if (mainWindow == null) { Slog.w(TAG, "TaskSnapshotSurface.create: no main window in " + activity); return null; Loading services/core/java/com/android/server/wm/Task.java +4 −13 Original line number Diff line number Diff line Loading @@ -3007,17 +3007,9 @@ class Task extends TaskFragment { return r.getTask().mTaskId != taskId && r.token != notTop && r.canBeTopRunning(); } WindowState getTopFullscreenMainWindow(boolean includeStartingApp) { final WindowState[] candidate = new WindowState[1]; getActivity((r) -> { final WindowState win = r.findMainWindow(includeStartingApp); if (win != null && win.mAttrs.isFullscreen()) { candidate[0] = win; return true; } return false; }); return candidate[0]; @Nullable WindowState getTopFullscreenMainWindow() { return getWindow(w -> w.mAttrs.type == TYPE_BASE_APPLICATION && w.mAttrs.isFullscreen()); } /** Loading Loading @@ -3593,8 +3585,7 @@ class Task extends TaskFragment { // starting window because persisted configuration does not effect to Task. info.taskInfo.configuration.setTo(activity.getConfiguration()); if (!Flags.drawSnapshotAspectRatioMatch()) { final WindowState mainWindow = getTopFullscreenMainWindow(false /* includeStartingApp */); final WindowState mainWindow = getTopFullscreenMainWindow(); if (mainWindow != null) { info.topOpaqueWindowInsetsState = mainWindow.getInsetsStateWithVisibilityOverride(); Loading services/core/java/com/android/server/wm/TaskSnapshotController.java +0 −5 Original line number Diff line number Diff line Loading @@ -266,11 +266,6 @@ class TaskSnapshotController extends AbsAppSnapshotController<Task, TaskSnapshot return source.getTopMostActivity(); } @Override WindowState getTopFullscreenWindow(Task source) { return source.getTopFullscreenMainWindow(true /* includeStartingApp */); } @Override ActivityManager.TaskDescription getTaskDescription(Task source) { return source.getTaskDescription(); Loading Loading
services/core/java/com/android/server/wm/AbsAppSnapshotController.java +2 −17 Original line number Diff line number Diff line Loading @@ -43,7 +43,6 @@ import android.view.InsetsState; import android.view.SurfaceControl; import android.view.ThreadedRenderer; import android.view.WindowInsets; import android.view.WindowInsetsController; import android.view.WindowManager; import android.window.ScreenCapture; import android.window.SnapshotDrawerUtils; Loading Loading @@ -137,7 +136,6 @@ abstract class AbsAppSnapshotController<TYPE extends WindowContainer, } abstract ActivityRecord getTopActivity(TYPE source); abstract WindowState getTopFullscreenWindow(TYPE source); abstract ActivityManager.TaskDescription getTaskDescription(TYPE source); /** * Find the window for a given task to take a snapshot. Top child of the task is usually the one Loading Loading @@ -331,7 +329,7 @@ abstract class AbsAppSnapshotController<TYPE extends WindowContainer, builder.setPixelFormat(pixelFormat); builder.setIsTranslucent(isTranslucent); builder.setWindowingMode(source.getWindowingMode()); builder.setAppearance(getAppearance(source)); builder.setAppearance(mainWindow.mAttrs.insetsFlags.appearance); final Configuration taskConfig = activity.getTask().getConfiguration(); final int displayRotation = taskConfig.windowConfiguration.getDisplayRotation(); Loading Loading @@ -450,7 +448,7 @@ abstract class AbsAppSnapshotController<TYPE extends WindowContainer, mainWindow.getWindowConfiguration().getRotation(), new Point(taskWidth, taskHeight), contentInsets, letterboxInsets, false /* isLowResolution */, false /* isRealSnapshot */, source.getWindowingMode(), getAppearance(source), false /* isTranslucent */, false /* hasImeSurface */); attrs.insetsFlags.appearance, false /* isTranslucent */, false /* hasImeSurface */); return validateSnapshot(taskSnapshot); } Loading @@ -459,19 +457,6 @@ abstract class AbsAppSnapshotController<TYPE extends WindowContainer, frame, WindowInsets.Type.systemBars(), false /* ignoreVisibility */).toRect(); } /** * @return The {@link WindowInsetsController.Appearance} flags for the top main app window in * the given {@param TYPE}. */ @WindowInsetsController.Appearance private int getAppearance(TYPE source) { final WindowState topFullscreenWindow = getTopFullscreenWindow(source); if (topFullscreenWindow != null) { return topFullscreenWindow.mAttrs.insetsFlags.appearance; } return 0; } /** * Called when an {@link ActivityRecord} has been removed. */ Loading
services/core/java/com/android/server/wm/ActivitySnapshotController.java +0 −4 Original line number Diff line number Diff line Loading @@ -590,10 +590,6 @@ class ActivitySnapshotController extends AbsAppSnapshotController<ActivityRecord return activity; } WindowState getTopFullscreenWindow(ActivityRecord activity) { return activity.findMainWindow(); } @Override ActivityManager.TaskDescription getTaskDescription(ActivityRecord object) { return object.taskDescription; Loading
services/core/java/com/android/server/wm/StartingSurfaceController.java +1 −2 Original line number Diff line number Diff line Loading @@ -148,8 +148,7 @@ public class StartingSurfaceController { } // For snapshot surface, the top activity could be trampoline activity, so here should // search for top fullscreen activity in the task. final WindowState mainWindow = task .getTopFullscreenMainWindow(false /* includeStartingApp */); final WindowState mainWindow = task.getTopFullscreenMainWindow(); if (mainWindow == null) { Slog.w(TAG, "TaskSnapshotSurface.create: no main window in " + activity); return null; Loading
services/core/java/com/android/server/wm/Task.java +4 −13 Original line number Diff line number Diff line Loading @@ -3007,17 +3007,9 @@ class Task extends TaskFragment { return r.getTask().mTaskId != taskId && r.token != notTop && r.canBeTopRunning(); } WindowState getTopFullscreenMainWindow(boolean includeStartingApp) { final WindowState[] candidate = new WindowState[1]; getActivity((r) -> { final WindowState win = r.findMainWindow(includeStartingApp); if (win != null && win.mAttrs.isFullscreen()) { candidate[0] = win; return true; } return false; }); return candidate[0]; @Nullable WindowState getTopFullscreenMainWindow() { return getWindow(w -> w.mAttrs.type == TYPE_BASE_APPLICATION && w.mAttrs.isFullscreen()); } /** Loading Loading @@ -3593,8 +3585,7 @@ class Task extends TaskFragment { // starting window because persisted configuration does not effect to Task. info.taskInfo.configuration.setTo(activity.getConfiguration()); if (!Flags.drawSnapshotAspectRatioMatch()) { final WindowState mainWindow = getTopFullscreenMainWindow(false /* includeStartingApp */); final WindowState mainWindow = getTopFullscreenMainWindow(); if (mainWindow != null) { info.topOpaqueWindowInsetsState = mainWindow.getInsetsStateWithVisibilityOverride(); Loading
services/core/java/com/android/server/wm/TaskSnapshotController.java +0 −5 Original line number Diff line number Diff line Loading @@ -266,11 +266,6 @@ class TaskSnapshotController extends AbsAppSnapshotController<Task, TaskSnapshot return source.getTopMostActivity(); } @Override WindowState getTopFullscreenWindow(Task source) { return source.getTopFullscreenMainWindow(true /* includeStartingApp */); } @Override ActivityManager.TaskDescription getTaskDescription(Task source) { return source.getTaskDescription(); Loading