Fix APP_GET_APPID_LIST handler 10/257210/1
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 06:53:49 +0000 (15:53 +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 113cea3f4c6a825ebb581741f2acf52967fbb3da..65352c4f68f7c47b3fabefd1f72b6aee95be1591 100644 (file)
@@ -151,11 +151,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);