IBatteryStats.aidl revision 488bb0ed6a6765b5a7c9ee73747ebc9333097267
136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines/*
236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines * Copyright (C) 2008 The Android Open Source Project
336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines *
436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines * Licensed under the Apache License, Version 2.0 (the "License");
536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines * you may not use this file except in compliance with the License.
636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines * You may obtain a copy of the License at
736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines *
836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines *      http://www.apache.org/licenses/LICENSE-2.0
936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines *
1036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines * Unless required by applicable law or agreed to in writing, software
1136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines * distributed under the License is distributed on an "AS IS" BASIS,
1236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines * See the License for the specific language governing permissions and
1436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines * limitations under the License.
1536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines */
1636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
1736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinespackage com.android.internal.app;
1836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
1936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesimport com.android.internal.os.BatteryStatsImpl;
2036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
2136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesimport android.os.WorkSource;
2236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesimport android.telephony.SignalStrength;
2336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
2436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesinterface IBatteryStats {
2536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    // These first methods are also called by native code, so must
2636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    // be kept in sync with frameworks/native/include/binder/IBatteryStats.h
2736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteStartSensor(int uid, int sensor);
2836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteStopSensor(int uid, int sensor);
2936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
3036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    // Remaining methods are only used in Java.
3136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    byte[] getStatistics();
3236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteStartWakelock(int uid, int pid, String name, int type);
3336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteStopWakelock(int uid, int pid, String name, int type);
3436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
3536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteStartWakelockFromSource(in WorkSource ws, int pid, String name, int type);
3636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteStopWakelockFromSource(in WorkSource ws, int pid, String name, int type);
3736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
3836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteVibratorOn(int uid, long durationMillis);
3936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteVibratorOff(int uid);
4036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteStartGps(int uid);
4136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteStopGps(int uid);
4236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteScreenOn();
4336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteScreenBrightness(int brightness);
4436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteScreenOff();
4536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteInputEvent();
4636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteUserActivity(int uid, int event);
4736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void notePhoneOn();
4836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void notePhoneOff();
4936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void notePhoneSignalStrength(in SignalStrength signalStrength);
5036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void notePhoneDataConnectionState(int dataType, boolean hasData);
5136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void notePhoneState(int phoneState);
5236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteWifiOn();
5336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteWifiOff();
5436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteWifiRunning(in WorkSource ws);
5536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteWifiRunningChanged(in WorkSource oldWs, in WorkSource newWs);
5636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteWifiStopped(in WorkSource ws);
5736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteBluetoothOn();
5836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteBluetoothOff();
5936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteFullWifiLockAcquired(int uid);
6036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteFullWifiLockReleased(int uid);
6136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteWifiScanStarted(int uid);
6236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteWifiScanStopped(int uid);
6336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteWifiMulticastEnabled(int uid);
6436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteWifiMulticastDisabled(int uid);
6536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteFullWifiLockAcquiredFromSource(in WorkSource ws);
6636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteFullWifiLockReleasedFromSource(in WorkSource ws);
6736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteWifiScanStartedFromSource(in WorkSource ws);
6836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteWifiScanStoppedFromSource(in WorkSource ws);
6936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteWifiMulticastEnabledFromSource(in WorkSource ws);
7036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteWifiMulticastDisabledFromSource(in WorkSource ws);
7136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteNetworkInterfaceType(String iface, int type);
7236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void noteNetworkStatsEnabled();
7336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    void setBatteryState(int status, int health, int plugType, int level, int temp, int volt);
7436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines    long getAwakeTimeBattery();
75    long getAwakeTimePlugged();
76}
77