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 Workerstd::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 WorkerSystemProfileProto::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 Workerstd::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