コード例 #1
0
ファイル: talk2web.c プロジェクト: bahbka/pebble-talk2web
static void inbox_received_callback(DictionaryIterator *iterator, void *context) {
  APP_LOG(APP_LOG_LEVEL_INFO, "message received");

  Tuple *start_immediately = dict_find(iterator, KEY_START_IMMEDIATELY);
  if (start_immediately) {
    APP_LOG(APP_LOG_LEVEL_INFO, "remember KEY_START_IMMEDIATELY=%d", start_immediately->value->uint8);
    persist_write_bool(KEY_START_IMMEDIATELY, start_immediately->value->uint8);
  }

  Tuple *enable_confirmation_dialog = dict_find(iterator, KEY_ENABLE_CONFIRMATION_DIALOG);
  if (enable_confirmation_dialog) {
    APP_LOG(APP_LOG_LEVEL_INFO, "remember KEY_ENABLE_CONFIRMATION_DIALOG=%d", enable_confirmation_dialog->value->uint8);
    persist_write_bool(KEY_ENABLE_CONFIRMATION_DIALOG, enable_confirmation_dialog->value->uint8);
    dictation_session_enable_confirmation(s_dictation_session, persist_read_bool(KEY_ENABLE_CONFIRMATION_DIALOG));
  }

  Tuple *enable_error_dialog = dict_find(iterator, KEY_ENABLE_ERROR_DIALOG);
  if (enable_error_dialog) {
    APP_LOG(APP_LOG_LEVEL_INFO, "remember KEY_ENABLE_ERROR_DIALOG=%d", enable_error_dialog->value->uint8);
    persist_write_bool(KEY_ENABLE_ERROR_DIALOG, enable_error_dialog->value->uint8);
    dictation_session_enable_error_dialogs(s_dictation_session, persist_read_bool(KEY_ENABLE_ERROR_DIALOG));
  }

  Tuple *status = dict_find(iterator, KEY_STATUS);
  Tuple *text = dict_find(iterator, KEY_TEXT);
  if (status) {
    if (status->value->uint8 == 255) { // configuration was opened, disable auto exit
      auto_exit_enable = false;
    } else if (status->value->uint8 == 0) {
      if (text) {
        show_text(text->value->cstring, GColorFromHEX(0x000000), GColorFromHEX(0x00ff00));
      } else {
        show_text("OK", GColorFromHEX(0x000000), GColorFromHEX(0x00ff00));
      }
    } else {
      if (text) {
        show_text(text->value->cstring, GColorFromHEX(0xffffff), GColorFromHEX(0xff0000));
      } else {
        show_text("ERROR", GColorFromHEX(0xffffff), GColorFromHEX(0xff0000));
      }
    }
    timeout_timer = app_timer_register(EXIT_TIMEOUT, exit_timeout, NULL);
  }
}
コード例 #2
0
ファイル: voice.c プロジェクト: JamesFowler42/morpheuz20
/*
 * Start voice control
 */
EXTFN void voice_control() {
  
  voice_system_active = true;
  if (ds == NULL) {
    ds = dictation_session_create(PHRASE_BUFFER_LEN, voice_callback, NULL);
    #ifndef TESTING_BUILD
      dictation_session_enable_confirmation(ds, false);
    #endif
    dictation_session_enable_error_dialogs(ds, false);
  }
  if (ds != NULL) {
    dictation_session_start(ds);
  } else {
    voice_system_active = false;
    respond_with_vibe(false);
    show_notice(RESOURCE_ID_NOTICE_VOICE_UNAVAILABLE);
  }
  
}
コード例 #3
0
ファイル: button_click.c プロジェクト: micwallace/yopebble
static void start_dictation(){
  session = dictation_session_create(0, dictation_session_callback, NULL);
  dictation_session_enable_confirmation(session, true);
  dictation_session_enable_error_dialogs(session, true);
  dictation_session_start(session);	
}