Make generic BaseNetworkObserver.

This makes it easier to add new INetworkManagementEventObserver events
in future.

Change-Id: I432263d745558de4b878f313c1951230ed9db2b1
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java
index a550f34..ad63424 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -83,6 +83,7 @@
 import com.android.server.am.BatteryStatsService;
 import com.android.server.connectivity.Tethering;
 import com.android.server.connectivity.Vpn;
+import com.android.server.net.BaseNetworkObserver;
 import com.google.android.collect.Lists;
 import com.google.android.collect.Sets;
 import dalvik.system.DexClassLoader;
@@ -524,6 +525,7 @@
         try {
             nmService.registerObserver(mTethering);
             nmService.registerObserver(mVpn);
+            nmService.registerObserver(mDataActivityObserver);
         } catch (RemoteException e) {
             loge("Error registering observer :" + e);
         }
@@ -535,13 +537,6 @@
         mSettingsObserver = new SettingsObserver(mHandler, EVENT_APPLY_GLOBAL_HTTP_PROXY);
         mSettingsObserver.observe(mContext);
 
-        INetworkManagementEventObserver netdObserver = new NetdObserver();
-        try {
-            mNetd.registerObserver(netdObserver);
-        } catch (RemoteException e) {
-            loge("Error registering observer :" + e);
-        }
-
         loadGlobalProxy();
     }
 
@@ -922,18 +917,13 @@
         return tracker != null && tracker.setRadio(turnOn);
     }
 
-    private class NetdObserver extends INetworkManagementEventObserver.Stub {
+    private INetworkManagementEventObserver mDataActivityObserver = new BaseNetworkObserver() {
+        @Override
         public void interfaceClassDataActivityChanged(String label, boolean active) {
             int deviceType = Integer.parseInt(label);
             sendDataActivityBroadcast(deviceType, active);
         }
-
-        public void interfaceStatusChanged(String iface, boolean up) {}
-        public void interfaceLinkStateChanged(String iface, boolean up) {}
-        public void interfaceAdded(String iface) {}
-        public void interfaceRemoved(String iface) {}
-        public void limitReached(String limitName, String iface) {}
-    }
+    };
 
     /**
      * Used to notice when the calling process dies so we can self-expire