Avoid creating sp<> from a pointer

The recommended practice is to use sp<>::make,
sp<>::fromExisting, or making copies from other sp<>.
This is to avoid various edge cases with RefBase.

Set ANDROID_UTILS_REF_BASE_DISABLE_IMPLICIT_CONSTRUCTION for
libaudioeffect_jni to catch non-recommended usages
as compile time.

Bug: 243364224
Test: m
Change-Id: I697b33bd701b324da44ae4694ca7a1ec0e9afe77
diff --git a/media/jni/audioeffect/Visualizer.h b/media/jni/audioeffect/Visualizer.h
index 3d5d74a..b38c01f 100644
--- a/media/jni/audioeffect/Visualizer.h
+++ b/media/jni/audioeffect/Visualizer.h
@@ -157,7 +157,8 @@
     class CaptureThread : public Thread
     {
     public:
-        CaptureThread(Visualizer* visualizer, uint32_t captureRate, bool bCanCallJava = false);
+        CaptureThread(const sp<Visualizer>& visualizer,
+                uint32_t captureRate, bool bCanCallJava = false);
 
     private:
         friend class Visualizer;