diff --git a/meson.build b/meson.build index ee121983..3493febd 100644 --- a/meson.build +++ b/meson.build @@ -101,7 +101,6 @@ gtk_dep = dependency('gtk+-3.0', version: '>= 3.15.3') gtk_x11_dep = dependency('gtk+-x11-3.0') gweather_dep = dependency('gweather4') libcanberra_gtk_dep = dependency('libcanberra-gtk3') -libgeoclue_dep = dependency('libgeoclue-2.0', version: '>= 2.3.1') libnotify_dep = dependency('libnotify', version: '>= 0.7.3') libpulse_mainloop_glib_dep = dependency('libpulse-mainloop-glib', version: '>= 2.0') pango_dep = dependency('pango', version: '>= 1.20.0') diff --git a/plugins/color/gcm-self-test.c b/plugins/color/gcm-self-test.c index e2938614..9c73f152 100644 --- a/plugins/color/gcm-self-test.c +++ b/plugins/color/gcm-self-test.c @@ -79,9 +79,6 @@ gcm_test_night_light (void) datetime_override = g_date_time_new_utc (2017, 2, 8, 20, 0, 0); gsd_night_light_set_date_time_now (nlight, datetime_override); - /* do not start geoclue */ - gsd_night_light_set_geoclue_enabled (nlight, FALSE); - /* do not smooth the transition */ gsd_night_light_set_smooth_enabled (nlight, FALSE); diff --git a/plugins/color/gsd-night-light.c b/plugins/color/gsd-night-light.c index b11f0755..2d21900a 100644 --- a/plugins/color/gsd-night-light.c +++ b/plugins/color/gsd-night-light.c @@ -20,8 +20,6 @@ #include "config.h" -#include - #define GNOME_DESKTOP_USE_UNSTABLE_API #include "gnome-datetime-source.h" @@ -36,11 +34,8 @@ struct _GsdNightLight { gboolean forced; gboolean disabled_until_tmw; GDateTime *disabled_until_tmw_dt; - gboolean geoclue_enabled; GSource *source; guint validate_id; - GClueClient *geoclue_client; - GClueSimple *geoclue_simple; GSettings *location_settings; gdouble cached_sunrise; gdouble cached_sunset; @@ -462,91 +457,6 @@ settings_changed_cb (GSettings *settings, gchar *key, gpointer user_data) night_light_recheck (self); } -static void -on_location_notify (GClueSimple *simple, - GParamSpec *pspec, - gpointer user_data) -{ - GsdNightLight *self = GSD_NIGHT_LIGHT (user_data); - GClueLocation *location; - gdouble latitude, longitude; - - location = gclue_simple_get_location (simple); - latitude = gclue_location_get_latitude (location); - longitude = gclue_location_get_longitude (location); - - g_settings_set_value (self->settings, - "night-light-last-coordinates", - g_variant_new ("(dd)", latitude, longitude)); - - g_debug ("got geoclue latitude %f, longitude %f", latitude, longitude); - - /* recheck the levels if the location changed significantly */ - if (update_cached_sunrise_sunset (self)) - night_light_recheck_schedule (self); -} - -static void -on_geoclue_simple_ready (GObject *source_object, - GAsyncResult *res, - gpointer user_data) -{ - GsdNightLight *self = GSD_NIGHT_LIGHT (user_data); - GClueSimple *geoclue_simple; - g_autoptr(GError) error = NULL; - - geoclue_simple = gclue_simple_new_finish (res, &error); - if (geoclue_simple == NULL) { - if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) - g_warning ("Failed to connect to GeoClue2 service: %s", error->message); - return; - } - - self->geoclue_simple = geoclue_simple; - self->geoclue_client = gclue_simple_get_client (self->geoclue_simple); - g_object_set (G_OBJECT (self->geoclue_client), - "time-threshold", 60*60, NULL); /* 1 hour */ - - g_signal_connect (self->geoclue_simple, "notify::location", - G_CALLBACK (on_location_notify), user_data); - - on_location_notify (self->geoclue_simple, NULL, user_data); -} - -static void -start_geoclue (GsdNightLight *self) -{ - self->cancellable = g_cancellable_new (); - gclue_simple_new (DESKTOP_ID, - GCLUE_ACCURACY_LEVEL_CITY, - self->cancellable, - on_geoclue_simple_ready, - self); - -} - -static void -stop_geoclue (GsdNightLight *self) -{ - g_cancellable_cancel (self->cancellable); - g_clear_object (&self->cancellable); - - if (self->geoclue_client != NULL) { - gclue_client_call_stop (self->geoclue_client, NULL, NULL, NULL); - self->geoclue_client = NULL; - } - g_clear_object (&self->geoclue_simple); -} - -static void -check_location_settings (GsdNightLight *self) -{ - if (g_settings_get_boolean (self->location_settings, "enabled") && self->geoclue_enabled) - start_geoclue (self); - else - stop_geoclue (self); -} - void gsd_night_light_set_disabled_until_tmw (GsdNightLight *self, gboolean value) { @@ -616,12 +526,6 @@ gsd_night_light_get_temperature (GsdNightLight *self) return self->cached_temperature; } -void -gsd_night_light_set_geoclue_enabled (GsdNightLight *self, gboolean enabled) -{ - self->geoclue_enabled = enabled; -} - gboolean gsd_night_light_start (GsdNightLight *self, GError **error) { @@ -632,10 +536,6 @@ gsd_night_light_start (GsdNightLight *self, GError **error) g_signal_connect (self->settings, "changed", G_CALLBACK (settings_changed_cb), self); - g_signal_connect_swapped (self->location_settings, "changed::enabled", - G_CALLBACK (check_location_settings), self); - check_location_settings (self); - return TRUE; } @@ -644,8 +544,6 @@ gsd_night_light_finalize (GObject *object) { GsdNightLight *self = GSD_NIGHT_LIGHT (object); - stop_geoclue (self); - poll_timeout_destroy (self); poll_smooth_destroy (self); @@ -791,7 +689,6 @@ gsd_night_light_class_init (GsdNightLightClass *klass) static void gsd_night_light_init (GsdNightLight *self) { - self->geoclue_enabled = TRUE; self->smooth_enabled = TRUE; self->cached_sunrise = -1.f; self->cached_sunset = -1.f; diff --git a/plugins/color/gsd-night-light.h b/plugins/color/gsd-night-light.h index 8803c338..ec1ae7ac 100644 --- a/plugins/color/gsd-night-light.h +++ b/plugins/color/gsd-night-light.h @@ -46,8 +46,6 @@ void gsd_night_light_set_forced (GsdNightLight *self, gboolean value); /* only for the self test program */ -void gsd_night_light_set_geoclue_enabled (GsdNightLight *self, - gboolean enabled); void gsd_night_light_set_date_time_now (GsdNightLight *self, GDateTime *datetime); void gsd_night_light_set_smooth_enabled (GsdNightLight *self, diff --git a/plugins/color/meson.build b/plugins/color/meson.build index bb05f72f..10379adf 100644 --- a/plugins/color/meson.build +++ b/plugins/color/meson.build @@ -11,7 +11,6 @@ sources = files( deps = plugins_deps + [ colord_dep, libcanberra_gtk_dep, - libgeoclue_dep, libnotify_dep, libcommon_dep, m_dep, diff --git a/plugins/datetime/gsd-timezone-monitor.c b/plugins/datetime/gsd-timezone-monitor.c index a6e8a48d..52320819 100644 --- a/plugins/datetime/gsd-timezone-monitor.c +++ b/plugins/datetime/gsd-timezone-monitor.c @@ -25,7 +25,6 @@ #include "tz.h" #include "weather-tz.h" -#include #include #include @@ -45,10 +44,6 @@ typedef struct GPermission *permission; Timedate1 *dtm; - GClueClient *geoclue_client; - GClueSimple *geoclue_simple; - GCancellable *geoclue_cancellable; - gchar *current_timezone; GSettings *location_settings; @@ -262,113 +257,6 @@ on_reverse_geocoding_ready (GObject *source_object, g_object_unref (place); } -static void -start_reverse_geocoding (GsdTimezoneMonitor *self, - gdouble latitude, - gdouble longitude) -{ - GeocodeLocation *location; - GeocodeReverse *reverse; - GsdTimezoneMonitorPrivate *priv = gsd_timezone_monitor_get_instance_private (self); - - location = geocode_location_new (latitude, - longitude, - GEOCODE_LOCATION_ACCURACY_CITY); - - reverse = geocode_reverse_new_for_location (location); - geocode_reverse_resolve_async (reverse, - priv->geoclue_cancellable, - on_reverse_geocoding_ready, - self); - - g_object_unref (location); - g_object_unref (reverse); -} - -static void -on_location_notify (GClueSimple *simple, - GParamSpec *pspec, - gpointer user_data) -{ - GsdTimezoneMonitor *self = user_data; - GClueLocation *location; - gdouble latitude, longitude; - - location = gclue_simple_get_location (simple); - - latitude = gclue_location_get_latitude (location); - longitude = gclue_location_get_longitude (location); - - g_debug ("Got location %lf,%lf", latitude, longitude); - - start_reverse_geocoding (self, latitude, longitude); -} - -static void -on_geoclue_simple_ready (GObject *source_object, - GAsyncResult *res, - gpointer user_data) -{ - GError *error = NULL; - GsdTimezoneMonitorPrivate *priv; - GClueSimple *geoclue_simple; - - geoclue_simple = gclue_simple_new_finish (res, &error); - if (geoclue_simple == NULL) { - if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED)) - g_warning ("Failed to connect to GeoClue2 service: %s", error->message); - g_error_free (error); - return; - } - - g_debug ("Geoclue now available"); - - priv = gsd_timezone_monitor_get_instance_private (user_data); - priv->geoclue_simple = geoclue_simple; - priv->geoclue_client = gclue_simple_get_client (priv->geoclue_simple); - gclue_client_set_distance_threshold (priv->geoclue_client, - GEOCODE_LOCATION_ACCURACY_CITY); - - g_signal_connect (priv->geoclue_simple, "notify::location", - G_CALLBACK (on_location_notify), user_data); - - on_location_notify (priv->geoclue_simple, NULL, user_data); -} - -static void -start_geoclue (GsdTimezoneMonitor *self) -{ - GsdTimezoneMonitorPrivate *priv = gsd_timezone_monitor_get_instance_private (self); - - g_debug ("Timezone monitor enabled, starting geoclue"); - - priv->geoclue_cancellable = g_cancellable_new (); - gclue_simple_new (DESKTOP_ID, - GCLUE_ACCURACY_LEVEL_CITY, - priv->geoclue_cancellable, - on_geoclue_simple_ready, - self); - -} - -static void -stop_geoclue (GsdTimezoneMonitor *self) -{ - GsdTimezoneMonitorPrivate *priv = gsd_timezone_monitor_get_instance_private (self); - - g_debug ("Timezone monitor disabled, stopping geoclue"); - - g_cancellable_cancel (priv->geoclue_cancellable); - g_clear_object (&priv->geoclue_cancellable); - - if (priv->geoclue_client) { - gclue_client_call_stop (priv->geoclue_client, NULL, NULL, NULL); - priv->geoclue_client = NULL; - } - - g_clear_object (&priv->geoclue_simple); -} - GsdTimezoneMonitor * gsd_timezone_monitor_new (void) { @@ -383,8 +271,6 @@ gsd_timezone_monitor_finalize (GObject *obj) g_debug ("Stopping timezone monitor"); - stop_geoclue (monitor); - if (priv->cancellable) { g_cancellable_cancel (priv->cancellable); g_clear_object (&priv->cancellable); @@ -416,16 +302,6 @@ gsd_timezone_monitor_class_init (GsdTimezoneMonitorClass *klass) G_TYPE_NONE, 1, G_TYPE_POINTER); } -static void -check_location_settings (GsdTimezoneMonitor *self) -{ - GsdTimezoneMonitorPrivate *priv = gsd_timezone_monitor_get_instance_private (self); - if (g_settings_get_boolean (priv->location_settings, "enabled")) - start_geoclue (self); - else - stop_geoclue (self); -} - static void gsd_timezone_monitor_init (GsdTimezoneMonitor *self) { @@ -466,7 +342,4 @@ gsd_timezone_monitor_init (GsdTimezoneMonitor *self) priv->current_timezone = timedate1_dup_timezone (priv->dtm); priv->location_settings = g_settings_new ("org.gnome.system.location"); - g_signal_connect_swapped (priv->location_settings, "changed::enabled", - G_CALLBACK (check_location_settings), self); - check_location_settings (self); } diff --git a/plugins/datetime/meson.build b/plugins/datetime/meson.build index ed2d433f..364b6150 100644 --- a/plugins/datetime/meson.build +++ b/plugins/datetime/meson.build @@ -20,7 +20,6 @@ sources += gnome.gdbus_codegen( deps = plugins_deps + [ geocode_glib_dep, gweather_dep, - libgeoclue_dep, libnotify_dep, m_dep, polkit_gobject_dep