Index: talk/app/webrtc/java/jni/peerconnection_jni.cc |
diff --git a/talk/app/webrtc/java/jni/peerconnection_jni.cc b/talk/app/webrtc/java/jni/peerconnection_jni.cc |
index 5fa1617644d048e0933c947a5e8002fa63b6c970..9a2054a2b26e38d5880570f0646741958d5f7280 100644 |
--- a/talk/app/webrtc/java/jni/peerconnection_jni.cc |
+++ b/talk/app/webrtc/java/jni/peerconnection_jni.cc |
@@ -74,6 +74,7 @@ |
#include "webrtc/base/checks.h" |
#include "webrtc/base/logging.h" |
#include "webrtc/base/logsinks.h" |
+#include "webrtc/base/networkchangenotifier.h" |
#include "webrtc/base/messagequeue.h" |
#include "webrtc/base/ssladapter.h" |
#include "webrtc/base/stringutils.h" |
@@ -1102,6 +1103,9 @@ JOW(jlong, PeerConnectionFactory_nativeCreatePeerConnectionFactory)( |
encoder_factory = new MediaCodecVideoEncoderFactory(); |
decoder_factory = new MediaCodecVideoDecoderFactory(); |
} |
+ rtc::NetworkChangeNotifierFactory* network_change_notifier_factory = |
+ rtc::NetworkChangeNotifierFactory::CreateFactory(); |
+ rtc::NetworkChangeNotifier::SetFactory(network_change_notifier_factory); |
#endif |
rtc::scoped_refptr<PeerConnectionFactoryInterface> factory( |
webrtc::CreatePeerConnectionFactory(worker_thread, |
@@ -1871,4 +1875,24 @@ JOW(jbyteArray, CallSessionFileRotatingLogSink_nativeGetLogData)( |
return result; |
} |
+JOW(jlong, NetworkChangeNotifier_nativeCreateNetworkChangeNotifier)( |
+ JNIEnv* jni, jobject j_notifier) { |
+ rtc::NetworkChangeNotifierFactory* factory = |
+ rtc::NetworkChangeNotifier::GetFactory(); |
+ if (factory == nullptr) { |
+ return 0L; |
+ } |
+ rtc::NetworkChangeNotifierDelegate* delegate = factory->CreateDelegate(); |
+ return jlongFromPointer(delegate); |
+} |
+ |
+JOW(void, NetworkChangeNotifier_nativeNotifyConnectionTypeChanged)( |
+ JNIEnv* jni, jobject j_notifier, jlong j_native_notifier) { |
+ rtc::NetworkChangeNotifierDelegate* delegate = |
+ reinterpret_cast<rtc::NetworkChangeNotifierDelegate*>(j_native_notifier); |
+ if (delegate != nullptr) { |
+ delegate->OnNetworkChangeNotified(); |
+ } |
+} |
+ |
} // namespace webrtc_jni |