| 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 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 245 } | 245 } |
| 246 | 246 |
| 247 void ProfileSyncServiceAndroid::SignInSync( | 247 void ProfileSyncServiceAndroid::SignInSync( |
| 248 JNIEnv* env, jobject, jstring username, jstring auth_token) { | 248 JNIEnv* env, jobject, jstring username, jstring auth_token) { |
| 249 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 249 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 250 // Just return if sync already has everything it needs to start up (sync | 250 // Just return if sync already has everything it needs to start up (sync |
| 251 // should start up automatically as long as it has credentials). This can | 251 // should start up automatically as long as it has credentials). This can |
| 252 // happen normally if (for example) the user closes and reopens the sync | 252 // happen normally if (for example) the user closes and reopens the sync |
| 253 // settings window quickly during initial startup. | 253 // settings window quickly during initial startup. |
| 254 if (sync_service_->IsSyncEnabledAndLoggedIn() && | 254 if (sync_service_->IsSyncEnabledAndLoggedIn() && |
| 255 sync_service_->IsSyncTokenAvailable() && | 255 sync_service_->IsOAuthRefreshTokenAvailable() && |
| 256 sync_service_->HasSyncSetupCompleted()) { | 256 sync_service_->HasSyncSetupCompleted()) { |
| 257 return; | 257 return; |
| 258 } | 258 } |
| 259 | 259 |
| 260 if (!sync_service_->IsSyncEnabledAndLoggedIn() || | 260 if (!sync_service_->IsSyncEnabledAndLoggedIn() || |
| 261 !sync_service_->IsSyncTokenAvailable()) { | 261 !sync_service_->IsOAuthRefreshTokenAvailable()) { |
| 262 // Set the currently-signed-in username, fetch an auth token if necessary, | 262 // Set the currently-signed-in username, fetch an auth token if necessary, |
| 263 // and enable sync. | 263 // and enable sync. |
| 264 std::string name = ConvertJavaStringToUTF8(env, username); | 264 std::string name = ConvertJavaStringToUTF8(env, username); |
| 265 // TODO(tim) It should be enough to only call | 265 // TODO(tim) It should be enough to only call |
| 266 // SigninManager::SetAuthenticatedUsername here. See | 266 // SigninManager::SetAuthenticatedUsername here. See |
| 267 // http://crbug.com/107160. | 267 // http://crbug.com/107160. |
| 268 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, name); | 268 profile_->GetPrefs()->SetString(prefs::kGoogleServicesUsername, name); |
| 269 SigninManagerFactory::GetForProfile(profile_)-> | 269 SigninManagerFactory::GetForProfile(profile_)-> |
| 270 SetAuthenticatedUsername(name); | 270 SetAuthenticatedUsername(name); |
| 271 std::string token = ConvertJavaStringToUTF8(env, auth_token); | 271 std::string token = ConvertJavaStringToUTF8(env, auth_token); |
| (...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 638 ProfileSyncServiceAndroid* profile_sync_service_android = | 638 ProfileSyncServiceAndroid* profile_sync_service_android = |
| 639 new ProfileSyncServiceAndroid(env, obj); | 639 new ProfileSyncServiceAndroid(env, obj); |
| 640 profile_sync_service_android->Init(); | 640 profile_sync_service_android->Init(); |
| 641 return reinterpret_cast<jint>(profile_sync_service_android); | 641 return reinterpret_cast<jint>(profile_sync_service_android); |
| 642 } | 642 } |
| 643 | 643 |
| 644 // static | 644 // static |
| 645 bool ProfileSyncServiceAndroid::Register(JNIEnv* env) { | 645 bool ProfileSyncServiceAndroid::Register(JNIEnv* env) { |
| 646 return RegisterNativesImpl(env); | 646 return RegisterNativesImpl(env); |
| 647 } | 647 } |
| OLD | NEW |