diff options
author | Albert Chaulk <achaulk@google.com> | 2017-05-11 15:52:48 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2017-05-11 15:52:48 +0000 |
commit | bcee3cc3fa57263cf253dd652e4d90c030c49b5a (patch) | |
tree | 11da82477f16b5240265d03c3a238df16daba0f9 | |
parent | c4d6ea4100caa7fb3c3d86d153d1afab6205bd76 (diff) | |
parent | eccbbe4ca260deed4eaed9f6710b702f996d7f65 (diff) |
Merge "Propagate UIDs for all SurfaceControl instances" into oc-dev am: 6c34dd58f6
am: eccbbe4ca2
Change-Id: I350bb7899eaa1e9919d6fdf8079afd11be4e9918
-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"); |