diff --git a/meson.build b/meson.build index b03fc403..ade6104e 100644 --- a/meson.build +++ b/meson.build @@ -94,7 +94,6 @@ gtk_x11_dep = dependency('gtk+-x11-3.0') gweather_dep = dependency('gweather-3.0', version: '>= 3.9.5') lcms_dep = dependency('lcms2', version: '>= 2.2') 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 7ff01f68..f4308d89 100644 --- a/plugins/color/gcm-self-test.c +++ b/plugins/color/gcm-self-test.c @@ -80,9 +80,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 701c7753..d00a78a3 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; @@ -454,91 +449,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) { @@ -608,12 +518,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) { @@ -624,10 +528,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; } @@ -636,8 +536,6 @@ gsd_night_light_finalize (GObject *object) { GsdNightLight *self = GSD_NIGHT_LIGHT (object); - stop_geoclue (self); - poll_timeout_destroy (self); poll_smooth_destroy (self); @@ -783,7 +681,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 2ae1740a..45688712 100644 --- a/plugins/color/meson.build +++ b/plugins/color/meson.build @@ -15,7 +15,6 @@ deps = plugins_deps + [ gnome_desktop_dep, lcms_dep, libcanberra_gtk_dep, - libgeoclue_dep, libnotify_dep, m_dep, ] diff --git a/plugins/datetime/gsd-timezone-monitor.c b/plugins/datetime/gsd-timezone-monitor.c index ca3e6a7f..16493366 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; - TzDB *tzdb; WeatherTzDB *weather_tzdb; gchar *current_timezone; @@ -255,113 +250,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) { @@ -376,8 +264,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); @@ -411,16 +297,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) { @@ -463,7 +339,4 @@ gsd_timezone_monitor_init (GsdTimezoneMonitor *self) priv->weather_tzdb = weather_tz_db_new (); 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