Merge "Fix potential NPE in STHelper" into udc-dev
This commit is contained in:
@@ -789,15 +789,15 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ModelData model = getModelDataForLocked(event.soundModelHandle);
|
ModelData model = getModelDataForLocked(event.soundModelHandle);
|
||||||
if (!Objects.equals(event.getToken(), model.getToken())) {
|
|
||||||
// Stale event, do nothing
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (model == null || !model.isGenericModel()) {
|
if (model == null || !model.isGenericModel()) {
|
||||||
Slog.w(TAG, "Generic recognition event: Model does not exist for handle: "
|
Slog.w(TAG, "Generic recognition event: Model does not exist for handle: "
|
||||||
+ event.soundModelHandle);
|
+ event.soundModelHandle);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (!Objects.equals(event.getToken(), model.getToken())) {
|
||||||
|
// Stale event, do nothing
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
IRecognitionStatusCallback callback = model.getCallback();
|
IRecognitionStatusCallback callback = model.getCallback();
|
||||||
if (callback == null) {
|
if (callback == null) {
|
||||||
@@ -875,11 +875,11 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener {
|
|||||||
Slog.w(TAG, "Recognition aborted");
|
Slog.w(TAG, "Recognition aborted");
|
||||||
MetricsLogger.count(mContext, "sth_recognition_aborted", 1);
|
MetricsLogger.count(mContext, "sth_recognition_aborted", 1);
|
||||||
ModelData modelData = getModelDataForLocked(event.soundModelHandle);
|
ModelData modelData = getModelDataForLocked(event.soundModelHandle);
|
||||||
|
if (modelData != null && modelData.isModelStarted()) {
|
||||||
if (!Objects.equals(event.getToken(), modelData.getToken())) {
|
if (!Objects.equals(event.getToken(), modelData.getToken())) {
|
||||||
// Stale event, do nothing
|
// Stale event, do nothing
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (modelData != null && modelData.isModelStarted()) {
|
|
||||||
modelData.setStopped();
|
modelData.setStopped();
|
||||||
try {
|
try {
|
||||||
IRecognitionStatusCallback callback = modelData.getCallback();
|
IRecognitionStatusCallback callback = modelData.getCallback();
|
||||||
@@ -916,16 +916,15 @@ public class SoundTriggerHelper implements SoundTrigger.StatusListener {
|
|||||||
MetricsLogger.count(mContext, "sth_keyphrase_recognition_event", 1);
|
MetricsLogger.count(mContext, "sth_keyphrase_recognition_event", 1);
|
||||||
int keyphraseId = getKeyphraseIdFromEvent(event);
|
int keyphraseId = getKeyphraseIdFromEvent(event);
|
||||||
ModelData modelData = getKeyphraseModelDataLocked(keyphraseId);
|
ModelData modelData = getKeyphraseModelDataLocked(keyphraseId);
|
||||||
if (!Objects.equals(event.getToken(), modelData.getToken())) {
|
|
||||||
// Stale event, do nothing
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (modelData == null || !modelData.isKeyphraseModel()) {
|
if (modelData == null || !modelData.isKeyphraseModel()) {
|
||||||
Slog.e(TAG, "Keyphase model data does not exist for ID:" + keyphraseId);
|
Slog.e(TAG, "Keyphase model data does not exist for ID:" + keyphraseId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (!Objects.equals(event.getToken(), modelData.getToken())) {
|
||||||
|
// Stale event, do nothing
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (modelData.getCallback() == null) {
|
if (modelData.getCallback() == null) {
|
||||||
Slog.w(TAG, "Received onRecognition event without callback for keyphrase model.");
|
Slog.w(TAG, "Received onRecognition event without callback for keyphrase model.");
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user