diff options
| -rw-r--r-- | core/java/android/net/ConnectivityManager.java | 33 | ||||
| -rw-r--r-- | core/jni/android/graphics/NinePatchImpl.cpp | 2 | ||||
| -rw-r--r-- | media/jni/android_media_MediaRecorder.cpp | 2 | ||||
| -rw-r--r-- | media/jni/audioeffect/android_media_Visualizer.cpp | 2 |
4 files changed, 21 insertions, 18 deletions
diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java index 865e4a55571f..1a5180841602 100644 --- a/core/java/android/net/ConnectivityManager.java +++ b/core/java/android/net/ConnectivityManager.java @@ -935,10 +935,8 @@ public class ConnectivityManager { return -1; } - NetworkCallback networkCallback = removeRequestForFeature(netCap); - if (networkCallback != null) { + if (removeRequestForFeature(netCap)) { Log.d(TAG, "stopUsingNetworkFeature for " + networkType + ", " + feature); - unregisterNetworkCallback(networkCallback); } return 1; } @@ -1105,6 +1103,14 @@ public class ConnectivityManager { int expireSequenceNumber; Network currentNetwork; int delay = -1; + + private void clearDnsBinding() { + if (currentNetwork != null) { + currentNetwork = null; + setProcessDefaultNetworkForHostResolution(null); + } + } + NetworkCallback networkCallback = new NetworkCallback() { @Override public void onAvailable(Network network) { @@ -1114,10 +1120,7 @@ public class ConnectivityManager { } @Override public void onLost(Network network) { - if (network.equals(currentNetwork)) { - currentNetwork = null; - setProcessDefaultNetworkForHostResolution(null); - } + if (network.equals(currentNetwork)) clearDnsBinding(); Log.d(TAG, "startUsingNetworkFeature lost Network:" + network); } }; @@ -1146,10 +1149,7 @@ public class ConnectivityManager { LegacyRequest l = sLegacyRequests.get(netCap); if (l == null) return; ourSeqNum = l.expireSequenceNumber; - if (l.expireSequenceNumber == sequenceNum) { - unregisterNetworkCallback(l.networkCallback); - sLegacyRequests.remove(netCap); - } + if (l.expireSequenceNumber == sequenceNum) removeRequestForFeature(netCap); } Log.d(TAG, "expireRequest with " + ourSeqNum + ", " + sequenceNum); } @@ -1180,12 +1180,15 @@ public class ConnectivityManager { } } - private NetworkCallback removeRequestForFeature(NetworkCapabilities netCap) { + private boolean removeRequestForFeature(NetworkCapabilities netCap) { + final LegacyRequest l; synchronized (sLegacyRequests) { - LegacyRequest l = sLegacyRequests.remove(netCap); - if (l == null) return null; - return l.networkCallback; + l = sLegacyRequests.remove(netCap); } + if (l == null) return false; + unregisterNetworkCallback(l.networkCallback); + l.clearDnsBinding(); + return true; } /** diff --git a/core/jni/android/graphics/NinePatchImpl.cpp b/core/jni/android/graphics/NinePatchImpl.cpp index 4c589b703b80..26ce96728516 100644 --- a/core/jni/android/graphics/NinePatchImpl.cpp +++ b/core/jni/android/graphics/NinePatchImpl.cpp @@ -206,7 +206,7 @@ void NinePatch_Draw(SkCanvas* canvas, const SkRect& bounds, src.fTop = 0; dst.fTop = bounds.fTop; // The first row always starts with the top being at y=0 and the bottom - // being either yDivs[1] (if yDivs[0]=0) of yDivs[0]. In the former case + // being either yDivs[1] (if yDivs[0]=0) or yDivs[0]. In the former case // the first row is stretchable along the Y axis, otherwise it is fixed. // The last row always ends with the bottom being bitmap.height and the top // being either yDivs[numYDivs-2] (if yDivs[numYDivs-1]=bitmap.height) or diff --git a/media/jni/android_media_MediaRecorder.cpp b/media/jni/android_media_MediaRecorder.cpp index 635a5199a030..8b7d40d03ed1 100644 --- a/media/jni/android_media_MediaRecorder.cpp +++ b/media/jni/android_media_MediaRecorder.cpp @@ -102,7 +102,7 @@ void JNIMediaRecorderListener::notify(int msg, int ext1, int ext2) ALOGV("JNIMediaRecorderListener::notify"); JNIEnv *env = AndroidRuntime::getJNIEnv(); - env->CallStaticVoidMethod(mClass, fields.post_event, mObject, msg, ext1, ext2, 0); + env->CallStaticVoidMethod(mClass, fields.post_event, mObject, msg, ext1, ext2, NULL); } // ---------------------------------------------------------------------------- diff --git a/media/jni/audioeffect/android_media_Visualizer.cpp b/media/jni/audioeffect/android_media_Visualizer.cpp index 9183ad2a42cf..460277fe6766 100644 --- a/media/jni/audioeffect/android_media_Visualizer.cpp +++ b/media/jni/audioeffect/android_media_Visualizer.cpp @@ -325,7 +325,7 @@ static void android_media_visualizer_effect_callback(int32_t event, fields.midPostNativeEvent, callbackInfo->visualizer_ref, NATIVE_EVENT_SERVER_DIED, - 0, 0, 0); + 0, 0, NULL); } } |