blob: ce9f7896b92c6b79e002072c98fe2fdca149b95f [file]
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chromeos/components/phonehub/fake_notification_access_manager.h"
namespace chromeos {
namespace phonehub {
FakeNotificationAccessManager::FakeNotificationAccessManager(
AccessStatus access_status)
: access_status_(access_status) {}
FakeNotificationAccessManager::~FakeNotificationAccessManager() = default;
void FakeNotificationAccessManager::SetAccessStatusInternal(
AccessStatus access_status) {
if (access_status_ == access_status)
return;
access_status_ = access_status;
NotifyNotificationAccessChanged();
}
NotificationAccessManager::AccessStatus
FakeNotificationAccessManager::GetAccessStatus() const {
return access_status_;
}
bool FakeNotificationAccessManager::HasNotificationSetupUiBeenDismissed()
const {
return has_notification_setup_ui_been_dismissed_;
}
void FakeNotificationAccessManager::DismissSetupRequiredUi() {
has_notification_setup_ui_been_dismissed_ = true;
}
void FakeNotificationAccessManager::ResetHasNotificationSetupUiBeenDismissed() {
has_notification_setup_ui_been_dismissed_ = false;
}
void FakeNotificationAccessManager::SetNotificationSetupOperationStatus(
NotificationAccessSetupOperation::Status new_status) {
switch (new_status) {
case NotificationAccessSetupOperation::Status::kCompletedSuccessfully:
SetAccessStatusInternal(AccessStatus::kAccessGranted);
break;
case NotificationAccessSetupOperation::Status::
kProhibitedFromProvidingAccess:
SetAccessStatusInternal(AccessStatus::kProhibited);
break;
default:
// Do not update access status based on other operation status values.
break;
}
NotificationAccessManager::SetNotificationSetupOperationStatus(new_status);
}
} // namespace phonehub
} // namespace chromeos