summaryrefslogtreecommitdiffstats
path: root/services/inputflinger/InputDispatcher.h
diff options
context:
space:
mode:
Diffstat (limited to 'services/inputflinger/InputDispatcher.h')
-rw-r--r--services/inputflinger/InputDispatcher.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/services/inputflinger/InputDispatcher.h b/services/inputflinger/InputDispatcher.h
index 70b0a34..8c78a44 100644
--- a/services/inputflinger/InputDispatcher.h
+++ b/services/inputflinger/InputDispatcher.h
@@ -606,8 +606,9 @@ private:
struct Queue {
T* head;
T* tail;
+ uint32_t entryCount;
- inline Queue() : head(NULL), tail(NULL) {
+ inline Queue() : head(NULL), tail(NULL), entryCount(0) {
}
inline bool isEmpty() const {
@@ -615,6 +616,7 @@ private:
}
inline void enqueueAtTail(T* entry) {
+ entryCount++;
entry->prev = tail;
if (tail) {
tail->next = entry;
@@ -626,6 +628,7 @@ private:
}
inline void enqueueAtHead(T* entry) {
+ entryCount++;
entry->next = head;
if (head) {
head->prev = entry;
@@ -637,6 +640,7 @@ private:
}
inline void dequeue(T* entry) {
+ entryCount--;
if (entry->prev) {
entry->prev->next = entry->next;
} else {
@@ -650,6 +654,7 @@ private:
}
inline T* dequeueAtHead() {
+ entryCount--;
T* entry = head;
head = entry->next;
if (head) {
@@ -660,7 +665,9 @@ private:
return entry;
}
- uint32_t count() const;
+ uint32_t count() const {
+ return entryCount;
+ }
};
/* Specifies which events are to be canceled and why. */