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