| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "components/proximity_auth/cryptauth/cryptauth_device_manager.h" | 5 #include "components/proximity_auth/cryptauth/cryptauth_device_manager.h" |
| 6 | 6 |
| 7 #include "base/prefs/pref_registry_simple.h" | 7 #include "base/prefs/pref_registry_simple.h" |
| 8 #include "base/prefs/pref_service.h" | 8 #include "base/prefs/pref_service.h" |
| 9 #include "base/prefs/scoped_user_pref_update.h" | 9 #include "base/prefs/scoped_user_pref_update.h" |
| 10 #include "components/proximity_auth/cryptauth/base64url.h" | 10 #include "components/proximity_auth/cryptauth/base64url.h" |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 87 | 87 |
| 88 CryptAuthDeviceManager::CryptAuthDeviceManager( | 88 CryptAuthDeviceManager::CryptAuthDeviceManager( |
| 89 scoped_ptr<base::Clock> clock, | 89 scoped_ptr<base::Clock> clock, |
| 90 scoped_ptr<CryptAuthClientFactory> client_factory, | 90 scoped_ptr<CryptAuthClientFactory> client_factory, |
| 91 CryptAuthGCMManager* gcm_manager, | 91 CryptAuthGCMManager* gcm_manager, |
| 92 PrefService* pref_service) | 92 PrefService* pref_service) |
| 93 : clock_(clock.Pass()), | 93 : clock_(clock.Pass()), |
| 94 client_factory_(client_factory.Pass()), | 94 client_factory_(client_factory.Pass()), |
| 95 gcm_manager_(gcm_manager), | 95 gcm_manager_(gcm_manager), |
| 96 pref_service_(pref_service), | 96 pref_service_(pref_service), |
| 97 weak_ptr_factory_(this) { | 97 weak_ptr_factory_(this) {} |
| 98 UpdateUnlockKeysFromPrefs(); | |
| 99 } | |
| 100 | 98 |
| 101 CryptAuthDeviceManager::~CryptAuthDeviceManager() { | 99 CryptAuthDeviceManager::~CryptAuthDeviceManager() { |
| 102 gcm_manager_->RemoveObserver(this); | 100 gcm_manager_->RemoveObserver(this); |
| 103 } | 101 } |
| 104 | 102 |
| 105 // static | 103 // static |
| 106 void CryptAuthDeviceManager::RegisterPrefs(PrefRegistrySimple* registry) { | 104 void CryptAuthDeviceManager::RegisterPrefs(PrefRegistrySimple* registry) { |
| 107 registry->RegisterDoublePref(prefs::kCryptAuthDeviceSyncLastSyncTimeSeconds, | 105 registry->RegisterDoublePref(prefs::kCryptAuthDeviceSyncLastSyncTimeSeconds, |
| 108 0.0); | 106 0.0); |
| 109 registry->RegisterBooleanPref( | 107 registry->RegisterBooleanPref( |
| 110 prefs::kCryptAuthDeviceSyncIsRecoveringFromFailure, false); | 108 prefs::kCryptAuthDeviceSyncIsRecoveringFromFailure, false); |
| 111 registry->RegisterIntegerPref(prefs::kCryptAuthDeviceSyncReason, | 109 registry->RegisterIntegerPref(prefs::kCryptAuthDeviceSyncReason, |
| 112 cryptauth::INVOCATION_REASON_UNKNOWN); | 110 cryptauth::INVOCATION_REASON_UNKNOWN); |
| 113 registry->RegisterListPref(prefs::kCryptAuthDeviceSyncUnlockKeys); | 111 registry->RegisterListPref(prefs::kCryptAuthDeviceSyncUnlockKeys); |
| 114 } | 112 } |
| 115 | 113 |
| 116 void CryptAuthDeviceManager::Start() { | 114 void CryptAuthDeviceManager::Start() { |
| 115 UpdateUnlockKeysFromPrefs(); |
| 116 |
| 117 gcm_manager_->AddObserver(this); | 117 gcm_manager_->AddObserver(this); |
| 118 | 118 |
| 119 base::Time last_successful_sync = GetLastSyncTime(); | 119 base::Time last_successful_sync = GetLastSyncTime(); |
| 120 base::TimeDelta elapsed_time_since_last_sync = | 120 base::TimeDelta elapsed_time_since_last_sync = |
| 121 clock_->Now() - last_successful_sync; | 121 clock_->Now() - last_successful_sync; |
| 122 | 122 |
| 123 bool is_recovering_from_failure = | 123 bool is_recovering_from_failure = |
| 124 pref_service_->GetBoolean( | 124 pref_service_->GetBoolean( |
| 125 prefs::kCryptAuthDeviceSyncIsRecoveringFromFailure) || | 125 prefs::kCryptAuthDeviceSyncIsRecoveringFromFailure) || |
| 126 last_successful_sync.is_null(); | 126 last_successful_sync.is_null(); |
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 283 request.set_invocation_reason(invocation_reason); | 283 request.set_invocation_reason(invocation_reason); |
| 284 request.set_allow_stale_read(is_sync_speculative); | 284 request.set_allow_stale_read(is_sync_speculative); |
| 285 cryptauth_client_->GetMyDevices( | 285 cryptauth_client_->GetMyDevices( |
| 286 request, base::Bind(&CryptAuthDeviceManager::OnGetMyDevicesSuccess, | 286 request, base::Bind(&CryptAuthDeviceManager::OnGetMyDevicesSuccess, |
| 287 weak_ptr_factory_.GetWeakPtr()), | 287 weak_ptr_factory_.GetWeakPtr()), |
| 288 base::Bind(&CryptAuthDeviceManager::OnGetMyDevicesFailure, | 288 base::Bind(&CryptAuthDeviceManager::OnGetMyDevicesFailure, |
| 289 weak_ptr_factory_.GetWeakPtr())); | 289 weak_ptr_factory_.GetWeakPtr())); |
| 290 } | 290 } |
| 291 | 291 |
| 292 } // namespace proximity_auth | 292 } // namespace proximity_auth |
| OLD | NEW |