#include "chrome/browser/updates/announcement_notification/announcement_notification_service.h"
#include "base/files/file_path.h"
#include "base/functional/bind.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/weak_ptr.h"
#include "base/metrics/field_trial_params.h"
#include "base/time/clock.h"
#include "base/time/time.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/profiles/profile_attributes_entry.h"
#include "chrome/browser/profiles/profile_attributes_storage.h"
#include "chrome/browser/profiles/profile_manager.h"
#include "chrome/grit/generated_resources.h"
#include "components/pref_registry/pref_registry_syncable.h"
#include "components/prefs/pref_service.h"
#include "ui/base/l10n/l10n_util.h"
namespace {
const int kInvalidVersion = …;
static bool notification_shown = …;
}
class AnnouncementNotificationServiceImpl
: public AnnouncementNotificationService { … };
BASE_FEATURE(…);
void AnnouncementNotificationService::RegisterProfilePrefs(
PrefRegistrySimple* registry) { … }
std::unique_ptr<AnnouncementNotificationService>
AnnouncementNotificationService::Create(Profile* profile,
PrefService* pref_service,
std::unique_ptr<Delegate> delegate,
base::Clock* clock) { … }
GURL AnnouncementNotificationService::GetAnnouncementURL() { … }
bool AnnouncementNotificationService::CanOpenAnnouncement(Profile* profile) { … }
AnnouncementNotificationService::AnnouncementNotificationService() = default;
AnnouncementNotificationService::~AnnouncementNotificationService() = default;