blob: 7e5ebc4f263be1d0ebe210681b094bb49d6acb5d [file] [log] [blame]
Avi Drissman4a8573c2022-09-09 19:35:541// Copyright 2019 The Chromium Authors
Jay Harris1d5351912019-09-02 07:47:142// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "chrome/browser/badging/test_badge_manager_delegate.h"
6
7#include "chrome/browser/badging/badge_manager.h"
8#include "chrome/browser/badging/badge_manager_delegate.h"
9#include "chrome/browser/profiles/profile.h"
Song Fangzhened83c142021-07-13 03:21:4410#include "chrome/browser/web_applications/web_app_registrar.h"
Jay Harris1d5351912019-09-02 07:47:1411
12namespace badging {
13
Jay Harrisfb5bcba2019-10-01 06:40:4314TestBadgeManagerDelegate::TestBadgeManagerDelegate(Profile* profile,
15 BadgeManager* badge_manager)
16 : BadgeManagerDelegate(profile, badge_manager) {}
Jay Harris1d5351912019-09-02 07:47:1417
18TestBadgeManagerDelegate::~TestBadgeManagerDelegate() = default;
19
20void TestBadgeManagerDelegate::SetOnBadgeChanged(
21 base::RepeatingCallback<void()> on_badge_changed) {
22 on_badge_changed_ = on_badge_changed;
23}
24
Jay Harrisfb5bcba2019-10-01 06:40:4325void TestBadgeManagerDelegate::OnAppBadgeUpdated(const web_app::AppId& app_id) {
26 const auto& value = badge_manager()->GetBadgeValue(app_id);
Jay Harris1d5351912019-09-02 07:47:1427 if (!value)
Jay Harrisfb5bcba2019-10-01 06:40:4328 cleared_badges_.push_back(app_id);
Jay Harris1d5351912019-09-02 07:47:1429 else
Jay Harrisfb5bcba2019-10-01 06:40:4330 set_badges_.push_back(std::make_pair(app_id, value.value()));
Jay Harris1d5351912019-09-02 07:47:1431
32 if (on_badge_changed_)
33 on_badge_changed_.Run();
34}
35
Jay Harris1d5351912019-09-02 07:47:1436void TestBadgeManagerDelegate::ResetBadges() {
Jay Harrisfb5bcba2019-10-01 06:40:4337 cleared_badges_.clear();
38 set_badges_.clear();
Jay Harris1d5351912019-09-02 07:47:1439}
40
41} // namespace badging