/* * Copyright (C) 2016 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. */ package android.hardware.health@1.0; interface IHealth { /** * This function lets you change healthd configuration from default if * desired. It must be called exactly once at startup time. * * The configuration values are described in 'struct HealthConfig'. * To use default configuration, simply return without modifying the * fields of the config parameter. * * @param default healthd configuration. */ init(HealthConfig config) generates (HealthConfig configOut); /** * This function is a hook to update/change device's HealthInfo (as described * in 'struct HealthInfo'). * * 'HealthInfo' describes device's battery and charging status, typically * read from kernel. These values may be modified in this call. * * @param Device Health info as described in 'struct HealthInfo'. * @return skipLogging Indication to the caller to add 'or' skip logging the health * information. Return 'true' to skip logging the update. * @return infoOut HealthInfo to be sent to client code. (May or may * not be modified). */ update(HealthInfo info) generates (bool skipLogging, HealthInfo infoOut); /** * This function is called by healthd when framework queries for remaining * energy in the Battery through BatteryManager APIs. * * @return result Result of querying enery counter for the battery. * @return energy Battery remaining energy in nanowatt-hours. * Must be '0' if result is anything other than Result::SUCCESS. */ energyCounter() generates (Result result, int64_t energy); };