[gnome-shell] network: request periodic scans while the WiFi list is open
- From: Florian Müllner <fmuellner src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] network: request periodic scans while the WiFi list is open
- Date: Tue, 11 Oct 2016 12:43:44 +0000 (UTC)
commit 384e01b3684e14a2de8bdfa1c682b0737ee6540f
Author: Dan Williams <dcbw redhat com>
Date: Tue Jun 21 12:48:44 2016 -0500
network: request periodic scans while the WiFi list is open
NM upstream would like to reduce periodic scanning, and that means
that clients should request scans themselves while their WiFi list
is open. Similar to the Windows and macOS WiFi dialogs/lists.
https://bugzilla.gnome.org/show_bug.cgi?id=767918
js/ui/status/network.js | 18 ++++++++++++++----
1 files changed, 14 insertions(+), 4 deletions(-)
---
diff --git a/js/ui/status/network.js b/js/ui/status/network.js
index fee703b..9f4293a 100644
--- a/js/ui/status/network.js
+++ b/js/ui/status/network.js
@@ -5,6 +5,7 @@ const GObject = imports.gi.GObject;
const Gio = imports.gi.Gio;
const Gtk = imports.gi.Gtk;
const Lang = imports.lang;
+const Mainloop = imports.mainloop;
const NetworkManager = imports.gi.NetworkManager;
const NMClient = imports.gi.NMClient;
const NMGtk = imports.gi.NMGtk;
@@ -752,10 +753,9 @@ const NMWirelessDialog = new Lang.Class({
this._updateSensitivity();
this._syncView();
- if (accessPoints.length == 0) {
- /* If there are no visible access points, request a scan */
- this._device.request_scan_simple(null);
- }
+ this._scanTimeoutId = Mainloop.timeout_add_seconds(15, Lang.bind(this, this._onScanTimeout));
+ GLib.Source.set_name_by_id(this._scanTimeoutId, '[gnome-shell] this._onScanTimeout');
+ this._onScanTimeout();
},
destroy: function() {
@@ -780,9 +780,19 @@ const NMWirelessDialog = new Lang.Class({
this._airplaneModeChangedId = 0;
}
+ if (this._scanTimeoutId) {
+ Mainloop.source_remove(this._scanTimeoutId);
+ this._scanTimeoutId = 0;
+ }
+
this.parent();
},
+ _onScanTimeout: function() {
+ this._device.request_scan_simple(null);
+ return GLib.SOURCE_CONTINUE;
+ },
+
_activeApChanged: function() {
if (this._activeNetwork)
this._activeNetwork.item.setActive(false);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]