blob: feaaeb8b56364eebf6efdceb87e635463b5d2118 [file] [log] [blame]
// Copyright 2015 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.
#include "components/metrics/version_utils.h"
#include "base/notreached.h"
#include "build/branding_buildflags.h"
#include "build/build_config.h"
#include "components/version_info/version_info.h"
#if defined(OS_ANDROID)
#include "base/android/build_info.h"
#endif
namespace metrics {
std::string GetVersionString() {
std::string version = version_info::GetVersionNumber();
#if defined(ARCH_CPU_64_BITS)
version += "-64";
#endif // defined(ARCH_CPU_64_BITS)
#if BUILDFLAG(GOOGLE_CHROME_BRANDING)
bool is_chrome_branded = true;
#else
bool is_chrome_branded = false;
#endif
if (!is_chrome_branded || !version_info::IsOfficialBuild())
version.append("-devel");
return version;
}
SystemProfileProto::Channel AsProtobufChannel(version_info::Channel channel) {
switch (channel) {
case version_info::Channel::UNKNOWN:
return SystemProfileProto::CHANNEL_UNKNOWN;
case version_info::Channel::CANARY:
return SystemProfileProto::CHANNEL_CANARY;
case version_info::Channel::DEV:
return SystemProfileProto::CHANNEL_DEV;
case version_info::Channel::BETA:
return SystemProfileProto::CHANNEL_BETA;
case version_info::Channel::STABLE:
return SystemProfileProto::CHANNEL_STABLE;
}
NOTREACHED();
return SystemProfileProto::CHANNEL_UNKNOWN;
}
std::string GetAppPackageName() {
#if defined(OS_ANDROID)
return base::android::BuildInfo::GetInstance()->package_name();
#endif
return std::string();
}
} // namespace metrics