/** * @brief VoiceEndpoint::sendDictationResults * Important: Pebble accepts only 1 sentence currently, hence need to choose the best one here */ void VoiceEndpoint::sendDictationResults() { if(m_sessId>0) { if(m_sesTimer) { killTimer(m_sesTimer); m_sesTimer = 0; m_sesPhase = PhResultSent; } quint32 flags = m_appUuid.isNull()?0:FlagAppInitiated; quint8 result = (m_sesResult.sentences.count()>0)?ResSuccess:ResInvalidRecognizerResponse; qDebug() << "Sending session recognition result" << result << "for session" << m_sessId << "with content" << m_sesResult.sentences.count() << "for app" << m_appUuid << m_appUuid.isNull(); QByteArray pkt; WatchDataWriter writer(&pkt); writer.write<quint8>(CmdDictatResult); writer.writeLE<quint32>(flags); writer.writeLE<quint16>(m_sessId); writer.write<quint8>(result); AttributeList al; if(!m_appUuid.isNull()) al.append(Attribute(m_appUuid)); m_sesResult.sort(1); if(result==ResSuccess) al.append(Attribute(Transcription(m_sesResult))); al.writerWrite(writer); m_watchConnection->writeToPebble(WatchConnection::EndpointVoiceControl,pkt); qDebug() << "Sent" << pkt.toHex(); } }