|
|
|
@ -717,8 +717,7 @@ status_t SoundTriggerHwService::Module::stopRecognition(sound_model_handle_t han
|
|
|
|
|
return NO_ERROR;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
status_t SoundTriggerHwService::Module::getModelState(sound_model_handle_t handle,
|
|
|
|
|
sp<IMemory>& eventMemory)
|
|
|
|
|
status_t SoundTriggerHwService::Module::getModelState(sound_model_handle_t handle)
|
|
|
|
|
{
|
|
|
|
|
ALOGV("getModelState() model handle %d", handle);
|
|
|
|
|
if (mHalInterface == 0) {
|
|
|
|
@ -734,21 +733,7 @@ status_t SoundTriggerHwService::Module::getModelState(sound_model_handle_t handl
|
|
|
|
|
return INVALID_OPERATION;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (model->mType != SOUND_MODEL_TYPE_GENERIC) {
|
|
|
|
|
return BAD_VALUE;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
struct sound_trigger_recognition_event* event = nullptr;
|
|
|
|
|
status_t status = mHalInterface->getModelState(handle, &event);
|
|
|
|
|
if (status == NO_ERROR) {
|
|
|
|
|
sp<SoundTriggerHwService> service;
|
|
|
|
|
service = mService.promote();
|
|
|
|
|
if (service != 0) {
|
|
|
|
|
eventMemory = service->prepareRecognitionEvent(event);
|
|
|
|
|
}
|
|
|
|
|
free(event);
|
|
|
|
|
}
|
|
|
|
|
return status;
|
|
|
|
|
return mHalInterface->getModelState(handle);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SoundTriggerHwService::Module::onCallbackEvent(const sp<CallbackEvent>& event)
|
|
|
|
@ -784,7 +769,10 @@ void SoundTriggerHwService::Module::onCallbackEvent(const sp<CallbackEvent>& eve
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
recognitionEvent->capture_session = model->mCaptureSession;
|
|
|
|
|
model->mState = Model::STATE_IDLE;
|
|
|
|
|
// Don't reset the model state if this recognition event is a get-state response
|
|
|
|
|
if (recognitionEvent->status != RECOGNITION_STATUS_GET_STATE_RESPONSE) {
|
|
|
|
|
model->mState = Model::STATE_IDLE;
|
|
|
|
|
}
|
|
|
|
|
clients.add(model->mModuleClient);
|
|
|
|
|
}
|
|
|
|
|
} break;
|
|
|
|
@ -1052,8 +1040,7 @@ status_t SoundTriggerHwService::ModuleClient::stopRecognition(sound_model_handle
|
|
|
|
|
return module->stopRecognition(handle);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
status_t SoundTriggerHwService::ModuleClient::getModelState(sound_model_handle_t handle,
|
|
|
|
|
sp<IMemory>& eventMemory)
|
|
|
|
|
status_t SoundTriggerHwService::ModuleClient::getModelState(sound_model_handle_t handle)
|
|
|
|
|
{
|
|
|
|
|
ALOGV("getModelState() model handle %d", handle);
|
|
|
|
|
if (!captureHotwordAllowed(IPCThreadState::self()->getCallingPid(),
|
|
|
|
@ -1065,7 +1052,7 @@ status_t SoundTriggerHwService::ModuleClient::getModelState(sound_model_handle_t
|
|
|
|
|
if (module == 0) {
|
|
|
|
|
return NO_INIT;
|
|
|
|
|
}
|
|
|
|
|
return module->getModelState(handle, eventMemory);
|
|
|
|
|
return module->getModelState(handle);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void SoundTriggerHwService::ModuleClient::setCaptureState_l(bool active)
|
|
|
|
|