summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/soundtrigger_middleware/SoundTriggerMiddlewareValidation.java12
1 files changed, 11 insertions, 1 deletions
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 008933f643dd..da1b7f3113c4 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<Integer, Set<ModuleService>> 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("=========================================");