Merge change Ia3acc2ee into eclair

* changes:
  Fix pairings lost on reboot.
diff --git a/core/java/android/server/BluetoothEventLoop.java b/core/java/android/server/BluetoothEventLoop.java
index c0b9a68..cb3b6ee 100644
--- a/core/java/android/server/BluetoothEventLoop.java
+++ b/core/java/android/server/BluetoothEventLoop.java
@@ -292,9 +292,9 @@
             mBluetoothService.setProperty(name, propValues[1]);
         } else if (name.equals("Pairable") || name.equals("Discoverable")) {
             String pairable = name.equals("Pairable") ? propValues[1] :
-                mBluetoothService.getProperty("Pairable");
+                mBluetoothService.getPropertyInternal("Pairable");
             String discoverable = name.equals("Discoverable") ? propValues[1] :
-                mBluetoothService.getProperty("Discoverable");
+                mBluetoothService.getPropertyInternal("Discoverable");
 
             // This shouldn't happen, unless Adapter Properties are null.
             if (pairable == null || discoverable == null)
diff --git a/core/java/android/server/BluetoothService.java b/core/java/android/server/BluetoothService.java
index 809e230..db9f34a 100644
--- a/core/java/android/server/BluetoothService.java
+++ b/core/java/android/server/BluetoothService.java
@@ -531,7 +531,7 @@
                 return;
             }
             String []bonds = null;
-            String val = getProperty("Devices");
+            String val = getPropertyInternal("Devices");
             if (val != null) {
                 bonds = val.split(",");
             }
@@ -681,7 +681,6 @@
     /*package*/synchronized void getAllProperties() {
 
         mContext.enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission");
-        if (!isEnabledInternal()) return;
         mAdapterProperties.clear();
 
         String properties[] = (String [])getAdapterPropertiesNative();
@@ -806,7 +805,12 @@
         return true;
     }
 
-    /*package*/ synchronized String getProperty (String name) {
+    /*package*/ synchronized String getProperty(String name) {
+        if (!isEnabledInternal()) return null;
+        return getPropertyInternal(name);
+    }
+
+    /*package*/ synchronized String getPropertyInternal(String name) {
         if (!mAdapterProperties.isEmpty())
             return mAdapterProperties.get(name);
         getAllProperties();
@@ -1639,7 +1643,7 @@
     }
 
     /*package*/ String getAddressFromObjectPath(String objectPath) {
-        String adapterObjectPath = getProperty("ObjectPath");
+        String adapterObjectPath = getPropertyInternal("ObjectPath");
         if (adapterObjectPath == null || objectPath == null) {
             Log.e(TAG, "getAddressFromObjectPath: AdpaterObjectPath:" + adapterObjectPath +
                     "  or deviceObjectPath:" + objectPath + " is null");
@@ -1659,7 +1663,7 @@
     }
 
     /*package*/ String getObjectPathFromAddress(String address) {
-        String path = getProperty("ObjectPath");
+        String path = getPropertyInternal("ObjectPath");
         if (path == null) {
             Log.e(TAG, "Error: Object Path is null");
             return null;
diff --git a/core/jni/.android_server_BluetoothEventLoop.cpp.swp b/core/jni/.android_server_BluetoothEventLoop.cpp.swp
deleted file mode 100644
index d36e403..0000000
--- a/core/jni/.android_server_BluetoothEventLoop.cpp.swp
+++ /dev/null
Binary files differ