Fix issue that remaining black screen when back key is pressed after launch keyboard... 45/129745/1
authorsungwook79.park <sungwook79.park@samsung.com>
Thu, 18 May 2017 04:23:43 +0000 (13:23 +0900)
committersungwook79.park <sungwook79.park@samsung.com>
Thu, 18 May 2017 04:23:43 +0000 (13:23 +0900)
Change-Id: I89590d06606e535b4ef02ad18f30ad1939e16d2d
Signed-off-by: sungwook79.park <sungwook79.park@samsung.com>
src/w-input-selector.cpp

index ed6cb80..b79534b 100755 (executable)
@@ -569,15 +569,15 @@ void _back_to_genlist_for_selector()
 
        if (!app_data) return;
 
-       if (app_data->app_type == APP_TYPE_STT || app_data->app_type == APP_TYPE_EMOTICON){
-               PRINTFUNC(DLOG_DEBUG, "launched as STT/EMOTICON mode, So exit here.");
-               reply_to_sender_by_callback(NULL, NULL);
-               elm_exit();
-       }
        if (_WEARABLE) {
                Evas_Object *circle_genlist = (Evas_Object *) evas_object_data_get(app_data->genlist, "circle");
                eext_rotary_object_event_activated_set(circle_genlist, EINA_TRUE);
        }
+       if (app_data->app_type == APP_TYPE_STT || app_data->app_type == APP_TYPE_EMOTICON || app_data->app_type == APP_TYPE_KEYBOARD){
+               PRINTFUNC(DLOG_DEBUG, "launched as STT/EMOTICON/KEYBOARD mode, So exit here.");
+               reply_to_sender_by_callback(NULL, NULL);
+               elm_exit();
+       }
 }
 
 static void _item_realized(void *data, Evas_Object *obj, void *event_info) //called when list scrolled
@@ -918,36 +918,36 @@ void _app_service(app_control_h service, void* user_data)
        app_control_clone(&(app_data->source_app_control), service);
        app_data->reply_type = REPLY_APP_NORMAL;
 
+       if (_TV || _MOBILE) {
+               app_data->app_type = APP_TYPE_KEYBOARD;
+               input_keyboard_init(service);
+               _keyboard_clicked_cb((void *)app_data, NULL, NULL);
+               goto ACTIVATE;
+       }
+
        ret = app_control_is_extra_data_array(service, APP_CONTROL_DATA_INPUT_TYPE, &is_extra_data_array);
        if ( is_extra_data_array == true) {
                ret = app_control_get_extra_data_array(service, APP_CONTROL_DATA_INPUT_TYPE, &input_type_array, &input_type_array_len);
                g_input_type_data.input_type_array = input_type_array;
                g_input_type_data.input_type_array_len = input_type_array_len;
        } else {
-               if (_TV) {
-                       app_data->app_type = APP_TYPE_KEYBOARD;
-                       input_keyboard_init(service);
-                       _keyboard_clicked_cb((void *)app_data, NULL, NULL);
-                       goto ACTIVATE;
-               } else {
-                       ret = app_control_get_extra_data(service, APP_CONTROL_DATA_INPUT_TYPE, &context);
-                       if (ret == APP_CONTROL_ERROR_NONE) {
-                               if (!strcmp(context, "input_voice")) {
-                                       app_data->app_type = APP_TYPE_STT;
-                                       _stt_clicked_cb((void *)app_data, NULL, NULL);
-                                       goto ACTIVATE;
-                               } else if (!strcmp(context, "input_emoticon")) {
-                                       app_data->app_type = APP_TYPE_EMOTICON;
-                                       _emoticon_clicked_cb((void *)app_data, NULL, NULL);
-                                       goto ACTIVATE;
-                               } else if (!strcmp(context, "input_keyboard")) {
-                                       app_data->app_type = APP_TYPE_KEYBOARD;
-                                       input_keyboard_init(service);
-                                       _keyboard_clicked_cb((void *)app_data, NULL, NULL);
-                                       goto ACTIVATE;
-                               } else if (!strcmp(context, "input_reply")) {
-                                       app_data->app_type = APP_TYPE_REPLY;
-                               }
+               ret = app_control_get_extra_data(service, APP_CONTROL_DATA_INPUT_TYPE, &context);
+               if (ret == APP_CONTROL_ERROR_NONE) {
+                       if (!strcmp(context, "input_voice")) {
+                               app_data->app_type = APP_TYPE_STT;
+                               _stt_clicked_cb((void *)app_data, NULL, NULL);
+                               goto ACTIVATE;
+                       } else if (!strcmp(context, "input_emoticon")) {
+                               app_data->app_type = APP_TYPE_EMOTICON;
+                               _emoticon_clicked_cb((void *)app_data, NULL, NULL);
+                               goto ACTIVATE;
+                       } else if (!strcmp(context, "input_keyboard")) {
+                               app_data->app_type = APP_TYPE_KEYBOARD;
+                               input_keyboard_init(service);
+                               _keyboard_clicked_cb((void *)app_data, NULL, NULL);
+                               goto ACTIVATE;
+                       } else if (!strcmp(context, "input_reply")) {
+                               app_data->app_type = APP_TYPE_REPLY;
                        }
                }
        }