| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/chromeos/drive/file_system_util.h" | 5 #include "chrome/browser/chromeos/drive/file_system_util.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 382 return false; | 382 return false; |
| 383 | 383 |
| 384 // Disable Drive if preference is set. This can happen with commandline flag | 384 // Disable Drive if preference is set. This can happen with commandline flag |
| 385 // --disable-drive or enterprise policy, or with user settings. | 385 // --disable-drive or enterprise policy, or with user settings. |
| 386 if (profile->GetPrefs()->GetBoolean(prefs::kDisableDrive)) | 386 if (profile->GetPrefs()->GetBoolean(prefs::kDisableDrive)) |
| 387 return false; | 387 return false; |
| 388 | 388 |
| 389 return true; | 389 return true; |
| 390 } | 390 } |
| 391 | 391 |
| 392 ConnectionStatusType GetDriveConnectionStatus(Profile* profile) { |
| 393 drive::DriveServiceInterface* const drive_service = |
| 394 drive::util::GetDriveServiceByProfile(profile); |
| 395 |
| 396 if (!drive_service) |
| 397 return DRIVE_DISCONNECTED_NOSERVICE; |
| 398 if (net::NetworkChangeNotifier::IsOffline()) |
| 399 return DRIVE_DISCONNECTED_NONETWORK; |
| 400 if (!drive_service->CanSendRequest()) |
| 401 return DRIVE_DISCONNECTED_NOTREADY; |
| 402 |
| 403 const bool is_connection_cellular = |
| 404 net::NetworkChangeNotifier::IsConnectionCellular( |
| 405 net::NetworkChangeNotifier::GetConnectionType()); |
| 406 const bool disable_sync_over_celluar = |
| 407 profile->GetPrefs()->GetBoolean(prefs::kDisableDriveOverCellular); |
| 408 |
| 409 if (is_connection_cellular && disable_sync_over_celluar) |
| 410 return DRIVE_CONNECTED_METERED; |
| 411 return DRIVE_CONNECTED; |
| 412 } |
| 413 |
| 392 } // namespace util | 414 } // namespace util |
| 393 } // namespace drive | 415 } // namespace drive |
| OLD | NEW |