Chromium Code Reviews| Index: blimp/client/app/android/blimp_client_session_android.cc |
| diff --git a/blimp/client/app/android/blimp_client_session_android.cc b/blimp/client/app/android/blimp_client_session_android.cc |
| index 97b8372cfbc3010c39fb73258dab747be58153fd..677ea6f4090020c2bcbcd8b04f70d329276f9ead 100644 |
| --- a/blimp/client/app/android/blimp_client_session_android.cc |
| +++ b/blimp/client/app/android/blimp_client_session_android.cc |
| @@ -4,6 +4,7 @@ |
| #include "blimp/client/app/android/blimp_client_session_android.h" |
| +#include "base/android/jni_string.h" |
| #include "base/thread_task_runner_handle.h" |
| #include "blimp/client/feature/tab_control_feature.h" |
| #include "blimp/client/session/assignment_source.h" |
| @@ -16,10 +17,7 @@ const int kDummyTabId = 0; |
| } // namespace |
| static jlong Init(JNIEnv* env, const JavaParamRef<jobject>& jobj) { |
| - scoped_ptr<AssignmentSource> assignment_source = make_scoped_ptr( |
| - new AssignmentSource(base::ThreadTaskRunnerHandle::Get())); |
| - return reinterpret_cast<intptr_t>( |
| - new BlimpClientSessionAndroid(env, jobj, std::move(assignment_source))); |
| + return reinterpret_cast<intptr_t>(new BlimpClientSessionAndroid(env, jobj)); |
| } |
| // static |
| @@ -37,9 +35,7 @@ BlimpClientSessionAndroid* BlimpClientSessionAndroid::FromJavaObject( |
| BlimpClientSessionAndroid::BlimpClientSessionAndroid( |
| JNIEnv* env, |
| - const base::android::JavaParamRef<jobject>& jobj, |
| - scoped_ptr<AssignmentSource> assignment_source) |
| - : BlimpClientSession(std::move(assignment_source)) { |
| + const base::android::JavaParamRef<jobject>& jobj) { |
| java_obj_.Reset(env, jobj); |
| // Create a single tab's WebContents. |
| @@ -49,8 +45,15 @@ BlimpClientSessionAndroid::BlimpClientSessionAndroid( |
| void BlimpClientSessionAndroid::Connect( |
| JNIEnv* env, |
| - const base::android::JavaParamRef<jobject>& jobj) { |
| - BlimpClientSession::Connect(); |
| + const base::android::JavaParamRef<jobject>& jobj, |
|
nyquist
2016/02/18 01:58:39
Nit: Should we include base/android/scoped_java_re
David Trainor- moved to gerrit
2016/02/18 16:01:54
Done.
|
| + const base::android::JavaParamRef<jstring>& jclient_auth_token) { |
| + std::string client_auth_token; |
| + if (jclient_auth_token.obj()) { |
| + client_auth_token = |
| + base::android::ConvertJavaStringToUTF8(env, jclient_auth_token); |
| + } |
| + |
| + BlimpClientSession::Connect(client_auth_token); |
| } |
| BlimpClientSessionAndroid::~BlimpClientSessionAndroid() {} |
| @@ -60,5 +63,15 @@ void BlimpClientSessionAndroid::Destroy(JNIEnv* env, |
| delete this; |
| } |
| +void BlimpClientSessionAndroid::OnAssignmentConnectionAttempted( |
| + AssignmentSource::Result result) { |
| + // Notify the front end of the assignment result. |
| + JNIEnv* env = base::android::AttachCurrentThread(); |
| + Java_BlimpClientSession_onAssignmentReceived(env, java_obj_.obj(), |
| + static_cast<jint>(result)); |
| + |
| + BlimpClientSession::OnAssignmentConnectionAttempted(result); |
| +} |
| + |
| } // namespace client |
| } // namespace blimp |