Use final specifier for all effects implementation classes.

Avoid inherit from effect implementation class, all
implmentations should inherit EffectImpl directly.

Bug: 255361653
Test: atest VtsHalAudioEffectTargetTest
atest VtsHalAudioEffectFactoryTargetTest
atest VtsHalEqualizerTargetTest

Change-Id: I3c3bd990423be21f2c79f0e797d71b2d7f850dca
diff --git a/audio/aidl/default/virtualizer/VirtualizerSw.h b/audio/aidl/default/virtualizer/VirtualizerSw.h
index 86f442d..da1998b 100644
--- a/audio/aidl/default/virtualizer/VirtualizerSw.h
+++ b/audio/aidl/default/virtualizer/VirtualizerSw.h
@@ -26,7 +26,7 @@
 
 namespace aidl::android::hardware::audio::effect {
 
-class VirtualizerSwContext : public EffectContext {
+class VirtualizerSwContext final : public EffectContext {
   public:
     VirtualizerSwContext(int statusDepth, const Parameter::Common& common)
         : EffectContext(statusDepth, common) {
@@ -35,7 +35,7 @@
     // TODO: add specific context here
 };
 
-class VirtualizerSw : public EffectImpl {
+class VirtualizerSw final : public EffectImpl {
   public:
     VirtualizerSw() { LOG(DEBUG) << __func__; }
     ~VirtualizerSw() {