summaryrefslogtreecommitdiffstats
path: root/core/java/android/server
diff options
context:
space:
mode:
authorRobert Greenwalt <rgreenwalt@google.com>2011-02-03 13:17:48 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-02-03 13:17:48 -0800
commitf8d40f0d55fdf7046b013cc7d74a4cd199484f7a (patch)
treeef7139223949935f14da2e81a8b61792fbc8d7b6 /core/java/android/server
parent770d02c2fa8de1430c2c3b778efb6f2717edcd47 (diff)
parented1264093234b1f1354cd5f669eb82a50bb56869 (diff)
downloadframeworks_base-f8d40f0d55fdf7046b013cc7d74a4cd199484f7a.zip
frameworks_base-f8d40f0d55fdf7046b013cc7d74a4cd199484f7a.tar.gz
frameworks_base-f8d40f0d55fdf7046b013cc7d74a4cd199484f7a.tar.bz2
Merge "Bind addr and prefixLength together in LinkAddress"
Diffstat (limited to 'core/java/android/server')
-rw-r--r--core/java/android/server/BluetoothService.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/core/java/android/server/BluetoothService.java b/core/java/android/server/BluetoothService.java
index ab1e9c6..a92d507 100644
--- a/core/java/android/server/BluetoothService.java
+++ b/core/java/android/server/BluetoothService.java
@@ -47,6 +47,7 @@ import android.content.SharedPreferences;
import android.content.res.Resources.NotFoundException;
import android.net.ConnectivityManager;
import android.net.InterfaceConfiguration;
+import android.net.LinkAddress;
import android.os.Binder;
import android.os.Handler;
import android.os.IBinder;
@@ -1682,12 +1683,15 @@ public class BluetoothService extends IBluetooth.Stub {
try {
ifcg = service.getInterfaceConfig(iface);
if (ifcg != null) {
- ifcg.mask = InetAddress.getByName(BLUETOOTH_NETMASK);
-
- if (ifcg.addr == null || ifcg.addr.equals(InetAddress.getByName("0.0.0.0"))) {
- ifcg.addr = InetAddress.getByName(address);
- ifcg.interfaceFlags = ifcg.interfaceFlags.replace("down", "up");
+ InetAddress mask = InetAddress.getByName(BLUETOOTH_NETMASK);
+ InetAddress addr = null;
+ if (ifcg.addr == null || (addr = ifcg.addr.getAddress()) == null ||
+ addr.equals(InetAddress.getByName("0.0.0.0")) ||
+ addr.equals(InetAddress.getByName("::0"))) {
+ addr = InetAddress.getByName(address);
}
+ ifcg.interfaceFlags = ifcg.interfaceFlags.replace("down", "up");
+ ifcg.addr = new LinkAddress(addr, mask);
ifcg.interfaceFlags = ifcg.interfaceFlags.replace("running", "");
ifcg.interfaceFlags = ifcg.interfaceFlags.replace(" "," ");
service.setInterfaceConfig(iface, ifcg);