1d590543dSopenharmony_ci/* 2d590543dSopenharmony_ci * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 3d590543dSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4d590543dSopenharmony_ci * you may not use this file except in compliance with the License. 5d590543dSopenharmony_ci * You may obtain a copy of the License at 6d590543dSopenharmony_ci * 7d590543dSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8d590543dSopenharmony_ci * 9d590543dSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10d590543dSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11d590543dSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12d590543dSopenharmony_ci * See the License for the specific language governing permissions and 13d590543dSopenharmony_ci * limitations under the License. 14d590543dSopenharmony_ci */ 15d590543dSopenharmony_ci 16d590543dSopenharmony_ci#include "stats_utils.h" 17d590543dSopenharmony_ci 18d590543dSopenharmony_ci#include "stats_log.h" 19d590543dSopenharmony_ci 20d590543dSopenharmony_cinamespace OHOS { 21d590543dSopenharmony_cinamespace PowerMgr { 22d590543dSopenharmony_cistd::string StatsUtils::ConvertTypeForConn(StatsType statsType) 23d590543dSopenharmony_ci{ 24d590543dSopenharmony_ci std::string result = ""; 25d590543dSopenharmony_ci switch (statsType) { 26d590543dSopenharmony_ci case STATS_TYPE_BLUETOOTH_BR_ON: 27d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_BLUETOOTH_BR_ON); 28d590543dSopenharmony_ci break; 29d590543dSopenharmony_ci case STATS_TYPE_BLUETOOTH_BR_SCAN: 30d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_BLUETOOTH_BR_SCAN); 31d590543dSopenharmony_ci break; 32d590543dSopenharmony_ci case STATS_TYPE_BLUETOOTH_BLE_ON: 33d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_BLUETOOTH_BLE_ON); 34d590543dSopenharmony_ci break; 35d590543dSopenharmony_ci case STATS_TYPE_BLUETOOTH_BLE_SCAN: 36d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_BLUETOOTH_BLE_SCAN); 37d590543dSopenharmony_ci break; 38d590543dSopenharmony_ci case STATS_TYPE_WIFI_ON: 39d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_WIFI_ON); 40d590543dSopenharmony_ci break; 41d590543dSopenharmony_ci case STATS_TYPE_WIFI_SCAN: 42d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_WIFI_SCAN); 43d590543dSopenharmony_ci break; 44d590543dSopenharmony_ci case STATS_TYPE_PHONE_ACTIVE: 45d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_PHONE_ACTIVE); 46d590543dSopenharmony_ci break; 47d590543dSopenharmony_ci case STATS_TYPE_PHONE_DATA: 48d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_PHONE_DATA); 49d590543dSopenharmony_ci break; 50d590543dSopenharmony_ci default: 51d590543dSopenharmony_ci break; 52d590543dSopenharmony_ci } 53d590543dSopenharmony_ci STATS_HILOGD(COMP_UTILS, "Convert to %{public}s", result.c_str()); 54d590543dSopenharmony_ci return result; 55d590543dSopenharmony_ci} 56d590543dSopenharmony_ci 57d590543dSopenharmony_cistd::string StatsUtils::ConvertTypeForCpu(StatsType statsType) 58d590543dSopenharmony_ci{ 59d590543dSopenharmony_ci std::string result = ""; 60d590543dSopenharmony_ci switch (statsType) { 61d590543dSopenharmony_ci case STATS_TYPE_WAKELOCK_HOLD: 62d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_WAKELOCK_HOLD); 63d590543dSopenharmony_ci break; 64d590543dSopenharmony_ci case STATS_TYPE_PHONE_IDLE: 65d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_PHONE_IDLE); 66d590543dSopenharmony_ci break; 67d590543dSopenharmony_ci case STATS_TYPE_CPU_CLUSTER: 68d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_CPU_CLUSTER); 69d590543dSopenharmony_ci break; 70d590543dSopenharmony_ci case STATS_TYPE_CPU_SPEED: 71d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_CPU_SPEED); 72d590543dSopenharmony_ci break; 73d590543dSopenharmony_ci case STATS_TYPE_CPU_ACTIVE: 74d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_CPU_ACTIVE); 75d590543dSopenharmony_ci break; 76d590543dSopenharmony_ci case STATS_TYPE_CPU_SUSPEND: 77d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_CPU_SUSPEND); 78d590543dSopenharmony_ci break; 79d590543dSopenharmony_ci default: 80d590543dSopenharmony_ci break; 81d590543dSopenharmony_ci } 82d590543dSopenharmony_ci STATS_HILOGD(COMP_UTILS, "Convert to %{public}s", result.c_str()); 83d590543dSopenharmony_ci return result; 84d590543dSopenharmony_ci} 85d590543dSopenharmony_ci 86d590543dSopenharmony_cistd::string StatsUtils::ConvertTypeForCommon(StatsType statsType) 87d590543dSopenharmony_ci{ 88d590543dSopenharmony_ci std::string result = ""; 89d590543dSopenharmony_ci switch (statsType) { 90d590543dSopenharmony_ci case STATS_TYPE_CAMERA_ON: 91d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_CAMERA_ON); 92d590543dSopenharmony_ci break; 93d590543dSopenharmony_ci case STATS_TYPE_CAMERA_FLASHLIGHT_ON: 94d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_CAMERA_FLASHLIGHT_ON); 95d590543dSopenharmony_ci break; 96d590543dSopenharmony_ci case STATS_TYPE_FLASHLIGHT_ON: 97d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_FLASHLIGHT_ON); 98d590543dSopenharmony_ci break; 99d590543dSopenharmony_ci case STATS_TYPE_GNSS_ON: 100d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_GNSS_ON); 101d590543dSopenharmony_ci break; 102d590543dSopenharmony_ci case STATS_TYPE_SENSOR_GRAVITY_ON: 103d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_SENSOR_GRAVITY_ON); 104d590543dSopenharmony_ci break; 105d590543dSopenharmony_ci case STATS_TYPE_SENSOR_PROXIMITY_ON: 106d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_SENSOR_PROXIMITY_ON); 107d590543dSopenharmony_ci break; 108d590543dSopenharmony_ci case STATS_TYPE_AUDIO_ON: 109d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_AUDIO_ON); 110d590543dSopenharmony_ci break; 111d590543dSopenharmony_ci case STATS_TYPE_SCREEN_ON: 112d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_SCREEN_ON); 113d590543dSopenharmony_ci break; 114d590543dSopenharmony_ci case STATS_TYPE_SCREEN_BRIGHTNESS: 115d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_SCREEN_BRIGHTNESS); 116d590543dSopenharmony_ci break; 117d590543dSopenharmony_ci case STATS_TYPE_ALARM: 118d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_ALARM); 119d590543dSopenharmony_ci break; 120d590543dSopenharmony_ci default: 121d590543dSopenharmony_ci break; 122d590543dSopenharmony_ci } 123d590543dSopenharmony_ci STATS_HILOGD(COMP_UTILS, "Convert to %{public}s", result.c_str()); 124d590543dSopenharmony_ci return result; 125d590543dSopenharmony_ci} 126d590543dSopenharmony_ci 127d590543dSopenharmony_cistd::string StatsUtils::ConvertTypeForDebug(StatsType statsType) 128d590543dSopenharmony_ci{ 129d590543dSopenharmony_ci std::string result = ""; 130d590543dSopenharmony_ci switch (statsType) { 131d590543dSopenharmony_ci case STATS_TYPE_BATTERY: 132d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_BATTERY); 133d590543dSopenharmony_ci break; 134d590543dSopenharmony_ci case STATS_TYPE_WORKSCHEDULER: 135d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_WORKSCHEDULER); 136d590543dSopenharmony_ci break; 137d590543dSopenharmony_ci case STATS_TYPE_THERMAL: 138d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_THERMAL); 139d590543dSopenharmony_ci break; 140d590543dSopenharmony_ci case STATS_TYPE_DISTRIBUTEDSCHEDULER: 141d590543dSopenharmony_ci result = GET_VARIABLE_NAME(STATS_TYPE_DISTRIBUTEDSCHEDULER); 142d590543dSopenharmony_ci break; 143d590543dSopenharmony_ci default: 144d590543dSopenharmony_ci break; 145d590543dSopenharmony_ci } 146d590543dSopenharmony_ci STATS_HILOGD(COMP_UTILS, "Convert to %{public}s", result.c_str()); 147d590543dSopenharmony_ci return result; 148d590543dSopenharmony_ci} 149d590543dSopenharmony_ci 150d590543dSopenharmony_cistd::string StatsUtils::ConvertStatsType(StatsType statsType) 151d590543dSopenharmony_ci{ 152d590543dSopenharmony_ci std::string result = ""; 153d590543dSopenharmony_ci switch (statsType) { 154d590543dSopenharmony_ci case STATS_TYPE_BLUETOOTH_BR_ON: 155d590543dSopenharmony_ci case STATS_TYPE_BLUETOOTH_BR_SCAN: 156d590543dSopenharmony_ci case STATS_TYPE_BLUETOOTH_BLE_ON: 157d590543dSopenharmony_ci case STATS_TYPE_BLUETOOTH_BLE_SCAN: 158d590543dSopenharmony_ci case STATS_TYPE_WIFI_ON: 159d590543dSopenharmony_ci case STATS_TYPE_WIFI_SCAN: 160d590543dSopenharmony_ci case STATS_TYPE_PHONE_ACTIVE: 161d590543dSopenharmony_ci case STATS_TYPE_PHONE_DATA: 162d590543dSopenharmony_ci result = ConvertTypeForConn(statsType); 163d590543dSopenharmony_ci break; 164d590543dSopenharmony_ci case STATS_TYPE_CAMERA_ON: 165d590543dSopenharmony_ci case STATS_TYPE_CAMERA_FLASHLIGHT_ON: 166d590543dSopenharmony_ci case STATS_TYPE_FLASHLIGHT_ON: 167d590543dSopenharmony_ci case STATS_TYPE_GNSS_ON: 168d590543dSopenharmony_ci case STATS_TYPE_SENSOR_GRAVITY_ON: 169d590543dSopenharmony_ci case STATS_TYPE_SENSOR_PROXIMITY_ON: 170d590543dSopenharmony_ci case STATS_TYPE_AUDIO_ON: 171d590543dSopenharmony_ci case STATS_TYPE_SCREEN_ON: 172d590543dSopenharmony_ci case STATS_TYPE_SCREEN_BRIGHTNESS: 173d590543dSopenharmony_ci case STATS_TYPE_ALARM: 174d590543dSopenharmony_ci result = ConvertTypeForCommon(statsType); 175d590543dSopenharmony_ci break; 176d590543dSopenharmony_ci case STATS_TYPE_WAKELOCK_HOLD: 177d590543dSopenharmony_ci case STATS_TYPE_PHONE_IDLE: 178d590543dSopenharmony_ci case STATS_TYPE_CPU_CLUSTER: 179d590543dSopenharmony_ci case STATS_TYPE_CPU_SPEED: 180d590543dSopenharmony_ci case STATS_TYPE_CPU_ACTIVE: 181d590543dSopenharmony_ci case STATS_TYPE_CPU_SUSPEND: 182d590543dSopenharmony_ci result = ConvertTypeForCpu(statsType); 183d590543dSopenharmony_ci break; 184d590543dSopenharmony_ci case STATS_TYPE_BATTERY: 185d590543dSopenharmony_ci case STATS_TYPE_WORKSCHEDULER: 186d590543dSopenharmony_ci case STATS_TYPE_THERMAL: 187d590543dSopenharmony_ci case STATS_TYPE_DISTRIBUTEDSCHEDULER: 188d590543dSopenharmony_ci result = ConvertTypeForDebug(statsType); 189d590543dSopenharmony_ci break; 190d590543dSopenharmony_ci default: 191d590543dSopenharmony_ci break; 192d590543dSopenharmony_ci } 193d590543dSopenharmony_ci return result; 194d590543dSopenharmony_ci} 195d590543dSopenharmony_ci} // namespace PowerMgr 196d590543dSopenharmony_ci} // namespace OHOS