diff options
| -rw-r--r-- | core/java/android/view/SurfaceControl.java | 5 | ||||
| -rw-r--r-- | core/java/android/view/WindowManager.java | 6 | ||||
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowSurfacePlacer.java | 5 |
3 files changed, 14 insertions, 2 deletions
diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java index 3b1545696347..22329f4e772b 100644 --- a/core/java/android/view/SurfaceControl.java +++ b/core/java/android/view/SurfaceControl.java @@ -16,10 +16,13 @@ package android.view; +import static android.view.WindowManager.LayoutParams.INVALID_WINDOW_TYPE; + import android.graphics.Bitmap; import android.graphics.GraphicBuffer; import android.graphics.Rect; import android.graphics.Region; +import android.os.Binder; import android.os.IBinder; import android.util.Log; import android.view.Surface.OutOfResourcesException; @@ -302,7 +305,7 @@ public class SurfaceControl { public SurfaceControl(SurfaceSession session, String name, int w, int h, int format, int flags) throws OutOfResourcesException { - this(session, name, w, h, format, flags, null, -1, -1); + this(session, name, w, h, format, flags, null, INVALID_WINDOW_TYPE, Binder.getCallingUid()); } public SurfaceControl(SurfaceSession session, String name, int w, int h, int format, int flags, diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java index 8445b37b8133..3f91476ac109 100644 --- a/core/java/android/view/WindowManager.java +++ b/core/java/android/view/WindowManager.java @@ -743,6 +743,12 @@ public interface WindowManager extends ViewManager { public static final int LAST_SYSTEM_WINDOW = 2999; /** + * @hide + * Used internally when there is no suitable type available. + */ + public static final int INVALID_WINDOW_TYPE = -1; + + /** * Return true if the window type is an alert window. * * @param type The window type. diff --git a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java index ddd1ca5c1aec..e576f2f4e9ed 100644 --- a/services/core/java/com/android/server/wm/WindowSurfacePlacer.java +++ b/services/core/java/com/android/server/wm/WindowSurfacePlacer.java @@ -41,6 +41,7 @@ import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.PixelFormat; import android.graphics.Rect; +import android.os.Binder; import android.os.Debug; import android.os.Trace; import android.util.ArraySet; @@ -683,9 +684,11 @@ class WindowSurfacePlacer { final DisplayInfo displayInfo = displayContent.getDisplayInfo(); // Create a new surface for the thumbnail + WindowState window = appToken.findMainWindow(); SurfaceControl surfaceControl = new SurfaceControl(mService.mFxSession, "thumbnail anim", dirty.width(), dirty.height(), - PixelFormat.TRANSLUCENT, SurfaceControl.HIDDEN); + PixelFormat.TRANSLUCENT, SurfaceControl.HIDDEN, + appToken.windowType, window.mOwnerUid); surfaceControl.setLayerStack(display.getLayerStack()); if (SHOW_TRANSACTIONS) { Slog.i(TAG, " THUMBNAIL " + surfaceControl + ": CREATE"); |