#include "components/segmentation_platform/embedder/default_model/device_switcher_result_dispatcher.h"
#include "base/feature_list.h"
#include "base/task/sequenced_task_runner.h"
#include "base/values.h"
#include "components/prefs/pref_registry_simple.h"
#include "components/prefs/scoped_user_pref_update.h"
#include "components/segmentation_platform/embedder/default_model/device_switcher_model.h"
#include "components/segmentation_platform/public/constants.h"
#include "components/segmentation_platform/public/features.h"
#include "components/segmentation_platform/public/field_trial_register.h"
#include "components/segmentation_platform/public/result.h"
namespace segmentation_platform {
namespace {
const char kDeviceSwitcherUserSegmentPrefKey[] = …;
}
const char kDeviceSwitcherFieldTrialName[] = …;
DeviceSwitcherResultDispatcher::DeviceSwitcherResultDispatcher(
SegmentationPlatformService* segmentation_service,
syncer::DeviceInfoTracker* device_info_tracker,
PrefService* prefs,
FieldTrialRegister* field_trial_register)
: … { … }
DeviceSwitcherResultDispatcher::~DeviceSwitcherResultDispatcher() = default;
ClassificationResult
DeviceSwitcherResultDispatcher::GetCachedClassificationResult() { … }
void DeviceSwitcherResultDispatcher::WaitForClassificationResult(
base::TimeDelta timeout,
ClassificationResultCallback callback) { … }
void DeviceSwitcherResultDispatcher::RegisterProfilePrefs(
PrefRegistrySimple* registry) { … }
void DeviceSwitcherResultDispatcher::OnDeviceInfoChange() { … }
void DeviceSwitcherResultDispatcher::RefreshSegmentResultIfNeeded() { … }
void DeviceSwitcherResultDispatcher::OnGotResult(
const ClassificationResult& result) { … }
void DeviceSwitcherResultDispatcher::OnWaitTimeout() { … }
void DeviceSwitcherResultDispatcher::RegisterFieldTrials() { … }
void DeviceSwitcherResultDispatcher::SaveResultToPref(
const ClassificationResult& result) { … }
std::optional<ClassificationResult>
DeviceSwitcherResultDispatcher::ReadResultFromPref() const { … }
}