Loading core/java/android/net/INetworkManagementEventObserver.aidl +4 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.net; import android.net.LinkAddress; /** * Callback class for receiving events from an INetworkManagementService * Loading Loading @@ -62,7 +64,7 @@ interface INetworkManagementEventObserver { * @param flags The address flags. * @param scope The address scope. */ void addressUpdated(String address, String iface, int flags, int scope); void addressUpdated(in LinkAddress address, String iface, int flags, int scope); /** * An interface address has been removed Loading @@ -72,7 +74,7 @@ interface INetworkManagementEventObserver { * @param flags The address flags. * @param scope The address scope. */ void addressRemoved(String address, String iface, int flags, int scope); void addressRemoved(in LinkAddress address, String iface, int flags, int scope); /** * A networking quota limit has been reached. The quota might not Loading core/java/com/android/server/net/BaseNetworkObserver.java +3 −2 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.server.net; import android.net.INetworkManagementEventObserver; import android.net.LinkAddress; /** * Base {@link INetworkManagementEventObserver} that provides no-op Loading @@ -36,12 +37,12 @@ public class BaseNetworkObserver extends INetworkManagementEventObserver.Stub { } @Override public void addressUpdated(String address, String iface, int flags, int scope) { public void addressUpdated(LinkAddress address, String iface, int flags, int scope) { // default no-op } @Override public void addressRemoved(String address, String iface, int flags, int scope) { public void addressRemoved(LinkAddress address, String iface, int flags, int scope) { // default no-op } Loading services/java/com/android/server/NetworkManagementService.java +10 −6 Original line number Diff line number Diff line Loading @@ -405,7 +405,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub /** * Notify our observers of a new or updated interface address. */ private void notifyAddressUpdated(String address, String iface, int flags, int scope) { private void notifyAddressUpdated(LinkAddress address, String iface, int flags, int scope) { final int length = mObservers.beginBroadcast(); for (int i = 0; i < length; i++) { try { Loading @@ -420,7 +420,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub /** * Notify our observers of a deleted interface address. */ private void notifyAddressRemoved(String address, String iface, int flags, int scope) { private void notifyAddressRemoved(LinkAddress address, String iface, int flags, int scope) { final int length = mObservers.beginBroadcast(); for (int i = 0; i < length; i++) { try { Loading Loading @@ -537,17 +537,21 @@ public class NetworkManagementService extends INetworkManagementService.Stub int flags; int scope; LinkAddress address; try { flags = Integer.parseInt(cooked[5]); scope = Integer.parseInt(cooked[6]); } catch(NumberFormatException e) { throw new IllegalStateException(errorMessage); address = new LinkAddress(cooked[3]); } catch(NumberFormatException e) { // Non-numeric lifetime or scope. throw new IllegalStateException(errorMessage, e); } catch(IllegalArgumentException e) { // Malformed IP address. throw new IllegalStateException(errorMessage, e); } if (cooked[2].equals("updated")) { notifyAddressUpdated(cooked[3], cooked[4], flags, scope); notifyAddressUpdated(address, cooked[4], flags, scope); } else { notifyAddressRemoved(cooked[3], cooked[4], flags, scope); notifyAddressRemoved(address, cooked[4], flags, scope); } return true; // break; Loading services/tests/servicestests/src/com/android/server/NetworkManagementServiceTest.java +9 −5 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.server; import android.content.Context; import android.net.LinkAddress; import android.net.LocalSocket; import android.net.LocalServerSocket; import android.os.Binder; Loading Loading @@ -157,19 +158,22 @@ public class NetworkManagementServiceTest extends AndroidTestCase { * IP address changes. */ sendMessage("614 Address updated fe80::1/64 wlan0 128 253"); expectSoon(observer).addressUpdated("fe80::1/64", "wlan0", 128, 253); expectSoon(observer).addressUpdated( new LinkAddress("fe80::1/64"), "wlan0", 128, 253); // There is no "added". // There is no "added", so we take this as "removed". sendMessage("614 Address added fe80::1/64 wlan0 128 253"); expectSoon(observer).addressRemoved("fe80::1/64", "wlan0", 128, 253); expectSoon(observer).addressRemoved( new LinkAddress("fe80::1/64"), "wlan0", 128, 253); sendMessage("614 Address removed 2001:db8::1/64 wlan0 1 0"); expectSoon(observer).addressRemoved("2001:db8::1/64", "wlan0", 1, 0); expectSoon(observer).addressRemoved( new LinkAddress("2001:db8::1/64"), "wlan0", 1, 0); sendMessage("614 Address removed 2001:db8::1/64 wlan0 1"); // Not enough arguments. sendMessage("666 Address added 2001:db8::1/64 wlan0 1 0"); sendMessage("666 Address removed 2001:db8::1/64 wlan0 1 0"); // Invalid code. Loading wifi/java/android/net/wifi/WifiStateMachine.java +4 −4 Original line number Diff line number Diff line Loading @@ -240,24 +240,24 @@ public class WifiStateMachine extends StateMachine { } @Override public void addressUpdated(String address, String iface, int flags, int scope) { public void addressUpdated(LinkAddress address, String iface, int flags, int scope) { if (mWifiStateMachine.mInterfaceName.equals(iface)) { if (DBG) { log("addressUpdated: " + address + " on " + iface + " flags " + flags + " scope " + scope); } mWifiStateMachine.sendMessage(CMD_IP_ADDRESS_UPDATED, new LinkAddress(address)); mWifiStateMachine.sendMessage(CMD_IP_ADDRESS_UPDATED, address); } } @Override public void addressRemoved(String address, String iface, int flags, int scope) { public void addressRemoved(LinkAddress address, String iface, int flags, int scope) { if (mWifiStateMachine.mInterfaceName.equals(iface)) { if (DBG) { log("addressRemoved: " + address + " on " + iface + " flags " + flags + " scope " + scope); } mWifiStateMachine.sendMessage(CMD_IP_ADDRESS_REMOVED, new LinkAddress(address)); mWifiStateMachine.sendMessage(CMD_IP_ADDRESS_REMOVED, address); } } } Loading Loading
core/java/android/net/INetworkManagementEventObserver.aidl +4 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.net; import android.net.LinkAddress; /** * Callback class for receiving events from an INetworkManagementService * Loading Loading @@ -62,7 +64,7 @@ interface INetworkManagementEventObserver { * @param flags The address flags. * @param scope The address scope. */ void addressUpdated(String address, String iface, int flags, int scope); void addressUpdated(in LinkAddress address, String iface, int flags, int scope); /** * An interface address has been removed Loading @@ -72,7 +74,7 @@ interface INetworkManagementEventObserver { * @param flags The address flags. * @param scope The address scope. */ void addressRemoved(String address, String iface, int flags, int scope); void addressRemoved(in LinkAddress address, String iface, int flags, int scope); /** * A networking quota limit has been reached. The quota might not Loading
core/java/com/android/server/net/BaseNetworkObserver.java +3 −2 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.server.net; import android.net.INetworkManagementEventObserver; import android.net.LinkAddress; /** * Base {@link INetworkManagementEventObserver} that provides no-op Loading @@ -36,12 +37,12 @@ public class BaseNetworkObserver extends INetworkManagementEventObserver.Stub { } @Override public void addressUpdated(String address, String iface, int flags, int scope) { public void addressUpdated(LinkAddress address, String iface, int flags, int scope) { // default no-op } @Override public void addressRemoved(String address, String iface, int flags, int scope) { public void addressRemoved(LinkAddress address, String iface, int flags, int scope) { // default no-op } Loading
services/java/com/android/server/NetworkManagementService.java +10 −6 Original line number Diff line number Diff line Loading @@ -405,7 +405,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub /** * Notify our observers of a new or updated interface address. */ private void notifyAddressUpdated(String address, String iface, int flags, int scope) { private void notifyAddressUpdated(LinkAddress address, String iface, int flags, int scope) { final int length = mObservers.beginBroadcast(); for (int i = 0; i < length; i++) { try { Loading @@ -420,7 +420,7 @@ public class NetworkManagementService extends INetworkManagementService.Stub /** * Notify our observers of a deleted interface address. */ private void notifyAddressRemoved(String address, String iface, int flags, int scope) { private void notifyAddressRemoved(LinkAddress address, String iface, int flags, int scope) { final int length = mObservers.beginBroadcast(); for (int i = 0; i < length; i++) { try { Loading Loading @@ -537,17 +537,21 @@ public class NetworkManagementService extends INetworkManagementService.Stub int flags; int scope; LinkAddress address; try { flags = Integer.parseInt(cooked[5]); scope = Integer.parseInt(cooked[6]); } catch(NumberFormatException e) { throw new IllegalStateException(errorMessage); address = new LinkAddress(cooked[3]); } catch(NumberFormatException e) { // Non-numeric lifetime or scope. throw new IllegalStateException(errorMessage, e); } catch(IllegalArgumentException e) { // Malformed IP address. throw new IllegalStateException(errorMessage, e); } if (cooked[2].equals("updated")) { notifyAddressUpdated(cooked[3], cooked[4], flags, scope); notifyAddressUpdated(address, cooked[4], flags, scope); } else { notifyAddressRemoved(cooked[3], cooked[4], flags, scope); notifyAddressRemoved(address, cooked[4], flags, scope); } return true; // break; Loading
services/tests/servicestests/src/com/android/server/NetworkManagementServiceTest.java +9 −5 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package com.android.server; import android.content.Context; import android.net.LinkAddress; import android.net.LocalSocket; import android.net.LocalServerSocket; import android.os.Binder; Loading Loading @@ -157,19 +158,22 @@ public class NetworkManagementServiceTest extends AndroidTestCase { * IP address changes. */ sendMessage("614 Address updated fe80::1/64 wlan0 128 253"); expectSoon(observer).addressUpdated("fe80::1/64", "wlan0", 128, 253); expectSoon(observer).addressUpdated( new LinkAddress("fe80::1/64"), "wlan0", 128, 253); // There is no "added". // There is no "added", so we take this as "removed". sendMessage("614 Address added fe80::1/64 wlan0 128 253"); expectSoon(observer).addressRemoved("fe80::1/64", "wlan0", 128, 253); expectSoon(observer).addressRemoved( new LinkAddress("fe80::1/64"), "wlan0", 128, 253); sendMessage("614 Address removed 2001:db8::1/64 wlan0 1 0"); expectSoon(observer).addressRemoved("2001:db8::1/64", "wlan0", 1, 0); expectSoon(observer).addressRemoved( new LinkAddress("2001:db8::1/64"), "wlan0", 1, 0); sendMessage("614 Address removed 2001:db8::1/64 wlan0 1"); // Not enough arguments. sendMessage("666 Address added 2001:db8::1/64 wlan0 1 0"); sendMessage("666 Address removed 2001:db8::1/64 wlan0 1 0"); // Invalid code. Loading
wifi/java/android/net/wifi/WifiStateMachine.java +4 −4 Original line number Diff line number Diff line Loading @@ -240,24 +240,24 @@ public class WifiStateMachine extends StateMachine { } @Override public void addressUpdated(String address, String iface, int flags, int scope) { public void addressUpdated(LinkAddress address, String iface, int flags, int scope) { if (mWifiStateMachine.mInterfaceName.equals(iface)) { if (DBG) { log("addressUpdated: " + address + " on " + iface + " flags " + flags + " scope " + scope); } mWifiStateMachine.sendMessage(CMD_IP_ADDRESS_UPDATED, new LinkAddress(address)); mWifiStateMachine.sendMessage(CMD_IP_ADDRESS_UPDATED, address); } } @Override public void addressRemoved(String address, String iface, int flags, int scope) { public void addressRemoved(LinkAddress address, String iface, int flags, int scope) { if (mWifiStateMachine.mInterfaceName.equals(iface)) { if (DBG) { log("addressRemoved: " + address + " on " + iface + " flags " + flags + " scope " + scope); } mWifiStateMachine.sendMessage(CMD_IP_ADDRESS_REMOVED, new LinkAddress(address)); mWifiStateMachine.sendMessage(CMD_IP_ADDRESS_REMOVED, address); } } } Loading