From df86a9f2e92d077386b146fe483b2cf14850737d Mon Sep 17 00:00:00 2001 From: Lorenzo Colitti Date: Tue, 20 Aug 2013 19:51:30 +0900 Subject: Make BaseNetworkObserver available to core code Currently BaseNetworkObserver is in frameworks/base/services, but there is code in frameworks/base/core that could use it. This code typically extends INetworkManagementEventObserver.stub because BaseNetworkObserver is not available. Move BaseNetworkObserver to frameworks/base/core without changing its package name, and use it to simplify two callers. The third caller, Tethering, is much larger, and I'm not sure it's appropriate to change it. Bug: 10232006 Change-Id: Ifc0f2e619e3424e27e35730c048a1cc523df345e --- core/java/android/net/EthernetDataTracker.java | 16 +++--- .../android/server/net/BaseNetworkObserver.java | 57 ++++++++++++++++++++++ .../server/CommonTimeManagementService.java | 9 ++-- .../android/server/net/BaseNetworkObserver.java | 57 ---------------------- 4 files changed, 67 insertions(+), 72 deletions(-) create mode 100644 core/java/com/android/server/net/BaseNetworkObserver.java delete mode 100644 services/java/com/android/server/net/BaseNetworkObserver.java diff --git a/core/java/android/net/EthernetDataTracker.java b/core/java/android/net/EthernetDataTracker.java index 7999c66e2a8b..d08ba6ef5d25 100644 --- a/core/java/android/net/EthernetDataTracker.java +++ b/core/java/android/net/EthernetDataTracker.java @@ -27,6 +27,8 @@ import android.os.RemoteException; import android.os.ServiceManager; import android.util.Log; +import com.android.server.net.BaseNetworkObserver; + import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; @@ -62,7 +64,7 @@ public class EthernetDataTracker implements NetworkStateTracker { private INetworkManagementService mNMService; - private static class InterfaceObserver extends INetworkManagementEventObserver.Stub { + private static class InterfaceObserver extends BaseNetworkObserver { private EthernetDataTracker mTracker; InterfaceObserver(EthernetDataTracker tracker) { @@ -70,10 +72,12 @@ public class EthernetDataTracker implements NetworkStateTracker { mTracker = tracker; } + @Override public void interfaceStatusChanged(String iface, boolean up) { Log.d(TAG, "Interface status changed: " + iface + (up ? "up" : "down")); } + @Override public void interfaceLinkStateChanged(String iface, boolean up) { if (mIface.equals(iface)) { Log.d(TAG, "Interface " + iface + " link " + (up ? "up" : "down")); @@ -89,21 +93,15 @@ public class EthernetDataTracker implements NetworkStateTracker { } } + @Override public void interfaceAdded(String iface) { mTracker.interfaceAdded(iface); } + @Override public void interfaceRemoved(String iface) { mTracker.interfaceRemoved(iface); } - - public void limitReached(String limitName, String iface) { - // Ignored. - } - - public void interfaceClassDataActivityChanged(String label, boolean active) { - // Ignored. - } } private EthernetDataTracker() { diff --git a/core/java/com/android/server/net/BaseNetworkObserver.java b/core/java/com/android/server/net/BaseNetworkObserver.java new file mode 100644 index 000000000000..8b2aa5db81a0 --- /dev/null +++ b/core/java/com/android/server/net/BaseNetworkObserver.java @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2011 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.server.net; + +import android.net.INetworkManagementEventObserver; + +/** + * Base {@link INetworkManagementEventObserver} that provides no-op + * implementations which can be overridden. + * + * @hide + */ +public class BaseNetworkObserver extends INetworkManagementEventObserver.Stub { + @Override + public void interfaceStatusChanged(String iface, boolean up) { + // default no-op + } + + @Override + public void interfaceRemoved(String iface) { + // default no-op + } + + @Override + public void interfaceLinkStateChanged(String iface, boolean up) { + // default no-op + } + + @Override + public void interfaceAdded(String iface) { + // default no-op + } + + @Override + public void interfaceClassDataActivityChanged(String label, boolean active) { + // default no-op + } + + @Override + public void limitReached(String limitName, String iface) { + // default no-op + } +} diff --git a/services/java/com/android/server/CommonTimeManagementService.java b/services/java/com/android/server/CommonTimeManagementService.java index aa2c8b88a77e..710fb9d34596 100644 --- a/services/java/com/android/server/CommonTimeManagementService.java +++ b/services/java/com/android/server/CommonTimeManagementService.java @@ -40,6 +40,8 @@ import android.os.ServiceManager; import android.os.SystemProperties; import android.util.Log; +import com.android.server.net.BaseNetworkObserver; + /** * @hide *

CommonTimeManagementService manages the configuration of the native Common Time service, @@ -104,9 +106,7 @@ class CommonTimeManagementService extends Binder { /* * Callback handler implementations. */ - private INetworkManagementEventObserver mIfaceObserver = - new INetworkManagementEventObserver.Stub() { - + private INetworkManagementEventObserver mIfaceObserver = new BaseNetworkObserver() { public void interfaceStatusChanged(String iface, boolean up) { reevaluateServiceState(); } @@ -119,9 +119,6 @@ class CommonTimeManagementService extends Binder { public void interfaceRemoved(String iface) { reevaluateServiceState(); } - public void limitReached(String limitName, String iface) { } - - public void interfaceClassDataActivityChanged(String label, boolean active) {} }; private BroadcastReceiver mConnectivityMangerObserver = new BroadcastReceiver() { diff --git a/services/java/com/android/server/net/BaseNetworkObserver.java b/services/java/com/android/server/net/BaseNetworkObserver.java deleted file mode 100644 index 8b2aa5db81a0..000000000000 --- a/services/java/com/android/server/net/BaseNetworkObserver.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (C) 2011 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.server.net; - -import android.net.INetworkManagementEventObserver; - -/** - * Base {@link INetworkManagementEventObserver} that provides no-op - * implementations which can be overridden. - * - * @hide - */ -public class BaseNetworkObserver extends INetworkManagementEventObserver.Stub { - @Override - public void interfaceStatusChanged(String iface, boolean up) { - // default no-op - } - - @Override - public void interfaceRemoved(String iface) { - // default no-op - } - - @Override - public void interfaceLinkStateChanged(String iface, boolean up) { - // default no-op - } - - @Override - public void interfaceAdded(String iface) { - // default no-op - } - - @Override - public void interfaceClassDataActivityChanged(String label, boolean active) { - // default no-op - } - - @Override - public void limitReached(String limitName, String iface) { - // default no-op - } -} -- cgit v1.2.3-59-g8ed1b