From e6ac0c57d7261d83870571c7198518998e0f1732 Mon Sep 17 00:00:00 2001 From: Atneya Nair Date: Wed, 3 Aug 2022 15:52:45 -0700 Subject: [PATCH] Remove SoundTriggerMiddleware death notification The death notifier for the middleware service is unnecessary - We don't use mService elsewhere (nor check its nullity) - We re-query the service upon each call Additionally, creating a new death notifier on each query is redundant, and results in memory leaks (since each notifier takes state, and we never unlink to death). Test: Compiles Bug: 237968209 Change-Id: Ib53ec65235d4284357e0f6649bb6f65b2de83b99 --- .../android/hardware/soundtrigger/SoundTrigger.java | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/core/java/android/hardware/soundtrigger/SoundTrigger.java b/core/java/android/hardware/soundtrigger/SoundTrigger.java index a9d665c8b8a5a..621eab558337f 100644 --- a/core/java/android/hardware/soundtrigger/SoundTrigger.java +++ b/core/java/android/hardware/soundtrigger/SoundTrigger.java @@ -1963,7 +1963,6 @@ public class SoundTrigger { } private static Object mServiceLock = new Object(); - private static ISoundTriggerMiddlewareService mService; /** * Translate an exception thrown from interaction with the underlying service to an error code. @@ -2217,20 +2216,12 @@ public class SoundTrigger { binder = ServiceManager.getServiceOrThrow( Context.SOUND_TRIGGER_MIDDLEWARE_SERVICE); - binder.linkToDeath(() -> { - synchronized (mServiceLock) { - mService = null; - } - }, 0); - mService = ISoundTriggerMiddlewareService.Stub.asInterface(binder); - break; + return ISoundTriggerMiddlewareService.Stub.asInterface(binder); } catch (Exception e) { Log.e(TAG, "Failed to bind to soundtrigger service", e); } } - return mService; } - } /**