Fix APP_GET_APPID_LIST handler
authorHwankyu Jhun <h.jhun@samsung.com>
Wed, 21 Apr 2021 06:53:49 +0000 (15:53 +0900)
committerHwankyu Jhun <h.jhun@samsung.com>
Wed, 21 Apr 2021 07:48:36 +0000 (16:48 +0900)
AMD alwasy has to send a list of application IDs when getting the request.

Change-Id: I2c557b7343d06d67497f9d5d0155fe87c1d9c53d
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
src/lib/amd_app_control.cc

index eb9f277d4a79589ae24feba1264754730cefe2fd..4eeeeb0c497ca2883bb8848a3f583d093076574e 100644 (file)
@@ -171,11 +171,26 @@ static int __on_login_monitor_login(const char* msg,
 static int __dispatch_app_get_appid_list(request_h req) {
   uid_t target_uid = _request_get_target_uid(req);
   bundle* b = _request_get_bundle(req);
-  int ret = _app_control_resolve(target_uid, b);
-  if (ret == 0)
-    ret = _request_get_cmd(req);
+  tizen_base::Bundle kb(b, false, false);
+  ResolveInfo info;
+  try {
+    info = ResolveInfo::Manager::Create(kb);
+  } catch (Exception& e) {
+    _E("Exception(%d) occurs", e.GetErrorCode());
+    aul_sock_send_bundle_with_fd(_request_remove_fd(req), e.GetErrorCode(),
+        b, AUL_SOCK_NOREPLY);
+    return e.GetErrorCode();
+  }
+
+  int ret;
+  auto result = AppControlResolver::GetInst().Resolve(target_uid, info);
+  if (result.size() == 0)
+    ret = -ENOENT;
   else
-    _E("_app_control_resolve() is failed. error(%d)", ret);
+    ret = _request_get_cmd(req);
+
+  kb.Delete(AUL_K_APPID_LIST);
+  kb.Add(AUL_K_APPID_LIST, result);
 
   aul_sock_send_bundle_with_fd(_request_remove_fd(req), ret,
       b, AUL_SOCK_NOREPLY);