/* * Copyright (C) 2021 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #define LOG_TAG "pixelstats-uevent" #include #include #include #include #include #include #include namespace android { namespace hardware { namespace google { namespace pixel { using android::base::ReadFileToString; using android::base::WriteStringToFile; bool PcaChargeStats::CheckPcaContentsAndAck(std::string *file_contents) { std::string line; std::istringstream ss; if (!ReadFileToString(kPcaChargeMetricsPath.c_str(), file_contents)) { return false; } ss.str(*file_contents); if (!std::getline(ss, line)) { ALOGE("Unable to read first line %s - %s", kPcaChargeMetricsPath.c_str(), strerror(errno)); return false; } if (!WriteStringToFile(std::to_string(0), kPcaChargeMetricsPath.c_str())) { ALOGE("Couldn't clear %s - %s", kPcaChargeMetricsPath.c_str(), strerror(errno)); return false; } return true; } PcaChargeStats::PcaChargeStats(const std::string pca_charge_metrics_path) : kPcaChargeMetricsPath(pca_charge_metrics_path) {} } // namespace pixel } // namespace google } // namespace hardware } // namespace android