@Override public void handleMessage(Message msg) { switch (msg.what) { case VoiceCommandListener.ACTION_MAIN_VOICE_UI: mVoiceUI.handleAsyncVoiceMessage((VoiceMessage) msg.obj); break; case VoiceCommandListener.ACTION_MAIN_VOICE_TRAINING: mVoiceTraining.handleAsyncVoiceMessage((VoiceMessage) msg.obj); break; case VoiceCommandListener.ACTION_MAIN_VOICE_RECOGNIZE: mVoiceRecognize.handleAsyncVoiceMessage((VoiceMessage) msg.obj); break; case VoiceCommandListener.ACTION_MAIN_VOICE_CONTACTS: mVoiceContacts.handleAsyncVoiceMessage((VoiceMessage) msg.obj); break; case VoiceCommandListener.ACTION_VOICE_CONTACTS_NAME: handleAsyncContactsMsg((String[]) msg.obj); break; case VoiceCommandBusiness.ACTION_MAIN_VOICE_SERVICE: case VoiceCommandBusiness.ACTION_MAIN_VOICE_BROADCAST: mVoiceServiceInternal.handleAsyncVoiceMessage((VoiceMessage) msg.obj); break; default: // do nothing break; } }
/* * Send all contacts name to next dispatcher * * @param contactsNameList contacts name list */ public void handleAsyncContactsMsg(String[] contactsNames) { VoiceMessage message = new VoiceMessage(); message.mMainAction = VoiceCommandListener.ACTION_MAIN_VOICE_CONTACTS; message.mSubAction = VoiceCommandListener.ACTION_VOICE_CONTACTS_NAME; Bundle bundle = DataPackage.packageSendInfo(contactsNames, null); message.mExtraData = bundle; mVoiceContacts.handleAsyncVoiceMessage(message); }