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

Commit ea36ee7c authored by Derek Wu's avatar Derek Wu
Browse files

Add fixed read only flag to enable jerk prediction pruning

For now this flag will simply allow all motion predictions (no-op).

Test: atest libinput_tests
Bug: 266747654
Change-Id: If54b924223255c068fff26f8b6f21cdd31799aea
parent ae9b557b
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -22,17 +22,21 @@
#include <cmath>
#include <cstddef>
#include <cstdint>
#include <limits>
#include <string>
#include <vector>

#include <android-base/logging.h>
#include <android-base/strings.h>
#include <android/input.h>
#include <com_android_input_flags.h>

#include <attestation/HmacKeyManager.h>
#include <ftl/enum.h>
#include <input/TfLiteMotionPredictor.h>

namespace input_flags = com::android::input::flags;

namespace android {
namespace {

@@ -197,7 +201,14 @@ std::unique_ptr<MotionEvent> MotionPredictor::predict(nsecs_t timestamp) {
            // device starts to speed up, but avoids producing noisy predictions as it slows down.
            break;
        }
        // TODO(b/266747654): Stop predictions if confidence is < some threshold.
        if (input_flags::enable_prediction_pruning_via_jerk_thresholding()) {
            // TODO(b/266747654): Stop predictions if confidence is < some threshold
            // Arbitrarily high pruning index, will correct once jerk thresholding is implemented.
            const size_t upperBoundPredictionIndex = std::numeric_limits<size_t>::max();
            if (i > upperBoundPredictionIndex) {
                break;
            }
        }

        const TfLiteMotionPredictorSample::Point predictedPoint =
                convertPrediction(axisFrom, axisTo, predictedR[i], predictedPhi[i]);
+9 −0
Original line number Diff line number Diff line
@@ -128,3 +128,12 @@ flag {
  description: "Enable fling scrolling to be stopped by putting a finger on the touchpad again"
  bug: "281106755"
}

flag {
  name: "enable_prediction_pruning_via_jerk_thresholding"
  namespace: "input"
  description: "Enable prediction pruning based on jerk thresholds."
  bug: "266747654"
  is_fixed_read_only: true

}