#include "chrome/browser/feedback/system_logs/log_sources/family_info_log_source.h"
#include "base/metrics/histogram_functions.h"
#include "base/timer/elapsed_timer.h"
#include "components/prefs/pref_service.h"
#include "components/signin/public/identity_manager/identity_manager.h"
#include "components/supervised_user/core/browser/kids_management_api_fetcher.h"
#include "components/supervised_user/core/browser/proto/kidsmanagement_messages.pb.h"
#include "components/supervised_user/core/browser/supervised_user_utils.h"
#include "components/supervised_user/core/common/features.h"
#include "components/supervised_user/core/common/pref_names.h"
#include "components/supervised_user/core/common/supervised_user_constants.h"
#include "content/public/browser/browser_thread.h"
namespace system_logs {
FamilyInfoLogSource::FamilyInfoLogSource(
signin::IdentityManager* identity_manager,
scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
PrefService& user_prefs)
: … { … }
FamilyInfoLogSource::~FamilyInfoLogSource() = default;
void FamilyInfoLogSource::Fetch(SysLogsSourceCallback callback) { … }
void FamilyInfoLogSource::OnListMembersResponse(
SysLogsSourceCallback callback,
const supervised_user::ProtoFetcherStatus& status,
std::unique_ptr<kidsmanagement::ListMembersResponse> response) { … }
void FamilyInfoLogSource::OnListMembersResponseTimeout(
SysLogsSourceCallback callback) { … }
void FamilyInfoLogSource::AppendFamilyMemberRoleForPrimaryAccount(
const kidsmanagement::ListMembersResponse& list_members_response,
SystemLogsResponse* logs_response) { … }
void FamilyInfoLogSource::RecordFetchUma(
FamilyInfoLogSource::FetchStatus status,
base::TimeDelta duration,
bool immediately_available) { … }
}