From d0c05a1bc275a92aca6900748af4a07dc75d77ef Mon Sep 17 00:00:00 2001 From: Ytai Ben-Tsvi Date: Thu, 2 Apr 2020 13:22:14 -0700 Subject: [PATCH] Add capture state to soundtrigger_middleware dump Bug: 153010000 Test: Manual verification Change-Id: I3d4673b34726f247d7e844b1d8fb91e94b52a2af --- .../SoundTriggerMiddlewareValidation.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation.java b/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation.java index 008933f643dd1..da1b7f3113c41 100644 --- a/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation.java +++ b/services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation.java @@ -114,6 +114,8 @@ public class SoundTriggerMiddlewareValidation implements ISoundTriggerMiddleware DEAD }; + private Boolean mCaptureState; + private final @NonNull ISoundTriggerMiddlewareInternal mDelegate; private final @NonNull Context mContext; private Map> mModules; @@ -224,6 +226,11 @@ public class SoundTriggerMiddlewareValidation implements ISoundTriggerMiddleware mDelegate.setCaptureState(active); } catch (Exception e) { throw handleException(e); + } finally { + // It is safe to lock here - local operation. + synchronized (this) { + mCaptureState = active; + } } } @@ -274,8 +281,11 @@ public class SoundTriggerMiddlewareValidation implements ISoundTriggerMiddleware "This implementation is not inteded to be used directly with Binder."); } - @Override public void dump(PrintWriter pw) { + @Override + public void dump(PrintWriter pw) { synchronized (this) { + pw.printf("Capture state is %s\n", mCaptureState == null ? "uninitialized" + : (mCaptureState ? "active" : "inactive")); if (mModules != null) { for (int handle : mModules.keySet()) { pw.println("=========================================");