summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/wm/AbsAppSnapshotController.java19
-rw-r--r--services/core/java/com/android/server/wm/ActivitySnapshotController.java4
-rw-r--r--services/core/java/com/android/server/wm/StartingSurfaceController.java3
-rw-r--r--services/core/java/com/android/server/wm/Task.java17
-rw-r--r--services/core/java/com/android/server/wm/TaskSnapshotController.java5
5 files changed, 7 insertions, 41 deletions
diff --git a/services/core/java/com/android/server/wm/AbsAppSnapshotController.java b/services/core/java/com/android/server/wm/AbsAppSnapshotController.java
index 09de01e88c9e..68f37380659e 100644
--- a/services/core/java/com/android/server/wm/AbsAppSnapshotController.java
+++ b/services/core/java/com/android/server/wm/AbsAppSnapshotController.java
@@ -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;
@@ -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
@@ -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();
@@ -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);
}
@@ -460,19 +458,6 @@ abstract class AbsAppSnapshotController<TYPE extends WindowContainer,
}
/**
- * @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.
*/
void onAppRemoved(ActivityRecord activity) {
diff --git a/services/core/java/com/android/server/wm/ActivitySnapshotController.java b/services/core/java/com/android/server/wm/ActivitySnapshotController.java
index 48bc813b0a38..aa63393b898b 100644
--- a/services/core/java/com/android/server/wm/ActivitySnapshotController.java
+++ b/services/core/java/com/android/server/wm/ActivitySnapshotController.java
@@ -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;
diff --git a/services/core/java/com/android/server/wm/StartingSurfaceController.java b/services/core/java/com/android/server/wm/StartingSurfaceController.java
index a1e6701f75fd..2da1fec49f91 100644
--- a/services/core/java/com/android/server/wm/StartingSurfaceController.java
+++ b/services/core/java/com/android/server/wm/StartingSurfaceController.java
@@ -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;
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java
index 259ca83f47e0..d96d3ef3ef12 100644
--- a/services/core/java/com/android/server/wm/Task.java
+++ b/services/core/java/com/android/server/wm/Task.java
@@ -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());
}
/**
@@ -3585,8 +3577,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();
diff --git a/services/core/java/com/android/server/wm/TaskSnapshotController.java b/services/core/java/com/android/server/wm/TaskSnapshotController.java
index 57c7753d5c4b..d4b12b63fe1c 100644
--- a/services/core/java/com/android/server/wm/TaskSnapshotController.java
+++ b/services/core/java/com/android/server/wm/TaskSnapshotController.java
@@ -261,11 +261,6 @@ class TaskSnapshotController extends AbsAppSnapshotController<Task, TaskSnapshot
}
@Override
- WindowState getTopFullscreenWindow(Task source) {
- return source.getTopFullscreenMainWindow(true /* includeStartingApp */);
- }
-
- @Override
ActivityManager.TaskDescription getTaskDescription(Task source) {
return source.getTaskDescription();
}