@@ -36,6 +36,7 @@ typedef struct {
3636 VectorSequenceLayer * loading_layer ;
3737 Layer * scroll_indicator_down ;
3838 StatusBarLayer * status_bar_layer ;
39+ bool busy ;
3940} FeedbackWindowData ;
4041
4142static void prv_window_load (Window * window );
@@ -126,6 +127,8 @@ static void prv_window_load(Window *window) {
126127 dictation_session_enable_confirmation (data -> dict_session , true);
127128
128129 data -> event_handle = events_app_message_register_inbox_received (prv_app_message_received , window );
130+
131+ data -> busy = false;
129132}
130133
131134static void prv_window_unload (Window * window ) {
@@ -152,6 +155,9 @@ static void prv_click_config_provider() {
152155static void prv_select_clicked (ClickRecognizerRef recognizer , void * context ) {
153156 Window * window = context ;
154157 FeedbackWindowData * data = window_get_user_data (window );
158+ if (data -> busy ) {
159+ return ;
160+ }
155161 dictation_session_start (data -> dict_session );
156162}
157163
@@ -161,7 +167,9 @@ static void prv_dictation_status_callback(DictationSession *session, DictationSe
161167 if (status != DictationSessionStatusSuccess ) {
162168 return ;
163169 }
170+ data -> busy = true;
164171 layer_remove_from_parent (scroll_layer_get_layer (data -> scroll_layer ));
172+ layer_remove_from_parent (bitmap_layer_get_layer (data -> select_indicator_layer ));
165173 layer_add_child (window_get_root_layer (window ), vector_sequence_layer_get_layer (data -> loading_layer ));
166174 vector_sequence_layer_play (data -> loading_layer );
167175 DictionaryIterator * iter ;
0 commit comments