From 971bd4c8d2081c55f59ca95bcfdcd9eeee691a0e Mon Sep 17 00:00:00 2001 From: Joanne Chung Date: Mon, 20 Feb 2023 19:37:59 +0800 Subject: [PATCH] Add missing trusted hotword remote exception metrics Bug: 268598205 Test: build pass Change-Id: Ie3e804285530de051f458d1a04f258fd0140e9e4 --- .../DspTrustedHotwordDetectorSession.java | 13 +++++++++++++ .../SoftwareTrustedHotwordDetectorSession.java | 14 ++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/DspTrustedHotwordDetectorSession.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/DspTrustedHotwordDetectorSession.java index e358d6be7434e..f9b5111f53487 100644 --- a/services/voiceinteraction/java/com/android/server/voiceinteraction/DspTrustedHotwordDetectorSession.java +++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/DspTrustedHotwordDetectorSession.java @@ -16,6 +16,7 @@ package com.android.server.voiceinteraction; +import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_EVENTS__EVENT__CALLBACK_ON_DETECTED_EXCEPTION; import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_EVENTS__EVENT__CALLBACK_ON_ERROR_EXCEPTION; import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_EVENTS__EVENT__CALLBACK_ON_PROCESS_RESTARTED_EXCEPTION; import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_EVENTS__EVENT__CALLBACK_ON_REJECTED_EXCEPTION; @@ -139,6 +140,10 @@ final class DspTrustedHotwordDetectorSession extends DetectorSession { "Security exception occurs in #onDetected method.")); } catch (RemoteException e1) { notifyOnDetectorRemoteException(); + HotwordMetricsLogger.writeDetectorEvent( + HotwordDetector.DETECTOR_TYPE_TRUSTED_HOTWORD_DSP, + HOTWORD_DETECTOR_EVENTS__EVENT__CALLBACK_ON_ERROR_EXCEPTION, + mVoiceInteractionServiceUid); throw e1; } return; @@ -165,6 +170,10 @@ final class DspTrustedHotwordDetectorSession extends DetectorSession { + " bits from hotword trusted process"); } catch (RemoteException e) { notifyOnDetectorRemoteException(); + HotwordMetricsLogger.writeDetectorEvent( + HotwordDetector.DETECTOR_TYPE_TRUSTED_HOTWORD_DSP, + HOTWORD_DETECTOR_EVENTS__EVENT__CALLBACK_ON_DETECTED_EXCEPTION, + mVoiceInteractionServiceUid); throw e; } if (mDebugHotwordLogging) { @@ -202,6 +211,10 @@ final class DspTrustedHotwordDetectorSession extends DetectorSession { externalCallback.onRejected(result); } catch (RemoteException e) { notifyOnDetectorRemoteException(); + HotwordMetricsLogger.writeDetectorEvent( + HotwordDetector.DETECTOR_TYPE_TRUSTED_HOTWORD_DSP, + HOTWORD_DETECTOR_EVENTS__EVENT__CALLBACK_ON_REJECTED_EXCEPTION, + mVoiceInteractionServiceUid); throw e; } mLastHotwordRejectedResult = result; diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/SoftwareTrustedHotwordDetectorSession.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/SoftwareTrustedHotwordDetectorSession.java index 8934c3964b211..367fb8166b00b 100644 --- a/services/voiceinteraction/java/com/android/server/voiceinteraction/SoftwareTrustedHotwordDetectorSession.java +++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/SoftwareTrustedHotwordDetectorSession.java @@ -18,6 +18,8 @@ package com.android.server.voiceinteraction; import static android.service.voice.HotwordDetectionService.AUDIO_SOURCE_MICROPHONE; +import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_EVENTS__EVENT__CALLBACK_ON_DETECTED_EXCEPTION; +import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_EVENTS__EVENT__CALLBACK_ON_ERROR_EXCEPTION; import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_EVENTS__EVENT__CALLBACK_ON_PROCESS_RESTARTED_EXCEPTION; import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_EVENTS__EVENT__START_SOFTWARE_DETECTION; import static com.android.internal.util.FrameworkStatsLog.HOTWORD_DETECTOR_KEYPHRASE_TRIGGERED__RESULT__DETECTED; @@ -131,6 +133,10 @@ final class SoftwareTrustedHotwordDetectorSession extends DetectorSession { "Security exception occurs in #onDetected method.")); } catch (RemoteException e1) { notifyOnDetectorRemoteException(); + HotwordMetricsLogger.writeDetectorEvent( + HotwordDetector.DETECTOR_TYPE_TRUSTED_HOTWORD_SOFTWARE, + HOTWORD_DETECTOR_EVENTS__EVENT__CALLBACK_ON_ERROR_EXCEPTION, + mVoiceInteractionServiceUid); throw e1; } return; @@ -148,6 +154,10 @@ final class SoftwareTrustedHotwordDetectorSession extends DetectorSession { "Copy audio stream failure.")); } catch (RemoteException e1) { notifyOnDetectorRemoteException(); + HotwordMetricsLogger.writeDetectorEvent( + HotwordDetector.DETECTOR_TYPE_TRUSTED_HOTWORD_SOFTWARE, + HOTWORD_DETECTOR_EVENTS__EVENT__CALLBACK_ON_ERROR_EXCEPTION, + mVoiceInteractionServiceUid); throw e1; } return; @@ -156,6 +166,10 @@ final class SoftwareTrustedHotwordDetectorSession extends DetectorSession { mSoftwareCallback.onDetected(newResult, null, null); } catch (RemoteException e1) { notifyOnDetectorRemoteException(); + HotwordMetricsLogger.writeDetectorEvent( + HotwordDetector.DETECTOR_TYPE_TRUSTED_HOTWORD_SOFTWARE, + HOTWORD_DETECTOR_EVENTS__EVENT__CALLBACK_ON_DETECTED_EXCEPTION, + mVoiceInteractionServiceUid); throw e1; } Slog.i(TAG, "Egressed " + HotwordDetectedResult.getUsageSize(newResult)