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

Commit 04b3a053 authored by Greg Kaiser's avatar Greg Kaiser
Browse files

Make MotionClassifier 'final'

MotionClassifier's destructor invokes requestExit(), which then
invokes the virtual method reset().  If MotionClassifier had a
child class, this call to reset() from the destructor would
not use the dynamic binding, and thus wouldn't invoke any
child class's reset() override.

To avoid this potentially buggy and confusing situation, we
preemptively declare MotionClassifier 'final', which prevents
it from having children classes in the first place.

Test: TreeHugger
Change-Id: Id78cfe657b4be952b629bc43ce99b6927c833f05
parent 684ee529
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -93,7 +93,7 @@ protected:
 * NotifyMotionArgs::videoFrames field to drive the classification decisions.
 * The HAL is called from a separate thread.
 */
class MotionClassifier : public MotionClassifierInterface {
class MotionClassifier final : public MotionClassifierInterface {
public:
    MotionClassifier(sp<android::hardware::input::classifier::V1_0::IInputClassifier> service);
    ~MotionClassifier();