Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 216c181e authored by Jeff Sharkey's avatar Jeff Sharkey
Browse files

Make generic BaseNetworkObserver.

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

Change-Id: I432263d745558de4b878f313c1951230ed9db2b1
parent 065b299d
Loading
Loading
Loading
Loading
+5 −15
Original line number Diff line number Diff line
@@ -83,6 +83,7 @@ import com.android.internal.telephony.PhoneConstants;
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 @@ public class ConnectivityService extends IConnectivityManager.Stub {
        try {
            nmService.registerObserver(mTethering);
            nmService.registerObserver(mVpn);
            nmService.registerObserver(mDataActivityObserver);
        } catch (RemoteException e) {
            loge("Error registering observer :" + e);
        }
@@ -535,13 +537,6 @@ public class ConnectivityService extends IConnectivityManager.Stub {
        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 @@ public class ConnectivityService extends IConnectivityManager.Stub {
        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
+16 −6
Original line number Diff line number Diff line
@@ -19,29 +19,39 @@ package com.android.server.net;
import android.net.INetworkManagementEventObserver;

/**
 * Base {@link INetworkManagementEventObserver} that provides no-op
 * implementations which can be overridden.
 *
 * @hide
 */
public abstract class NetworkAlertObserver extends INetworkManagementEventObserver.Stub {
public class BaseNetworkObserver extends INetworkManagementEventObserver.Stub {
    @Override
    public void interfaceStatusChanged(String iface, boolean up) {
        // ignored; interface changes come through ConnectivityService
        // default no-op
    }

    @Override
    public void interfaceRemoved(String iface) {
        // ignored; interface changes come through ConnectivityService
        // default no-op
    }

    @Override
    public void interfaceLinkStateChanged(String iface, boolean up) {
        // ignored; interface changes come through ConnectivityService
        // default no-op
    }

    @Override
    public void interfaceAdded(String iface) {
        // ignored; interface changes come through ConnectivityService
        // default no-op
    }

    @Override
    public void interfaceClassDataActivityChanged(String label, boolean active) {
        // ignored; interface changes come through ConnectivityService
        // default no-op
    }

    @Override
    public void limitReached(String limitName, String iface) {
        // default no-op
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -570,7 +570,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
    /**
     * Observer that watches for {@link INetworkManagementService} alerts.
     */
    private INetworkManagementEventObserver mAlertObserver = new NetworkAlertObserver() {
    private INetworkManagementEventObserver mAlertObserver = new BaseNetworkObserver() {
        @Override
        public void limitReached(String limitName, String iface) {
            // only someone like NMS should be calling us
+1 −1
Original line number Diff line number Diff line
@@ -763,7 +763,7 @@ public class NetworkStatsService extends INetworkStatsService.Stub {
    /**
     * Observer that watches for {@link INetworkManagementService} alerts.
     */
    private INetworkManagementEventObserver mAlertObserver = new NetworkAlertObserver() {
    private INetworkManagementEventObserver mAlertObserver = new BaseNetworkObserver() {
        @Override
        public void limitReached(String limitName, String iface) {
            // only someone like NMS should be calling us