diff options
author | Jeff Brown <jeffbrown@google.com> | 2010-10-15 00:54:27 -0700 |
---|---|---|
committer | Jeff Brown <jeffbrown@google.com> | 2010-10-15 16:03:35 -0700 |
commit | 2d3f159aa9622e05a18e7f93cecd57ad673955ae (patch) | |
tree | 8df18f80f44133f19ce9e669a36bdd785b31460a /policy | |
parent | c9f7890a203a013646650a695157277df81b6a17 (diff) | |
download | frameworks_base-2d3f159aa9622e05a18e7f93cecd57ad673955ae.zip frameworks_base-2d3f159aa9622e05a18e7f93cecd57ad673955ae.tar.gz frameworks_base-2d3f159aa9622e05a18e7f93cecd57ad673955ae.tar.bz2 |
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
Diffstat (limited to 'policy')
-rwxr-xr-x | policy/src/com/android/internal/policy/impl/PhoneWindowManager.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java index 3cf4360..43936a4 100755 --- a/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java +++ b/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java @@ -93,6 +93,7 @@ import static android.view.WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG; import static android.view.WindowManager.LayoutParams.TYPE_PHONE; import static android.view.WindowManager.LayoutParams.TYPE_PRIORITY_PHONE; import static android.view.WindowManager.LayoutParams.TYPE_SEARCH_BAR; +import static android.view.WindowManager.LayoutParams.TYPE_SECURE_SYSTEM_OVERLAY; import static android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR; import static android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL; import static android.view.WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG; @@ -153,6 +154,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { static final int KEYGUARD_DIALOG_LAYER = 15; // things in here CAN NOT take focus, but are shown on top of everything else. static final int SYSTEM_OVERLAY_LAYER = 16; + static final int SECURE_SYSTEM_OVERLAY_LAYER = 17; static final int APPLICATION_MEDIA_SUBLAYER = -2; static final int APPLICATION_MEDIA_OVERLAY_SUBLAYER = -1; @@ -631,7 +633,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { WindowManager.LayoutParams lp = new WindowManager.LayoutParams( WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT); - lp.type = WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY; + lp.type = WindowManager.LayoutParams.TYPE_SECURE_SYSTEM_OVERLAY; lp.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE| WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE| @@ -727,6 +729,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { public void adjustWindowParamsLw(WindowManager.LayoutParams attrs) { switch (attrs.type) { case TYPE_SYSTEM_OVERLAY: + case TYPE_SECURE_SYSTEM_OVERLAY: case TYPE_TOAST: // These types of windows can't receive input events. attrs.flags |= WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE @@ -804,6 +807,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { return INPUT_METHOD_DIALOG_LAYER; case TYPE_SYSTEM_OVERLAY: return SYSTEM_OVERLAY_LAYER; + case TYPE_SECURE_SYSTEM_OVERLAY: + return SECURE_SYSTEM_OVERLAY_LAYER; case TYPE_PRIORITY_PHONE: return PRIORITY_PHONE_LAYER; case TYPE_TOAST: |