Emit SignalStrengthChanged DBus signal when signal strength changes.

This CL modifies NetworkDBusAdaptor::UpdateProperties to emit
Network.SignalStrengthChanged DBus signal when the value of signal
strength has changed.

BUG=chrome-os-partner:9831
TEST=Monitor SignalStrengthChanged signals when the signal strength changes.

Change-Id: I06e6921378640fda77dd2e16dfc3521fd86c358e
Reviewed-on: https://gerrit.chromium.org/gerrit/23136
Commit-Ready: Ben Chan <benchan@chromium.org>
Tested-by: Ben Chan <benchan@chromium.org>
Reviewed-by: Darin Petkov <petkov@chromium.org>
diff --git a/network_dbus_adaptor.cc b/network_dbus_adaptor.cc
index 93eeb11..81e2dfe 100644
--- a/network_dbus_adaptor.cc
+++ b/network_dbus_adaptor.cc
@@ -19,6 +19,9 @@
                                        Network *network)
     : DBusAdaptor(connection, GetNetworkObjectPath(*network)),
       network_(network) {
+  // Initialize |SignalStrength| before UpdateProperties() reads it for
+  // the first time.
+  SignalStrength = network_->GetSignalStrength();
   UpdateProperties();
 }
 
@@ -37,7 +40,11 @@
   Type = network_->type();
   CINR = network_->cinr();
   RSSI = network_->rssi();
-  SignalStrength = network_->GetSignalStrength();
+  int signal_strength = network_->GetSignalStrength();
+  if (SignalStrength() != signal_strength) {
+    SignalStrength = signal_strength;
+    SignalStrengthChanged(signal_strength);
+  }
 }
 
 }  // namespace wimax_manager