OLD | NEW |
---|---|
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "remoting/client/jni/jni_client.h" | 5 #include "remoting/client/jni/jni_client.h" |
6 | 6 |
7 #include "base/android/jni_android.h" | 7 #include "base/android/jni_android.h" |
8 #include "base/android/jni_string.h" | 8 #include "base/android/jni_string.h" |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "jni/Client_jni.h" | 10 #include "jni/Client_jni.h" |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
63 DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread()); | 63 DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread()); |
64 if (session_) { | 64 if (session_) { |
65 session_->Disconnect(); | 65 session_->Disconnect(); |
66 runtime_->network_task_runner()->DeleteSoon(FROM_HERE, | 66 runtime_->network_task_runner()->DeleteSoon(FROM_HERE, |
67 session_.release()); | 67 session_.release()); |
68 } | 68 } |
69 if (secret_fetcher_) { | 69 if (secret_fetcher_) { |
70 runtime_->network_task_runner()->DeleteSoon(FROM_HERE, | 70 runtime_->network_task_runner()->DeleteSoon(FROM_HERE, |
71 secret_fetcher_.release()); | 71 secret_fetcher_.release()); |
72 } | 72 } |
73 if (display_handler_) { | |
74 runtime_->display_task_runner()->DeleteSoon(FROM_HERE, | |
75 display_handler_.release()); | |
76 } | |
73 } | 77 } |
74 | 78 |
75 void JniClient::OnConnectionState(protocol::ConnectionToHost::State state, | 79 void JniClient::OnConnectionState(protocol::ConnectionToHost::State state, |
76 protocol::ErrorCode error) { | 80 protocol::ErrorCode error) { |
77 DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread()); | 81 DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread()); |
78 | 82 |
79 JNIEnv* env = base::android::AttachCurrentThread(); | 83 JNIEnv* env = base::android::AttachCurrentThread(); |
80 Java_Client_onConnectionState(env, java_client_.obj(), state, error); | 84 Java_Client_onConnectionState(env, java_client_.obj(), state, error); |
81 } | 85 } |
82 | 86 |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
140 } | 144 } |
141 | 145 |
142 // static | 146 // static |
143 bool JniClient::RegisterJni(JNIEnv* env) { | 147 bool JniClient::RegisterJni(JNIEnv* env) { |
144 return RegisterNativesImpl(env); | 148 return RegisterNativesImpl(env); |
145 } | 149 } |
146 | 150 |
147 void JniClient::Connect( | 151 void JniClient::Connect( |
148 JNIEnv* env, | 152 JNIEnv* env, |
149 const base::android::JavaParamRef<jobject>& caller, | 153 const base::android::JavaParamRef<jobject>& caller, |
150 jlong display_handler, | |
151 const base::android::JavaParamRef<jstring>& username, | 154 const base::android::JavaParamRef<jstring>& username, |
152 const base::android::JavaParamRef<jstring>& authToken, | 155 const base::android::JavaParamRef<jstring>& authToken, |
153 const base::android::JavaParamRef<jstring>& hostJid, | 156 const base::android::JavaParamRef<jstring>& hostJid, |
154 const base::android::JavaParamRef<jstring>& hostId, | 157 const base::android::JavaParamRef<jstring>& hostId, |
155 const base::android::JavaParamRef<jstring>& hostPubkey, | 158 const base::android::JavaParamRef<jstring>& hostPubkey, |
156 const base::android::JavaParamRef<jstring>& pairId, | 159 const base::android::JavaParamRef<jstring>& pairId, |
157 const base::android::JavaParamRef<jstring>& pairSecret, | 160 const base::android::JavaParamRef<jstring>& pairSecret, |
158 const base::android::JavaParamRef<jstring>& capabilities, | 161 const base::android::JavaParamRef<jstring>& capabilities, |
159 const base::android::JavaParamRef<jstring>& flags) { | 162 const base::android::JavaParamRef<jstring>& flags) { |
160 // TODO(yuweih): Remove this line when JniClient owns JniDisplayHandler. | 163 #if defined(REMOTING_ANDROID_ENABLE_OPENGL_RENDERER) |
161 DisplayUpdaterFactory* factory_ptr = reinterpret_cast<JniDisplayHandler*>( | 164 NOTIMPLEMENTED(); |
Lambros
2016/06/29 00:18:39
This won't compile - raw_display_handler will be u
Yuwei
2016/06/29 00:40:10
That's right but I don't think it matters? I would
Sergey Ulanov
2016/06/30 18:52:51
It doesn't matter much, but this code will fail to
Yuwei
2016/06/30 19:52:02
Done.
| |
162 display_handler); | 165 #else |
163 DCHECK(factory_ptr); | 166 JniDisplayHandler* raw_display_handler = new JniDisplayHandler(runtime_); |
164 ConnectToHost(factory_ptr, | 167 #endif // defined(REMOTING_ANDROID_ENABLE_OPENGL_RENDERER) |
168 Java_Client_setDisplay(env, java_client_.obj(), | |
169 raw_display_handler->GetJavaDisplay().obj()); | |
170 display_handler_.reset(raw_display_handler); | |
171 ConnectToHost(raw_display_handler, | |
165 ConvertJavaStringToUTF8(env, username), | 172 ConvertJavaStringToUTF8(env, username), |
166 ConvertJavaStringToUTF8(env, authToken), | 173 ConvertJavaStringToUTF8(env, authToken), |
167 ConvertJavaStringToUTF8(env, hostJid), | 174 ConvertJavaStringToUTF8(env, hostJid), |
168 ConvertJavaStringToUTF8(env, hostId), | 175 ConvertJavaStringToUTF8(env, hostId), |
169 ConvertJavaStringToUTF8(env, hostPubkey), | 176 ConvertJavaStringToUTF8(env, hostPubkey), |
170 ConvertJavaStringToUTF8(env, pairId), | 177 ConvertJavaStringToUTF8(env, pairId), |
171 ConvertJavaStringToUTF8(env, pairSecret), | 178 ConvertJavaStringToUTF8(env, pairSecret), |
172 ConvertJavaStringToUTF8(env, capabilities), | 179 ConvertJavaStringToUTF8(env, capabilities), |
173 ConvertJavaStringToUTF8(env, flags)); | 180 ConvertJavaStringToUTF8(env, flags)); |
174 } | 181 } |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
289 return weak_factory_.GetWeakPtr(); | 296 return weak_factory_.GetWeakPtr(); |
290 } | 297 } |
291 | 298 |
292 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& caller) { | 299 static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& caller) { |
293 return reinterpret_cast<intptr_t>( | 300 return reinterpret_cast<intptr_t>( |
294 new JniClient(ChromotingJniRuntime::GetInstance(), | 301 new JniClient(ChromotingJniRuntime::GetInstance(), |
295 base::android::ScopedJavaGlobalRef<jobject>(env, caller))); | 302 base::android::ScopedJavaGlobalRef<jobject>(env, caller))); |
296 } | 303 } |
297 | 304 |
298 } // namespace remoting | 305 } // namespace remoting |
OLD | NEW |