camera_roll_manager.cc 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. // Copyright 2021 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "ash/components/phonehub/camera_roll_manager.h"
  5. #include "ash/components/phonehub/camera_roll_item.h"
  6. namespace ash {
  7. namespace phonehub {
  8. CameraRollManager::CameraRollManager() = default;
  9. CameraRollManager::~CameraRollManager() = default;
  10. void CameraRollManager::AddObserver(Observer* observer) {
  11. observer_list_.AddObserver(observer);
  12. }
  13. void CameraRollManager::RemoveObserver(Observer* observer) {
  14. observer_list_.RemoveObserver(observer);
  15. }
  16. CameraRollManager::CameraRollUiState CameraRollManager::ui_state() {
  17. return ui_state_;
  18. }
  19. void CameraRollManager::SetCurrentItems(
  20. const std::vector<CameraRollItem>& items) {
  21. current_items_ = items;
  22. ComputeAndUpdateUiState();
  23. }
  24. void CameraRollManager::ClearCurrentItems() {
  25. current_items_.clear();
  26. ComputeAndUpdateUiState();
  27. }
  28. void CameraRollManager::NotifyCameraRollViewUiStateUpdated() {
  29. for (auto& observer : observer_list_) {
  30. observer.OnCameraRollViewUiStateUpdated();
  31. }
  32. }
  33. void CameraRollManager::NotifyCameraRollDownloadError(
  34. CameraRollManager::Observer::DownloadErrorType error_type,
  35. const proto::CameraRollItemMetadata& metadata) {
  36. for (auto& observer : observer_list_) {
  37. observer.OnCameraRollDownloadError(error_type, metadata);
  38. }
  39. }
  40. void CameraRollManager::Observer::OnCameraRollViewUiStateUpdated() {}
  41. void CameraRollManager::Observer::OnCameraRollDownloadError(
  42. DownloadErrorType error_type,
  43. const proto::CameraRollItemMetadata& metadata) {}
  44. } // namespace phonehub
  45. } // namespace ash