From d25757fba7d98b4535629de9dccf3f32b3e03487 Mon Sep 17 00:00:00 2001
From: Ruben Pollan <meskio@sindominio.net>
Date: Thu, 29 Jun 2017 18:54:30 +0200
Subject: [refactor] use VPNManagment in composition instead of inheritance

We make an ugly step for that moving the VPNStatus into VPNManagement.
Let's iterate on it a second time to clean up that.

- Related: #8942
---
 src/leap/bitmask/vpn/_status.py | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

(limited to 'src/leap/bitmask/vpn/_status.py')

diff --git a/src/leap/bitmask/vpn/_status.py b/src/leap/bitmask/vpn/_status.py
index 6bd9c7c..5d41a53 100644
--- a/src/leap/bitmask/vpn/_status.py
+++ b/src/leap/bitmask/vpn/_status.py
@@ -74,9 +74,10 @@ class VPNStatus(object):
         elif status in self._CONNECTED:
             status = "on"
 
-        self._status = status
-        self.errcode = errcode
-        emit_async(catalog.VPN_STATUS_CHANGED)
+        if self._status != status:
+            self._status = status
+            self.errcode = errcode
+            emit_async(catalog.VPN_STATUS_CHANGED)
 
     def get_traffic_status(self):
         down = None
@@ -87,7 +88,8 @@ class VPNStatus(object):
             up = bytes2human(self._traffic_up)
         return {'down': down, 'up': up}
 
-    def set_traffic_status(self, status):
-        up, down = status
-        self._traffic_up = up
-        self._traffic_down = down
+    def set_traffic_status(self, up, down):
+        if up != self._traffic_up or down != self._traffic_down:
+            self._traffic_up = up
+            self._traffic_down = down
+            emit_async(catalog.VPN_STATUS_CHANGED)
-- 
cgit v1.2.3