summaryrefslogtreecommitdiffstats
path: root/include/ui
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
commit19dfc83c376d8f5ff3b128ee4c675790cffbc02d (patch)
tree06b41715a604ca7dc09cc852c28a8cd2354a0fee /include/ui
parent95037fb1a633f5bdeb4e0ece2d18a4974259c368 (diff)
downloadframeworks_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.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);