diff --git a/configure b/configure index 9fd3c40..1baa86e 100755 --- a/configure +++ b/configure @@ -3720,7 +3720,6 @@ if test -n "$DEPS_CFLAGS"; then glib-2.0 gobject-2.0 gtk+-3.0 >= 3.11.4 - libgeoclue-2.0 >= 2.3.1 gjs-1.0 >= \$GJS_MIN_VERSION gweather-3.0 >= 3.17.2\""; } >&5 ($PKG_CONFIG --exists --print-errors "gdk-3.0 @@ -3729,7 +3728,6 @@ if test -n "$DEPS_CFLAGS"; then glib-2.0 gobject-2.0 gtk+-3.0 >= 3.11.4 - libgeoclue-2.0 >= 2.3.1 gjs-1.0 >= $GJS_MIN_VERSION gweather-3.0 >= 3.17.2") 2>&5 ac_status=$? @@ -3741,7 +3739,6 @@ if test -n "$DEPS_CFLAGS"; then glib-2.0 gobject-2.0 gtk+-3.0 >= 3.11.4 - libgeoclue-2.0 >= 2.3.1 gjs-1.0 >= $GJS_MIN_VERSION gweather-3.0 >= 3.17.2" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -3761,7 +3758,6 @@ if test -n "$DEPS_LIBS"; then glib-2.0 gobject-2.0 gtk+-3.0 >= 3.11.4 - libgeoclue-2.0 >= 2.3.1 gjs-1.0 >= \$GJS_MIN_VERSION gweather-3.0 >= 3.17.2\""; } >&5 ($PKG_CONFIG --exists --print-errors "gdk-3.0 @@ -3770,7 +3766,6 @@ if test -n "$DEPS_LIBS"; then glib-2.0 gobject-2.0 gtk+-3.0 >= 3.11.4 - libgeoclue-2.0 >= 2.3.1 gjs-1.0 >= $GJS_MIN_VERSION gweather-3.0 >= 3.17.2") 2>&5 ac_status=$? @@ -3782,7 +3777,6 @@ if test -n "$DEPS_LIBS"; then glib-2.0 gobject-2.0 gtk+-3.0 >= 3.11.4 - libgeoclue-2.0 >= 2.3.1 gjs-1.0 >= $GJS_MIN_VERSION gweather-3.0 >= 3.17.2" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -3811,7 +3805,6 @@ fi glib-2.0 gobject-2.0 gtk+-3.0 >= 3.11.4 - libgeoclue-2.0 >= 2.3.1 gjs-1.0 >= $GJS_MIN_VERSION gweather-3.0 >= 3.17.2" 2>&1` else @@ -3821,7 +3814,6 @@ fi glib-2.0 gobject-2.0 gtk+-3.0 >= 3.11.4 - libgeoclue-2.0 >= 2.3.1 gjs-1.0 >= $GJS_MIN_VERSION gweather-3.0 >= 3.17.2" 2>&1` fi @@ -3834,7 +3826,6 @@ fi glib-2.0 gobject-2.0 gtk+-3.0 >= 3.11.4 - libgeoclue-2.0 >= 2.3.1 gjs-1.0 >= $GJS_MIN_VERSION gweather-3.0 >= 3.17.2) were not met: diff --git a/configure.ac b/configure.ac index f5810bd..d3d20a5 100644 --- a/configure.ac +++ b/configure.ac @@ -33,7 +33,6 @@ PKG_CHECK_MODULES([DEPS], [gdk-3.0 glib-2.0 gobject-2.0 gtk+-3.0 >= 3.11.4 - libgeoclue-2.0 >= 2.3.1 gjs-1.0 >= $GJS_MIN_VERSION gweather-3.0 >= 3.17.2]) diff --git a/data/org.gnome.Weather.Application.desktop.in b/data/org.gnome.Weather.Application.desktop.in index 3cd54ba..9d59b46 100644 --- a/data/org.gnome.Weather.Application.desktop.in +++ b/data/org.gnome.Weather.Application.desktop.in @@ -8,4 +8,3 @@ DBusActivatable=true StartupNotify=true Categories=GNOME;GTK;Utility;Core; _Keywords=Weather;Forecast; -_X-Geoclue-Reason=Allows weather information to be displayed for your location. diff --git a/src/app/currentLocationController.js b/src/app/currentLocationController.js index c070598..10b436d 100644 --- a/src/app/currentLocationController.js +++ b/src/app/currentLocationController.js @@ -20,16 +20,9 @@ const GLib = imports.gi.GLib; const Gio = imports.gi.Gio; const Lang = imports.lang; const GWeather = imports.gi.GWeather; -const Geoclue = imports.gi.Geoclue; const Util = imports.misc.util; -const AutoLocation = { - DISABLED: 0, - ENABLED: 1, - NOT_AVAILABLE: 2 -}; - const CurrentLocationController = new Lang.Class({ Name: 'CurrentLocationController', @@ -37,89 +30,6 @@ const CurrentLocationController = new Lang.Class({ this._world = world; this._processStarted = false; this._settings = Util.getSettings('org.gnome.Weather.Application'); - let autoLocation = this._settings.get_value('automatic-location').deep_unpack(); - this._syncAutoLocation(autoLocation); - if (this.autoLocation == AutoLocation.ENABLED) - this._startGeolocationService(); this.currentLocation = null; }, - - _startGeolocationService: function() { - this._processStarted = true; - Geoclue.Simple.new(pkg.name, - Geoclue.AccuracyLevel.CITY, - null, - Lang.bind (this, this._onSimpleReady)); - }, - - _geoLocationFailed: function(e) { - log ("Failed to connect to GeoClue2 service: " + e.message); - this.autoLocation = AutoLocation.NOT_AVAILABLE; - GLib.idle_add(GLib.PRIORITY_DEFAULT, Lang.bind(this, function() { - this._world.currentLocationChanged(null); - })); - }, - - _onSimpleReady: function(object, result) { - try { - this._simple = Geoclue.Simple.new_finish(result); - } - catch (e) { - this._geoLocationFailed(e); - return; - } - - let client = this._simple.get_client(); - client.distance_threshold = 100; - - this._findLocation(); - }, - - _findLocation: function() { - this._locationUpdatedId = - this._simple.connect("notify::location", - this._onLocationUpdated.bind(this)); - - this._onLocationUpdated(this._simple); - }, - - _onLocationUpdated: function(simple) { - let geoclueLocation = simple.get_location(); - - this.currentLocation = GWeather.Location.new_detached(geoclueLocation.description, - null, - geoclueLocation.latitude, - geoclueLocation.longitude); - this._world.currentLocationChanged(this.currentLocation); - }, - - setAutoLocation: function(active) { - this._settings.set_value('automatic-location', new GLib.Variant('b', active)); - - if (this.autoLocation == AutoLocation.NOT_AVAILABLE) - return; - this._autoLocationChanged(active); - this._syncAutoLocation(active); - }, - - _syncAutoLocation: function(autoLocation) { - if (autoLocation) - this.autoLocation = AutoLocation.ENABLED; - else - this.autoLocation = AutoLocation.DISABLED; - }, - - _autoLocationChanged: function(active) { - if (active) { - if (!this._processStarted) { - this._startGeolocationService(); - } else { - this._locationUpdatedId = - this._simple.connect("notify::location", - this._onLocationUpdated.bind(this)); - } - } else { - this._simple.disconnect(this._locationUpdatedId); - } - } });