xref: /aosp_15_r20/external/cronet/components/metrics/version_utils.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker // Copyright 2015 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker 
5*6777b538SAndroid Build Coastguard Worker #include "components/metrics/version_utils.h"
6*6777b538SAndroid Build Coastguard Worker 
7*6777b538SAndroid Build Coastguard Worker #include "base/notreached.h"
8*6777b538SAndroid Build Coastguard Worker #include "build/branding_buildflags.h"
9*6777b538SAndroid Build Coastguard Worker #include "build/build_config.h"
10*6777b538SAndroid Build Coastguard Worker #include "components/version_info/version_info.h"
11*6777b538SAndroid Build Coastguard Worker 
12*6777b538SAndroid Build Coastguard Worker #if BUILDFLAG(IS_ANDROID)
13*6777b538SAndroid Build Coastguard Worker #include "base/android/build_info.h"
14*6777b538SAndroid Build Coastguard Worker #endif
15*6777b538SAndroid Build Coastguard Worker 
16*6777b538SAndroid Build Coastguard Worker namespace metrics {
17*6777b538SAndroid Build Coastguard Worker 
GetVersionString()18*6777b538SAndroid Build Coastguard Worker std::string GetVersionString() {
19*6777b538SAndroid Build Coastguard Worker   std::string version(version_info::GetVersionNumber());
20*6777b538SAndroid Build Coastguard Worker #if defined(ARCH_CPU_64_BITS)
21*6777b538SAndroid Build Coastguard Worker   version += "-64";
22*6777b538SAndroid Build Coastguard Worker #endif  // defined(ARCH_CPU_64_BITS)
23*6777b538SAndroid Build Coastguard Worker 
24*6777b538SAndroid Build Coastguard Worker #if BUILDFLAG(GOOGLE_CHROME_BRANDING)
25*6777b538SAndroid Build Coastguard Worker   bool is_chrome_branded = true;
26*6777b538SAndroid Build Coastguard Worker #else
27*6777b538SAndroid Build Coastguard Worker   bool is_chrome_branded = false;
28*6777b538SAndroid Build Coastguard Worker #endif
29*6777b538SAndroid Build Coastguard Worker   if (!is_chrome_branded || !version_info::IsOfficialBuild())
30*6777b538SAndroid Build Coastguard Worker     version.append("-devel");
31*6777b538SAndroid Build Coastguard Worker   return version;
32*6777b538SAndroid Build Coastguard Worker }
33*6777b538SAndroid Build Coastguard Worker 
AsProtobufChannel(version_info::Channel channel)34*6777b538SAndroid Build Coastguard Worker SystemProfileProto::Channel AsProtobufChannel(version_info::Channel channel) {
35*6777b538SAndroid Build Coastguard Worker   switch (channel) {
36*6777b538SAndroid Build Coastguard Worker     case version_info::Channel::UNKNOWN:
37*6777b538SAndroid Build Coastguard Worker       return SystemProfileProto::CHANNEL_UNKNOWN;
38*6777b538SAndroid Build Coastguard Worker     case version_info::Channel::CANARY:
39*6777b538SAndroid Build Coastguard Worker       return SystemProfileProto::CHANNEL_CANARY;
40*6777b538SAndroid Build Coastguard Worker     case version_info::Channel::DEV:
41*6777b538SAndroid Build Coastguard Worker       return SystemProfileProto::CHANNEL_DEV;
42*6777b538SAndroid Build Coastguard Worker     case version_info::Channel::BETA:
43*6777b538SAndroid Build Coastguard Worker       return SystemProfileProto::CHANNEL_BETA;
44*6777b538SAndroid Build Coastguard Worker     case version_info::Channel::STABLE:
45*6777b538SAndroid Build Coastguard Worker       return SystemProfileProto::CHANNEL_STABLE;
46*6777b538SAndroid Build Coastguard Worker   }
47*6777b538SAndroid Build Coastguard Worker   NOTREACHED();
48*6777b538SAndroid Build Coastguard Worker   return SystemProfileProto::CHANNEL_UNKNOWN;
49*6777b538SAndroid Build Coastguard Worker }
50*6777b538SAndroid Build Coastguard Worker 
GetAppPackageName()51*6777b538SAndroid Build Coastguard Worker std::string GetAppPackageName() {
52*6777b538SAndroid Build Coastguard Worker #if BUILDFLAG(IS_ANDROID)
53*6777b538SAndroid Build Coastguard Worker   return base::android::BuildInfo::GetInstance()->package_name();
54*6777b538SAndroid Build Coastguard Worker #else
55*6777b538SAndroid Build Coastguard Worker   return std::string();
56*6777b538SAndroid Build Coastguard Worker #endif
57*6777b538SAndroid Build Coastguard Worker }
58*6777b538SAndroid Build Coastguard Worker 
59*6777b538SAndroid Build Coastguard Worker }  // namespace metrics
60