Chromium Code Reviews| Index: google_apis/gcm/tools/mcs_probe.cc |
| diff --git a/google_apis/gcm/tools/mcs_probe.cc b/google_apis/gcm/tools/mcs_probe.cc |
| index 7dce59346cc9d5bbd036ed9a0b21a28f022e890d..2383ac7de59a76788f392819ccea56d8107fb18e 100644 |
| --- a/google_apis/gcm/tools/mcs_probe.cc |
| +++ b/google_apis/gcm/tools/mcs_probe.cc |
| @@ -182,6 +182,7 @@ class MCSProbe { |
| void BuildNetworkSession(); |
| void LoadCallback(scoped_ptr<GCMStore::LoadResult> load_result); |
| + void UpdateCallback(bool success); |
| void ErrorCallback(); |
| void OnCheckInCompleted(uint64 android_id, uint64 secret); |
| @@ -282,8 +283,19 @@ void MCSProbe::Start() { |
| void MCSProbe::LoadCallback(scoped_ptr<GCMStore::LoadResult> load_result) { |
| DCHECK(load_result->success); |
| - android_id_ = load_result->device_android_id; |
| - secret_ = load_result->device_security_token; |
| + if (android_id_ != 0 && secret_ != 0) { |
| + DVLOG(1) << "Presetting MCS id " << android_id_; |
| + load_result->device_android_id = android_id_; |
| + load_result->device_security_token = secret_; |
| + gcm_store_->SetDeviceCredentials(android_id_, |
|
jianli
2014/01/25 01:00:28
Should we persist the check-in info when the check
Nicolas Zea
2014/01/25 01:04:14
Good point, done.
|
| + secret_, |
| + base::Bind(&MCSProbe::UpdateCallback, |
| + base::Unretained(this))); |
| + } else { |
| + android_id_ = load_result->device_android_id; |
| + secret_ = load_result->device_security_token; |
| + DVLOG(1) << "Loaded MCS id " << android_id_; |
| + } |
| mcs_client_->Initialize( |
| base::Bind(&MCSProbe::ErrorCallback, base::Unretained(this)), |
| base::Bind(&MessageReceivedCallback), |
| @@ -291,6 +303,7 @@ void MCSProbe::LoadCallback(scoped_ptr<GCMStore::LoadResult> load_result) { |
| load_result.Pass()); |
| if (!android_id_ || !secret_) { |
| + DVLOG(1) << "Checkin to generate new MCS credentials."; |
| CheckIn(); |
| return; |
| } |
| @@ -298,6 +311,9 @@ void MCSProbe::LoadCallback(scoped_ptr<GCMStore::LoadResult> load_result) { |
| mcs_client_->Login(android_id_, secret_); |
| } |
| +void MCSProbe::UpdateCallback(bool success) { |
| +} |
| + |
| void MCSProbe::InitializeNetworkState() { |
| FILE* log_file = NULL; |
| if (command_line_.HasSwitch(kLogFileSwitch)) { |