19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/* 29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2008 The Android Open Source Project 39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License"); 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License. 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License. 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage com.android.internal.app; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport com.android.internal.os.BatteryStatsImpl; 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 217e9f4eb2608148436cef36c9969bf8a599b39e72Dianne Hackbornimport android.os.WorkSource; 22e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Savilleimport android.telephony.SignalStrength; 23e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectinterface IBatteryStats { 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project byte[] getStatistics(); 269adb9c3b10991ef315c270993f4155709c8a232dDianne Hackborn void noteStartWakelock(int uid, int pid, String name, int type); 279adb9c3b10991ef315c270993f4155709c8a232dDianne Hackborn void noteStopWakelock(int uid, int pid, String name, int type); 2832123fde1b82fc7f5d04f35e2b972364d4352ec9Mathias Agopian 2932123fde1b82fc7f5d04f35e2b972364d4352ec9Mathias Agopian /* DO NOT CHANGE the position of noteStartSensor without updating 3032123fde1b82fc7f5d04f35e2b972364d4352ec9Mathias Agopian SensorService.cpp */ 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void noteStartSensor(int uid, int sensor); 3232123fde1b82fc7f5d04f35e2b972364d4352ec9Mathias Agopian 3332123fde1b82fc7f5d04f35e2b972364d4352ec9Mathias Agopian /* DO NOT CHANGE the position of noteStopSensor without updating 3432123fde1b82fc7f5d04f35e2b972364d4352ec9Mathias Agopian SensorService.cpp */ 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void noteStopSensor(int uid, int sensor); 3632123fde1b82fc7f5d04f35e2b972364d4352ec9Mathias Agopian 377e9f4eb2608148436cef36c9969bf8a599b39e72Dianne Hackborn void noteStartWakelockFromSource(in WorkSource ws, int pid, String name, int type); 387e9f4eb2608148436cef36c9969bf8a599b39e72Dianne Hackborn void noteStopWakelockFromSource(in WorkSource ws, int pid, String name, int type); 397e9f4eb2608148436cef36c9969bf8a599b39e72Dianne Hackborn 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void noteStartGps(int uid); 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void noteStopGps(int uid); 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void noteScreenOn(); 43617f877c06c82584a38f41bb60d836e08c5e3bdaDianne Hackborn void noteScreenBrightness(int brightness); 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void noteScreenOff(); 45617f877c06c82584a38f41bb60d836e08c5e3bdaDianne Hackborn void noteInputEvent(); 46617f877c06c82584a38f41bb60d836e08c5e3bdaDianne Hackborn void noteUserActivity(int uid, int event); 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void notePhoneOn(); 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project void notePhoneOff(); 49e9b06d754af03faf27012fbed1e7559ec1ba7c79Wink Saville void notePhoneSignalStrength(in SignalStrength signalStrength); 50627bba736d022c39696b7c582a6af5592d2b8c33Dianne Hackborn void notePhoneDataConnectionState(int dataType, boolean hasData); 51f37447bad3773b62176baa837908daf6edb44273Amith Yamasani void notePhoneState(int phoneState); 5258e0eefeb5e2e270e2b04369bbf29fc22abda8d5Dianne Hackborn void noteWifiOn(); 5358e0eefeb5e2e270e2b04369bbf29fc22abda8d5Dianne Hackborn void noteWifiOff(); 5458e0eefeb5e2e270e2b04369bbf29fc22abda8d5Dianne Hackborn void noteWifiRunning(in WorkSource ws); 5558e0eefeb5e2e270e2b04369bbf29fc22abda8d5Dianne Hackborn void noteWifiRunningChanged(in WorkSource oldWs, in WorkSource newWs); 5658e0eefeb5e2e270e2b04369bbf29fc22abda8d5Dianne Hackborn void noteWifiStopped(in WorkSource ws); 57105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project void noteBluetoothOn(); 58105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project void noteBluetoothOff(); 59105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project void noteFullWifiLockAcquired(int uid); 60105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project void noteFullWifiLockReleased(int uid); 61105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project void noteScanWifiLockAcquired(int uid); 62105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project void noteScanWifiLockReleased(int uid); 635347bd4cda2b6afc18f8acab48e52131f35ed13cRobert Greenwalt void noteWifiMulticastEnabled(int uid); 645347bd4cda2b6afc18f8acab48e52131f35ed13cRobert Greenwalt void noteWifiMulticastDisabled(int uid); 657e9f4eb2608148436cef36c9969bf8a599b39e72Dianne Hackborn void noteFullWifiLockAcquiredFromSource(in WorkSource ws); 667e9f4eb2608148436cef36c9969bf8a599b39e72Dianne Hackborn void noteFullWifiLockReleasedFromSource(in WorkSource ws); 677e9f4eb2608148436cef36c9969bf8a599b39e72Dianne Hackborn void noteScanWifiLockAcquiredFromSource(in WorkSource ws); 687e9f4eb2608148436cef36c9969bf8a599b39e72Dianne Hackborn void noteScanWifiLockReleasedFromSource(in WorkSource ws); 697e9f4eb2608148436cef36c9969bf8a599b39e72Dianne Hackborn void noteWifiMulticastEnabledFromSource(in WorkSource ws); 707e9f4eb2608148436cef36c9969bf8a599b39e72Dianne Hackborn void noteWifiMulticastDisabledFromSource(in WorkSource ws); 716b7b4845212b3a439c527f2e1eca205b6b45fcebDianne Hackborn void setBatteryState(int status, int health, int plugType, int level, int temp, int volt); 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project long getAwakeTimeBattery(); 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project long getAwakeTimePlugged(); 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 75