| // Copyright 2021 The Chromium Authors |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "chromeos/ash/components/phonehub/camera_roll_manager.h" |
| |
| #include "chromeos/ash/components/phonehub/camera_roll_item.h" |
| |
| namespace ash { |
| namespace phonehub { |
| |
| CameraRollManager::CameraRollManager() = default; |
| |
| CameraRollManager::~CameraRollManager() = default; |
| |
| void CameraRollManager::AddObserver(Observer* observer) { |
| observer_list_.AddObserver(observer); |
| } |
| |
| void CameraRollManager::RemoveObserver(Observer* observer) { |
| observer_list_.RemoveObserver(observer); |
| } |
| |
| CameraRollManager::CameraRollUiState CameraRollManager::ui_state() { |
| return ui_state_; |
| } |
| |
| void CameraRollManager::SetCurrentItems( |
| const std::vector<CameraRollItem>& items) { |
| current_items_ = items; |
| ComputeAndUpdateUiState(); |
| } |
| |
| void CameraRollManager::ClearCurrentItems() { |
| current_items_.clear(); |
| ComputeAndUpdateUiState(); |
| } |
| |
| void CameraRollManager::NotifyCameraRollViewUiStateUpdated() { |
| for (auto& observer : observer_list_) { |
| observer.OnCameraRollViewUiStateUpdated(); |
| } |
| } |
| |
| void CameraRollManager::NotifyCameraRollDownloadError( |
| CameraRollManager::Observer::DownloadErrorType error_type, |
| const proto::CameraRollItemMetadata& metadata) { |
| for (auto& observer : observer_list_) { |
| observer.OnCameraRollDownloadError(error_type, metadata); |
| } |
| } |
| |
| void CameraRollManager::Observer::OnCameraRollViewUiStateUpdated() {} |
| |
| void CameraRollManager::Observer::OnCameraRollDownloadError( |
| DownloadErrorType error_type, |
| const proto::CameraRollItemMetadata& metadata) {} |
| |
| } // namespace phonehub |
| } // namespace ash |