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/visualizer/VisualizerSw.h b/audio/aidl/default/visualizer/VisualizerSw.h
index e9baece..21101dd 100644
--- a/audio/aidl/default/visualizer/VisualizerSw.h
+++ b/audio/aidl/default/visualizer/VisualizerSw.h
@@ -26,7 +26,7 @@
 
 namespace aidl::android::hardware::audio::effect {
 
-class VisualizerSwContext : public EffectContext {
+class VisualizerSwContext final : public EffectContext {
   public:
     VisualizerSwContext(int statusDepth, const Parameter::Common& common)
         : EffectContext(statusDepth, common) {
@@ -35,7 +35,7 @@
     // TODO: add specific context here
 };
 
-class VisualizerSw : public EffectImpl {
+class VisualizerSw final : public EffectImpl {
   public:
     VisualizerSw() { LOG(DEBUG) << __func__; }
     ~VisualizerSw() {