Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(111)

Unified Diff: remoting/client/jni/jni_client.cc

Issue 2753963002: Refactoring and rewriting the chromoting jni instance to be chromoting session. (Closed)
Patch Set: Pointer not obj. Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: remoting/client/jni/jni_client.cc
diff --git a/remoting/client/jni/jni_client.cc b/remoting/client/jni/jni_client.cc
index 85bd49da70552f62c6516577eaa57ee7f79f51c7..ae6948a6b01222d9f0f3e5b8f6556da09a894e9f 100644
--- a/remoting/client/jni/jni_client.cc
+++ b/remoting/client/jni/jni_client.cc
@@ -8,9 +8,10 @@
#include "base/android/jni_string.h"
#include "base/logging.h"
#include "jni/Client_jni.h"
+#include "remoting/client/audio_player_android.h"
#include "remoting/client/chromoting_client_runtime.h"
-#include "remoting/client/jni/chromoting_jni_instance.h"
-#include "remoting/client/jni/connect_to_host_info.h"
+#include "remoting/client/chromoting_session.h"
+#include "remoting/client/connect_to_host_info.h"
#include "remoting/client/jni/jni_gl_display_handler.h"
#include "remoting/client/jni/jni_pairing_secret_fetcher.h"
#include "remoting/client/jni/jni_touch_event_data.h"
@@ -40,15 +41,26 @@ JniClient::~JniClient() {
void JniClient::ConnectToHost(const ConnectToHostInfo& info) {
DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread());
DCHECK(!display_handler_);
+ DCHECK(!audio_player_);
DCHECK(!session_);
DCHECK(!secret_fetcher_);
display_handler_.reset(new JniGlDisplayHandler(java_client_));
secret_fetcher_.reset(
new JniPairingSecretFetcher(GetWeakPtr(), info.host_id));
- session_.reset(
- new ChromotingJniInstance(GetWeakPtr(), secret_fetcher_->GetWeakPtr(),
- display_handler_->CreateCursorShapeStub(),
- display_handler_->CreateVideoRenderer(), info));
+
+ protocol::ClientAuthenticationConfig client_auth_config;
+ client_auth_config.host_id = info.host_id;
+ client_auth_config.pairing_client_id = info.pairing_id;
+ client_auth_config.pairing_secret = info.pairing_secret;
+ client_auth_config.fetch_secret_callback =
+ base::Bind(&JniPairingSecretFetcher::FetchSecret, secret_fetcher_);
+
+ audio_player_.reset(new AudioPlayerAndroid());
+
+ session_.reset(new ChromotingSession(
+ GetWeakPtr(), display_handler_->CreateCursorShapeStub(),
+ display_handler_->CreateVideoRenderer(), audio_player_->GetWeakPtr(), info,
Yuwei 2017/03/21 20:40:30 Line longer than 80 characters.
nicholss 2017/03/29 20:32:36 Done.
+ client_auth_config));
session_->Connect();
}
@@ -64,6 +76,7 @@ void JniClient::DisconnectFromHost() {
secret_fetcher_.release());
}
display_handler_.reset();
+ audio_player_.reset();
}
void JniClient::OnConnectionState(protocol::ConnectionToHost::State state,
@@ -164,6 +177,7 @@ void JniClient::Connect(
info.host_version = ConvertJavaStringToUTF8(env, host_version);
info.host_os = ConvertJavaStringToUTF8(env, host_os);
info.host_os_version = ConvertJavaStringToUTF8(env, host_os_version);
+
ConnectToHost(info);
}
@@ -178,8 +192,18 @@ void JniClient::AuthenticationResponse(
const JavaParamRef<jstring>& pin,
jboolean createPair,
const JavaParamRef<jstring>& deviceName) {
- session_->ProvideSecret(ConvertJavaStringToUTF8(env, pin).c_str(), createPair,
- ConvertJavaStringToUTF8(env, deviceName));
+ if (session_) {
+ session_->ProvideSecret(ConvertJavaStringToUTF8(env, pin).c_str(),
Yuwei 2017/03/21 20:40:30 These c_str() calls are suspicious... Will it buil
nicholss 2017/03/29 20:32:36 I dropped them, it built locally but it was not an
+ createPair,
+ ConvertJavaStringToUTF8(env, deviceName));
+ }
+
+ if (secret_fetcher_) {
+ runtime_->network_task_runner()->PostTask(
+ FROM_HERE,
+ base::Bind(&JniPairingSecretFetcher::ProvideSecret, secret_fetcher_,
+ ConvertJavaStringToUTF8(env, pin).c_str()));
+ }
}
void JniClient::SendMouseEvent(
@@ -261,7 +285,7 @@ void JniClient::OnThirdPartyTokenFetched(
const JavaParamRef<jstring>& shared_secret) {
runtime_->network_task_runner()->PostTask(
FROM_HERE,
- base::Bind(&ChromotingJniInstance::HandleOnThirdPartyTokenFetched,
+ base::Bind(&ChromotingSession::HandleOnThirdPartyTokenFetched,
session_->GetWeakPtr(), ConvertJavaStringToUTF8(env, token),
ConvertJavaStringToUTF8(env, shared_secret)));
}

Powered by Google App Engine
This is Rietveld 408576698