#include "ui/message_center/message_center.h"
#include "ui/message_center/lock_screen/empty_lock_screen_controller.h"
#include "ui/message_center/message_center_impl.h"
namespace message_center {
namespace {
static MessageCenter* g_message_center = nullptr;
}
void MessageCenter::Initialize() {
Initialize(std::make_unique<EmptyLockScreenController>());
}
void MessageCenter::Initialize(
std::unique_ptr<LockScreenController> lock_screen_controller) {
DCHECK(!g_message_center);
DCHECK(lock_screen_controller);
g_message_center = new MessageCenterImpl(std::move(lock_screen_controller));
}
void MessageCenter::InitializeForTesting(
std::unique_ptr<MessageCenter> message_center) {
DCHECK(!g_message_center);
DCHECK(message_center);
g_message_center = message_center.release();
}
MessageCenter* MessageCenter::Get() {
return g_message_center;
}
void MessageCenter::Shutdown() {
DCHECK(g_message_center);
delete g_message_center;
g_message_center = nullptr;
}
MessageCenter::MessageCenter() = default;
MessageCenter::~MessageCenter() = default;
}