aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRenato Araujo Oliveira Filho <renato.filho@canonical.com>2016-04-27 14:31:28 -0300
committerRobert Tari <robert@tari.in>2021-07-06 11:49:07 +0200
commit76e3bd94724e9bc7bedd24548103e31d85334d53 (patch)
tree7ae6ec836aba1b2d29c780b765760d7b22ed8b43
parentec226fce51ed4ba7f16c5f1d3f87c180c6335918 (diff)
downloadayatana-indicator-datetime-76e3bd94724e9bc7bedd24548103e31d85334d53.tar.gz
ayatana-indicator-datetime-76e3bd94724e9bc7bedd24548103e31d85334d53.tar.bz2
ayatana-indicator-datetime-76e3bd94724e9bc7bedd24548103e31d85334d53.zip
Only creates messaging menu if calendar app is instaled. Update tests.
-rw-r--r--src/notifications.cpp22
-rw-r--r--tests/test-notification.cpp2
-rw-r--r--tests/test-sound.cpp2
3 files changed, 19 insertions, 7 deletions
diff --git a/src/notifications.cpp b/src/notifications.cpp
index dc42534..9817686 100644
--- a/src/notifications.cpp
+++ b/src/notifications.cpp
@@ -150,14 +150,17 @@ class Engine::Impl
public:
Impl(const std::string& app_name):
- m_messaging_app(messaging_menu_app_new(calendar_app_id().c_str()), g_object_unref),
m_app_name(app_name)
{
if (!notify_init(app_name.c_str()))
g_critical("Unable to initialize libnotify!");
// messaging menu
- messaging_menu_app_register(m_messaging_app.get());
+ auto app_id = calendar_app_id();
+ if (!app_id.empty()) {
+ m_messaging_app.reset(messaging_menu_app_new(app_id.c_str()), g_object_unref);
+ messaging_menu_app_register(m_messaging_app.get());
+ }
}
~Impl()
@@ -166,7 +169,8 @@ public:
remove_all ();
notify_uninit ();
- messaging_menu_app_unregister (m_messaging_app.get());
+ if (m_messaging_app)
+ messaging_menu_app_unregister (m_messaging_app.get());
}
const std::string& app_name() const
@@ -280,6 +284,9 @@ public:
std::string post(const Builder::Impl& data)
{
+ if (!m_messaging_app) {
+ return std::string();
+ }
uuid_t message_uuid;
uuid_generate(message_uuid);
@@ -439,9 +446,14 @@ private:
{
#ifdef HAS_LOMIRIAPPLAUNCH
auto app_id = lomiri::app_launch::AppID::discover("com.lomiri.calendar");
- return std::string(app_id) + ".desktop";
+
+ if (!app_id.empty())
+ return std::string(app_id) + ".desktop";
+ else
+ return std::string();
+
#else
- return "";
+ return std::string();
#endif
}
diff --git a/tests/test-notification.cpp b/tests/test-notification.cpp
index d660982..d04cc8d 100644
--- a/tests/test-notification.cpp
+++ b/tests/test-notification.cpp
@@ -63,7 +63,7 @@ TEST_F(NotificationFixture,Notification)
bool expected_notify_called;
bool expected_vibrate_called;
} test_appts[] = {
- { appt, "calendar", "Event", true, true },
+ { appt, "calendar-app", "Event", true, true },
{ ualarm, "alarm-clock", "Alarm", true, true }
};
diff --git a/tests/test-sound.cpp b/tests/test-sound.cpp
index 013c388..0d80109 100644
--- a/tests/test-sound.cpp
+++ b/tests/test-sound.cpp
@@ -85,7 +85,7 @@ TEST_F(NotificationFixture, InteractiveDuration)
// confirm that the icon passed to Notify was "alarm-clock"
g_variant_get_child (params, 2, "&s", &str);
- ASSERT_STREQ("calendar", str);
+ ASSERT_STREQ("calendar-app", str);
// confirm that the hints passed to Notify included a timeout matching duration_minutes
int32_t i32;