From 4f47a81daf8630d75fb19cdce1cc700fb8bb60b0 Mon Sep 17 00:00:00 2001 From: UshakovVasilii Date: Thu, 3 Jul 2014 21:11:43 +0400 Subject: [PATCH] Improve code udisks2 util --- freon@UshakovVasilii_Github.yahoo.com/extension.js | 12 +++++------- freon@UshakovVasilii_Github.yahoo.com/udisks2.js | 10 +++++++++- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/freon@UshakovVasilii_Github.yahoo.com/extension.js b/freon@UshakovVasilii_Github.yahoo.com/extension.js index 7cc3422..1dd0179 100644 --- a/freon@UshakovVasilii_Github.yahoo.com/extension.js +++ b/freon@UshakovVasilii_Github.yahoo.com/extension.js @@ -33,6 +33,7 @@ const FreonMenuButton = new Lang.Class({ hddtemp: new HddtempUtil.HddtempUtil(), sensors: new SensorsUtil.SensorsUtil() }; + this._udisks2 = new UDisks2.UDisks2(); this._settings = Convenience.getSettings(); @@ -116,7 +117,7 @@ const FreonMenuButton = new Lang.Class({ this._utils.hddtemp.detect(); break; case 'udisks2': - this._udisks2 = new UDisks2.UDisks2(Lang.bind(this, function() { + this._udisks2.detect(Lang.bind(this, function() { this._updateDisplay(); })); break; @@ -124,10 +125,7 @@ const FreonMenuButton = new Lang.Class({ }, _destroyDriveUtility : function(){ - if(this._udisks2){ - this._udisks2.destroy(); - this._udisks2 = null; - } + this._udisks2.destroy(); this._utils.hddtemp.destroy(); }, @@ -193,8 +191,8 @@ const FreonMenuButton = new Lang.Class({ let driveTempInfo = []; if(this._utils.hddtemp.available) { driveTempInfo = this._utils.hddtemp.temp; - } else if(this._settings.get_string('drive-utility') == 'udisks2'){ - driveTempInfo = this._udisks2.getHDDTemp(); + } else if(this._udisks2.available){ + driveTempInfo = this._udisks2.temp; } sensorsTempInfo.sort(function(a,b) { return a.label.localeCompare(b.label) }); diff --git a/freon@UshakovVasilii_Github.yahoo.com/udisks2.js b/freon@UshakovVasilii_Github.yahoo.com/udisks2.js index 2ad300f..f88de66 100644 --- a/freon@UshakovVasilii_Github.yahoo.com/udisks2.js +++ b/freon@UshakovVasilii_Github.yahoo.com/udisks2.js @@ -36,14 +36,21 @@ const UDisks2 = new Lang.Class({ _init: function(callback) { this._udisksProxies = []; + }, + + detect: function(callback){ this._get_drive_ata_proxies(Lang.bind(this, function(proxies) { this._udisksProxies = proxies; callback(); })); }, + get available(){ + return this._udisksProxies.length > 0; + }, + // creates a list of sensor objects from the list of proxies given - getHDDTemp: function() { + get temp() { return this._udisksProxies.filter(function(proxy) { // 0K means no data available return proxy.ata.SmartTemperature > 0; @@ -104,6 +111,7 @@ const UDisks2 = new Lang.Class({ proxy.ata.run_dispose(); } } + this._udisksProxies = []; }, });