aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRodney Dawes <dobey.pwns@gmail.com>2018-10-31 21:56:05 -0400
committerRobert Tari <robert@tari.in>2021-07-09 03:36:53 +0200
commitbdf012f78b2ffd7356adcaa707b977889671c190 (patch)
treef7bebb907ff1b6a5bcb17388b28c5c77e0d50779
parentd2fc9c2d86789797c93811ad4665bdd67adf9661 (diff)
downloadayatana-indicator-datetime-bdf012f78b2ffd7356adcaa707b977889671c190.tar.gz
ayatana-indicator-datetime-bdf012f78b2ffd7356adcaa707b977889671c190.tar.bz2
ayatana-indicator-datetime-bdf012f78b2ffd7356adcaa707b977889671c190.zip
Replace ual with url-dispatcher.
We don't really hneed ubuntu-app-launch here directly, as the API provided by url-dispatcher gives us a way to query what app handles the calendar URL, as the indicator is a trusted process. This removes the extra dependency and simplifies building slightly.
-rw-r--r--CMakeLists.txt13
-rw-r--r--src/notifications.cpp24
2 files changed, 19 insertions, 18 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7e08544..0a6c404 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -58,16 +58,17 @@ pkg_check_modules (SERVICE_DEPS REQUIRED
gstreamer-1.0>=1.2
libnotify>=0.7.6
properties-cpp>=0.0.1
- libaccounts-glib>=1.18)
+ libaccounts-glib>=1.18
+ messaging-menu>=0.8.2)
include_directories (SYSTEM ${SERVICE_DEPS_INCLUDE_DIRS})
-# lomiri-app-launch
+# lomiri-url-dispatcher
-pkg_check_modules(LOMIRIAPPLAUNCH lomiri-app-launch>=0)
-include_directories(${LOMIRIAPPLAUNCH_INCLUDE_DIRS})
+pkg_check_modules(URLDISPATCHER lomiri-url-dispatcher>=0)
+include_directories(${URLDISPATCHER_INCLUDE_DIRS})
-if(LOMIRIAPPLAUNCH_FOUND)
- add_definitions( -DHAS_LOMIRIAPPLAUNCH )
+if(URLDISPATCHER_FOUND)
+ add_definitions( -DHAS_URLDISPATCHER )
endif()
if(EXISTS "/usr/share/accountsservice/interfaces/com.ubuntu.touch.AccountsService.Sound.xml")
diff --git a/src/notifications.cpp b/src/notifications.cpp
index 49300d8..7098cfc 100644
--- a/src/notifications.cpp
+++ b/src/notifications.cpp
@@ -24,9 +24,8 @@
#include <messaging-menu/messaging-menu-app.h>
#include <messaging-menu/messaging-menu-message.h>
-#ifdef HAS_LOMIRIAPPLAUNCH
-#include <liblomiri-app-launch/lomiri-app-launch/appid.h>
-#include <liblomiri-app-launch/lomiri-app-launch/registry.h>
+#ifdef HAS_URLDISPATCHER
+#include <lomiri-url-dispatcher.h>
#endif
#include <uuid/uuid.h>
@@ -463,16 +462,17 @@ private:
static std::string calendar_app_id()
{
- #ifdef HAS_LOMIRIAPPLAUNCH
- auto registry = std::make_shared<lomiri::app_launch::Registry>();
- auto app_id = lomiri::app_launch::AppID::discover(registry, "lomiri-calendar-app");
-
- if (!app_id.empty())
+ #ifdef HAS_URLDISPATCHER
+ auto urls = g_strsplit("calendar://", ",", 0);
+ auto appids = lomiri_url_dispatch_url_appid(const_cast<const gchar**>(urls));
+ g_strfreev(urls);
+ std::string result;
+ if (appids != nullptr) {
// Due the use of old API by messaging_menu we need append a extra ".desktop" to the app_id.
- return std::string(app_id) + ".desktop";
- else
- return std::string();
-
+ result = std::string(appids[0]) + ".desktop";
+ g_strfreev(appids);
+ }
+ return result;
#else
return std::string();
#endif