summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJeff Brown <jeffbrown@google.com>2010-10-05 12:26:23 -0700
committerJeff Brown <jeffbrown@google.com>2010-10-05 12:26:23 -0700
commit35cf0e9854886c7d1a76be7c64ba9d78dfca649c (patch)
tree7f7278dcb9a27bd292132b990aa16eb944bfe001 /include
parentf39ed4b552dd20ba6ac518a5cf46280f79f20630 (diff)
downloadframeworks_native-35cf0e9854886c7d1a76be7c64ba9d78dfca649c.zip
frameworks_native-35cf0e9854886c7d1a76be7c64ba9d78dfca649c.tar.gz
frameworks_native-35cf0e9854886c7d1a76be7c64ba9d78dfca649c.tar.bz2
Make secure views tolerate IME overlays.
Change-Id: I3cf09b9d91045f4d9c558b4aace482a7b0bbd3d8
Diffstat (limited to 'include')
-rw-r--r--include/ui/InputDispatcher.h11
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);