From 2d3f159aa9622e05a18e7f93cecd57ad673955ae Mon Sep 17 00:00:00 2001 From: Jeff Brown Date: Fri, 15 Oct 2010 00:54:27 -0700 Subject: Add support for secure system overlays. (DO NOT MERGE) This change adds a new window type for secure system overlays created by the system itself from non-secure system overlays that might be created by applications that have the system alert permission. Secure views ignore the presence of secure system overlays. Bug: 3098519 Change-Id: I8f8398f4fdeb0469e5d71124c21bedf121bd8c07 --- core/java/android/view/WindowManager.java | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'core') diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java index 9c4aefe..091844e 100644 --- a/core/java/android/view/WindowManager.java +++ b/core/java/android/view/WindowManager.java @@ -163,7 +163,8 @@ public interface WindowManager extends ViewManager { @ViewDebug.IntToString(from = TYPE_KEYGUARD_DIALOG, to = "TYPE_KEYGUARD_DIALOG"), @ViewDebug.IntToString(from = TYPE_SYSTEM_ERROR, to = "TYPE_SYSTEM_ERROR"), @ViewDebug.IntToString(from = TYPE_INPUT_METHOD, to = "TYPE_INPUT_METHOD"), - @ViewDebug.IntToString(from = TYPE_INPUT_METHOD_DIALOG, to = "TYPE_INPUT_METHOD_DIALOG") + @ViewDebug.IntToString(from = TYPE_INPUT_METHOD_DIALOG, to = "TYPE_INPUT_METHOD_DIALOG"), + @ViewDebug.IntToString(from = TYPE_SECURE_SYSTEM_OVERLAY, to = "TYPE_SECURE_SYSTEM_OVERLAY") }) public int type; @@ -341,7 +342,19 @@ public interface WindowManager extends ViewManager { * Window type: panel that slides out from the status bar */ public static final int TYPE_STATUS_BAR_PANEL = FIRST_SYSTEM_WINDOW+14; - + + /** + * Window type: secure system overlay windows, which need to be displayed + * on top of everything else. These windows must not take input + * focus, or they will interfere with the keyguard. + * + * This is exactly like {@link #TYPE_SYSTEM_OVERLAY} except that only the + * system itself is allowed to create these overlays. Applications cannot + * obtain permission to create secure system overlays. + * @hide + */ + public static final int TYPE_SECURE_SYSTEM_OVERLAY = FIRST_SYSTEM_WINDOW+15; + /** * End of types of system windows. */ -- cgit v1.1