diff options
Diffstat (limited to 'core')
| -rw-r--r-- | core/java/android/net/nsd/DnsSdTxtRecord.java | 22 | ||||
| -rw-r--r-- | core/jni/android_net_wifi_Wifi.cpp | 3 |
2 files changed, 23 insertions, 2 deletions
diff --git a/core/java/android/net/nsd/DnsSdTxtRecord.java b/core/java/android/net/nsd/DnsSdTxtRecord.java index 6d4342c..952e02f 100644 --- a/core/java/android/net/nsd/DnsSdTxtRecord.java +++ b/core/java/android/net/nsd/DnsSdTxtRecord.java @@ -24,6 +24,8 @@ package android.net.nsd; import android.os.Parcelable; import android.os.Parcel; +import java.util.Arrays; + /** * This class handles TXT record data for DNS based service discovery as specified at * http://tools.ietf.org/html/draft-cheshire-dnsext-dns-sd-11 @@ -160,7 +162,7 @@ public class DnsSdTxtRecord implements Parcelable { /* Gets the raw data in bytes */ public byte[] getRawData() { - return mData; + return (byte[]) mData.clone(); } private void insert(byte[] keyBytes, byte[] value, int index) { @@ -279,6 +281,24 @@ public class DnsSdTxtRecord implements Parcelable { return result != null ? result : ""; } + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + if (!(o instanceof DnsSdTxtRecord)) { + return false; + } + + DnsSdTxtRecord record = (DnsSdTxtRecord)o; + return Arrays.equals(record.mData, mData); + } + + @Override + public int hashCode() { + return Arrays.hashCode(mData); + } + /** Implement the Parcelable interface */ public int describeContents() { return 0; diff --git a/core/jni/android_net_wifi_Wifi.cpp b/core/jni/android_net_wifi_Wifi.cpp index c5ff16e..e7c4c23 100644 --- a/core/jni/android_net_wifi_Wifi.cpp +++ b/core/jni/android_net_wifi_Wifi.cpp @@ -27,6 +27,7 @@ #define WIFI_PKG_NAME "android/net/wifi/WifiNative" #define BUF_SIZE 256 +#define EVENT_BUF_SIZE 2048 namespace android { @@ -140,7 +141,7 @@ static void android_net_wifi_closeSupplicantConnection(JNIEnv* env, jobject, jst static jstring android_net_wifi_waitForEvent(JNIEnv* env, jobject, jstring jIface) { - char buf[BUF_SIZE]; + char buf[EVENT_BUF_SIZE]; ScopedUtfChars ifname(env, jIface); int nread = ::wifi_wait_for_event(ifname.c_str(), buf, sizeof buf); if (nread > 0) { |
