diff options
author | Jeff Brown <jeffbrown@google.com> | 2010-10-05 12:26:23 -0700 |
---|---|---|
committer | Jeff Brown <jeffbrown@google.com> | 2010-10-05 12:26:23 -0700 |
commit | 19dfc83c376d8f5ff3b128ee4c675790cffbc02d (patch) | |
tree | 06b41715a604ca7dc09cc852c28a8cd2354a0fee /include/ui | |
parent | 95037fb1a633f5bdeb4e0ece2d18a4974259c368 (diff) | |
download | frameworks_base-19dfc83c376d8f5ff3b128ee4c675790cffbc02d.zip frameworks_base-19dfc83c376d8f5ff3b128ee4c675790cffbc02d.tar.gz frameworks_base-19dfc83c376d8f5ff3b128ee4c675790cffbc02d.tar.bz2 |
Make secure views tolerate IME overlays.
Change-Id: I3cf09b9d91045f4d9c558b4aace482a7b0bbd3d8
Diffstat (limited to 'include/ui')
-rw-r--r-- | include/ui/InputDispatcher.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/include/ui/InputDispatcher.h b/include/ui/InputDispatcher.h index cc16012..47c5326 100644 --- a/include/ui/InputDispatcher.h +++ b/include/ui/InputDispatcher.h @@ -212,8 +212,15 @@ struct InputWindow { int32_t ownerPid; int32_t ownerUid; - bool visibleFrameIntersects(const InputWindow* other) const; bool touchableAreaContainsPoint(int32_t x, int32_t y) const; + bool frameContainsPoint(int32_t x, int32_t y) const; + + /* Returns true if the window is of a trusted type that is allowed to silently + * overlay other windows for the purpose of implementing the secure views feature. + * Trusted overlays, such as IME windows, can partly obscure other windows without causing + * motion events to be delivered to them with AMOTION_EVENT_FLAG_WINDOW_IS_OBSCURED. + */ + bool isTrustedOverlay() const; }; @@ -962,7 +969,7 @@ private: bool shouldPokeUserActivityForCurrentInputTargetsLocked(); void pokeUserActivityLocked(nsecs_t eventTime, int32_t eventType); bool checkInjectionPermission(const InputWindow* window, const InjectionState* injectionState); - bool isWindowObscuredLocked(const InputWindow* window); + bool isWindowObscuredAtPointLocked(const InputWindow* window, int32_t x, int32_t y) const; bool isWindowFinishedWithPreviousInputLocked(const InputWindow* window); String8 getApplicationWindowLabelLocked(const InputApplication* application, const InputWindow* window); |