Send result type and grid depth with clicked object 92/281792/1
authorSuyeon Hwang <stom.hwang@samsung.com>
Wed, 21 Sep 2022 12:00:25 +0000 (21:00 +0900)
committerTizen AI <ai.tzn.sec@samsung.com>
Thu, 22 Sep 2022 03:12:19 +0000 (12:12 +0900)
Change-Id: I4e1c67f80e4f042f45a43311bc416a3037798aec
Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
src/mmimgr/iu/VoiceTouchEngine.cpp
src/mmimgr/iu/json_provider.cpp
src/mmimgr/iu/json_provider.h

index cf79b4e..f407b47 100644 (file)
@@ -454,7 +454,37 @@ void VoiceTouchEngine::setSelectedItemResult(const ClickableItem &item, int time
        _I("[VoiceTouchEngine] Set clicked object information into output. timestamp(%d). item(%s)", timestamp, item.objectId.c_str());
 
        provider.setOutputEvent(MMI_KEY_UI_CLICKED_OBJECT);
-       provider.setUiClickedObject(__appId.c_str(), timestamp, item.index, item.coordX, item.coordY, item.width, item.height, item.label.c_str());
+       UiClickedObject object;
+       object.fgApp = __appId.c_str();
+       object.timeStamp = timestamp;
+       object.idx = item.index;
+       object.x = item.coordX;
+       object.y = item.coordY;
+       object.w = item.width;
+       object.h = item.height;
+       object.text = item.label.c_str();
+
+       switch (__currentMode)
+       {
+       case VOICE_TOUCH_MODE_GRID:
+               object.resultType = MMI_KEY_SHOW_GRIDS;
+               object.gridDepth = __currentGridInfo.currentStep + 1;
+               break;
+
+       case VOICE_TOUCH_MODE_TOOLTIP_NUMBER:
+       case VOICE_TOUCH_MODE_TOOLTIP_TEXT:
+               object.resultType = MMI_KEY_SHOW_TOOLTIPS;
+               object.gridDepth = 1;
+               break;
+
+       default:
+               _E("[VoiceTouchEngine] Invalid mode classfier. Update item as lable tooltip.");
+               object.resultType = MMI_KEY_SHOW_TOOLTIPS;
+               object.gridDepth = 1;
+               break;
+       }
+
+       provider.setUiClickedObject(object);
 }
 
 void VoiceTouchEngine::makeGridItemList(const grid_info_s &parentInfo, std::list<ClickableItem> &list)
index 82086a7..efca0d3 100644 (file)
@@ -127,23 +127,25 @@ void JsonProvider::addInfoClickableObject(int idx, int x, int y, int w, int h, c
        json_object_set_string_member(obj, MMI_KEY_UI_OBJECT_TEXT, text);
 }
 
-void JsonProvider::setUiClickedObject(const char* fgApp, int timeStamp, int idx, int x, int y, int w, int h, const char* text)
+void JsonProvider::setUiClickedObject(UiClickedObject &object)
 {
     if (!mUiClickedObj)
         mUiClickedObj = json_object_new();
 
-       json_object_set_object_member(mRootObj, MMI_KEY_UI_CLICKED_OBJECT, mUiClickedObj);
-       json_object_set_string_member(mUiClickedObj, MMI_KEY_FOREGROUND_APP, fgApp);
-       json_object_set_int_member(mUiClickedObj, MMI_KEY_TIMESTAMP, timeStamp);
-
-       JsonObject* obj = json_object_new();
-       json_object_set_object_member(mUiClickedObj, MMI_KEY_INFO_OF_CLICKED_OBJECTS, obj);
-       json_object_set_int_member(obj, MMI_KEY_UI_OBJECT_INDEX, idx);
-       json_object_set_int_member(obj, MMI_KEY_UI_OBJECT_X, x);
-       json_object_set_int_member(obj, MMI_KEY_UI_OBJECT_Y, y);
-       json_object_set_int_member(obj, MMI_KEY_UI_OBJECT_WIDTH, w);
-       json_object_set_int_member(obj, MMI_KEY_UI_OBJECT_HEIGHT, h);
-       json_object_set_string_member(obj, MMI_KEY_UI_OBJECT_TEXT, text);
+    json_object_set_object_member(mRootObj, MMI_KEY_UI_CLICKED_OBJECT, mUiClickedObj);
+    json_object_set_string_member(mUiClickedObj, MMI_KEY_FOREGROUND_APP, object.fgApp);
+    json_object_set_int_member(mUiClickedObj, MMI_KEY_TIMESTAMP, object.timeStamp);
+
+    JsonObject* obj = json_object_new();
+    json_object_set_object_member(mUiClickedObj, MMI_KEY_INFO_OF_CLICKED_OBJECTS, obj);
+    json_object_set_int_member(obj, MMI_KEY_UI_OBJECT_INDEX, object.idx);
+    json_object_set_int_member(obj, MMI_KEY_UI_OBJECT_X, object.x);
+    json_object_set_int_member(obj, MMI_KEY_UI_OBJECT_Y, object.y);
+    json_object_set_int_member(obj, MMI_KEY_UI_OBJECT_WIDTH, object.w);
+    json_object_set_int_member(obj, MMI_KEY_UI_OBJECT_HEIGHT, object.h);
+    json_object_set_string_member(obj, MMI_KEY_UI_OBJECT_TEXT, object.text);
+    json_object_set_string_member(obj, MMI_KEY_UI_OBJECT_RESULT_TYPE, object.resultType);
+    json_object_set_int_member(obj, MMI_KEY_GRID_DEPTH, object.gridDepth);
 }
 
 void JsonProvider::setRejectEvent(const char* reason, int timeStamp)
index fa77e65..7c87379 100644 (file)
@@ -43,6 +43,19 @@ using namespace std;
 #define MMI_REASON_NO_MATCHED_COMMANDS         "noMatchedCommands"
 #define MMI_REASON_NO_CLICKABLE_OBJECTS                "noClickableObjects"
 
+struct UiClickedObject{
+    const char* fgApp;
+    int timeStamp;
+    int idx;
+    int x;
+    int y;
+    int w;
+    int h;
+    const char* text;
+    const char* resultType;
+    int gridDepth;
+};
+
 
 class JsonProvider {
 public:
@@ -59,7 +72,7 @@ public:
     void setGridDepth(int gridDepth);
     void addInfoClickableObject(int idx, int x, int y, int w, int h, const char* text);
 
-    void setUiClickedObject(const char* fgApp, int timeStamp, int idx, int x, int y, int w, int h, const char* text);   // "ui-clicked-object", object
+    void setUiClickedObject(UiClickedObject &object);   // "ui-clicked-object", object
 
     void setRejectEvent(const char* reason, int timeStamp);
     void setErrorEvent(const char* reason, int timeStamp);