| Index: remoting/host/android/jni_host.cc
|
| diff --git a/remoting/host/android/jni_host.cc b/remoting/host/android/jni_host.cc
|
| index f6ae73cd911f3a66c2bcda4db2a138bfb50a46e6..11b3bcc90e7f26bc1a1583c9779eacc0d9ae6c84 100644
|
| --- a/remoting/host/android/jni_host.cc
|
| +++ b/remoting/host/android/jni_host.cc
|
| @@ -92,7 +92,12 @@ void JniHost::Connect(JNIEnv* env,
|
| }
|
|
|
| void JniHost::Disconnect(JNIEnv* env,
|
| - const base::android::JavaParamRef<jobject>& caller) {}
|
| + const base::android::JavaParamRef<jobject>& caller) {
|
| + if (it2me_host_) {
|
| + it2me_host_->Disconnect();
|
| + it2me_host_ = nullptr;
|
| + }
|
| +}
|
|
|
| void JniHost::OnClientAuthenticated(const std::string& client_username) {
|
| HOST_LOG << "OnClientAuthenticated: " << client_username;
|
| @@ -112,6 +117,10 @@ void JniHost::OnNatPolicyChanged(bool nat_traversal_enabled) {
|
|
|
| void JniHost::OnStateChanged(It2MeHostState state,
|
| const std::string& error_message) {
|
| + if (state == kDisconnected) {
|
| + it2me_host_ = nullptr;
|
| + }
|
| +
|
| JNIEnv* env = base::android::AttachCurrentThread();
|
| Java_Host_onStateChanged(env, java_host_.obj(), state,
|
| ConvertUTF8ToJavaString(env, error_message).obj());
|
|
|