Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dd4d938e authored by Satoshi Kataoka's avatar Satoshi Kataoka
Browse files

assert when the touch event goes back to the future

bug: 7911739

Change-Id: I29db6a5cb6749999666b1c53857ea61bcc19b8f1
parent 8315e816
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -93,6 +93,7 @@ static AK_FORCE_INLINE void dumpWord(const int *word, const int length) {
#include <execinfo.h>
#include <stdlib.h>

#define DO_ASSERT_TEST
#define ASSERT(success) do { if (!(success)) { showStackTrace(); assert(success);} } while (0)
#define SHOW_STACK_TRACE do { showStackTrace(); } while (0)

@@ -111,6 +112,7 @@ static inline void showStackTrace() {
}
#else
#include <cassert>
#define DO_ASSERT_TEST
#define ASSERT(success) assert(success)
#define SHOW_STACK_TRACE
#endif
@@ -120,6 +122,7 @@ static inline void showStackTrace() {
#define AKLOGI(fmt, ...)
#define DUMP_RESULT(words, frequencies, maxWordCount, maxWordLength)
#define DUMP_WORD(word, length)
#undef DO_ASSERT_TEST
#define ASSERT(success)
#define SHOW_STACK_TRACE
#define INTS_TO_CHARS(input, length, output)
+9 −0
Original line number Diff line number Diff line
@@ -123,6 +123,15 @@ void ProximityInfoState::initInputParams(const int pointerId, const float maxPoi
                }
            }
        }
#ifdef DO_ASSERT_TEST
        if (times) {
            for (int i = 0; i < inputSize; ++i) {
                if (i > 0) {
                    ASSERT(times[i] >= times[i - 1]);
                }
            }
        }
#endif
        const bool proximityOnly = !isGeometric && (xCoordinates[0] < 0 || yCoordinates[0] < 0);
        int lastInputIndex = pushTouchPointStartIndex;
        for (int i = lastInputIndex; i < inputSize; ++i) {