blob: 9b9e8abb05e779e20d9e03f9c02673784bd983e1 [file] [log] [blame]
// Copyright 2016 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.
#ifndef COMPONENTS_NTP_SNIPPETS_CATEGORY_STATUS_H_
#define COMPONENTS_NTP_SNIPPETS_CATEGORY_STATUS_H_
namespace ntp_snippets {
// Represents the status of a category of content suggestions.
// On Android builds, a Java counterpart will be generated for this enum.
// GENERATED_JAVA_ENUM_PACKAGE: org.chromium.chrome.browser.ntp.snippets
enum class CategoryStatus {
// The provider is still initializing and it is not yet determined whether
// content suggestions will be available or not.
INITIALIZING,
// Content suggestions are available (though the list of available suggestions
// may be empty simply because there are no reasonable suggestions to be made
// at the moment).
AVAILABLE,
// Content suggestions are provided but not yet loaded.
AVAILABLE_LOADING,
// There is no provider that provides suggestions for this category.
NOT_PROVIDED,
// The entire content suggestions feature has explicitly been disabled as part
// of the service configuration.
ALL_SUGGESTIONS_EXPLICITLY_DISABLED,
// Content suggestions from a specific category have been disabled as part of
// the service configuration. Any suggestions from this category should be
// removed from the UI immediately.
CATEGORY_EXPLICITLY_DISABLED,
// Content suggestions are not available because an error occurred when
// loading or updating them. Any suggestions from this category should be
// removed from the UI immediately.
LOADING_ERROR
};
// Determines whether the given status is one of the AVAILABLE statuses.
bool IsCategoryStatusAvailable(CategoryStatus status);
// Determines whether the given status is INITIALIZING or one of the AVAILABLE
// statuses. All of these statuses have in common that there is or will soon be
// content.
bool IsCategoryStatusInitOrAvailable(CategoryStatus status);
} // namespace ntp_snippets
#endif // COMPONENTS_NTP_SNIPPETS_CATEGORY_STATUS_H_