OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "chrome/browser/sync/profile_sync_service_android.h" | 5 #include "chrome/browser/sync/profile_sync_service_android.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/bind.h" | 9 #include "base/bind.h" |
10 #include "base/i18n/time_formatting.h" | 10 #include "base/i18n/time_formatting.h" |
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
244 } | 244 } |
245 | 245 |
246 void ProfileSyncServiceAndroid::SignInSync( | 246 void ProfileSyncServiceAndroid::SignInSync( |
247 JNIEnv* env, jobject, jstring username, jstring auth_token) { | 247 JNIEnv* env, jobject, jstring username, jstring auth_token) { |
248 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 248 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
249 // Just return if sync already has everything it needs to start up (sync | 249 // Just return if sync already has everything it needs to start up (sync |
250 // should start up automatically as long as it has credentials). This can | 250 // should start up automatically as long as it has credentials). This can |
251 // happen normally if (for example) the user closes and reopens the sync | 251 // happen normally if (for example) the user closes and reopens the sync |
252 // settings window quickly during initial startup. | 252 // settings window quickly during initial startup. |
253 if (sync_service_->IsSyncEnabledAndLoggedIn() && | 253 if (sync_service_->IsSyncEnabledAndLoggedIn() && |
254 sync_service_->IsSyncTokenAvailable() && | 254 sync_service_->IsOAuthRefreshTokenAvailable() && |
255 sync_service_->HasSyncSetupCompleted()) { | 255 sync_service_->HasSyncSetupCompleted()) { |
256 return; | 256 return; |
257 } | 257 } |
258 | 258 |
259 if (!sync_service_->IsSyncEnabledAndLoggedIn() || | 259 if (!sync_service_->IsSyncEnabledAndLoggedIn() || |
260 !sync_service_->IsSyncTokenAvailable()) { | 260 !sync_service_->IsOAuthRefreshTokenAvailable()) { |
261 // Set the currently-signed-in username, fetch an auth token if necessary, | 261 // Set the currently-signed-in username, fetch an auth token if necessary, |
262 // and enable sync. | 262 // and enable sync. |
263 std::string name = ConvertJavaStringToUTF8(env, username); | 263 std::string name = ConvertJavaStringToUTF8(env, username); |
264 // TODO(tim) It should be enough to only call | 264 // TODO(tim) It should be enough to only call |
265 // SigninManager::SetAuthenticatedUsername here. See | 265 // SigninManager::SetAuthenticatedUsername here. See |
266 // http://crbug.com/107160. | 266 // http://crbug.com/107160. |
267 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, name); | 267 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, name); |
268 SigninManagerFactory::GetForProfile(profile_)-> | 268 SigninManagerFactory::GetForProfile(profile_)-> |
269 SetAuthenticatedUsername(name); | 269 SetAuthenticatedUsername(name); |
270 std::string token = ConvertJavaStringToUTF8(env, auth_token); | 270 std::string token = ConvertJavaStringToUTF8(env, auth_token); |
(...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
631 ProfileSyncServiceAndroid* profile_sync_service_android = | 631 ProfileSyncServiceAndroid* profile_sync_service_android = |
632 new ProfileSyncServiceAndroid(env, obj); | 632 new ProfileSyncServiceAndroid(env, obj); |
633 profile_sync_service_android->Init(); | 633 profile_sync_service_android->Init(); |
634 return reinterpret_cast<jint>(profile_sync_service_android); | 634 return reinterpret_cast<jint>(profile_sync_service_android); |
635 } | 635 } |
636 | 636 |
637 // static | 637 // static |
638 bool ProfileSyncServiceAndroid::Register(JNIEnv* env) { | 638 bool ProfileSyncServiceAndroid::Register(JNIEnv* env) { |
639 return RegisterNativesImpl(env); | 639 return RegisterNativesImpl(env); |
640 } | 640 } |
OLD | NEW |