163ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood/* 263ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood * Copyright (C) 2013 The Android Open Source Project 363ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood * 463ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood * Licensed under the Apache License, Version 2.0 (the "License"); 563ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood * you may not use this file except in compliance with the License. 663ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood * You may obtain a copy of the License at 763ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood * 863ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood * http://www.apache.org/licenses/LICENSE-2.0 963ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood * 1063ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood * Unless required by applicable law or agreed to in writing, software 1163ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood * distributed under the License is distributed on an "AS IS" BASIS, 1263ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1363ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood * See the License for the specific language governing permissions and 1463ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood * limitations under the License. 1563ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood */ 1663ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood 1763ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood#include <binder/IBatteryStats.h> 1863ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood 1963ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood#include <utils/Log.h> 2063ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood#include <binder/Parcel.h> 2163ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood#include <utils/String8.h> 2263ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood 2363ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood#include <private/binder/Static.h> 2463ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood 2563ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwoodnamespace android { 2663ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood 2763ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood// ---------------------------------------------------------------------- 2863ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood 2963ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwoodclass BpBatteryStats : public BpInterface<IBatteryStats> 3063ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood{ 3163ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwoodpublic: 3263ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood BpBatteryStats(const sp<IBinder>& impl) 3363ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood : BpInterface<IBatteryStats>(impl) 3463ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood { 3563ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood } 3663ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood 3763ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood virtual void noteStartSensor(int uid, int sensor) { 3863ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood Parcel data, reply; 3963ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood data.writeInterfaceToken(IBatteryStats::getInterfaceDescriptor()); 4063ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood data.writeInt32(uid); 4163ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood data.writeInt32(sensor); 4263ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood remote()->transact(NOTE_START_SENSOR_TRANSACTION, data, &reply); 4363ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood } 4463ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood 4563ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood virtual void noteStopSensor(int uid, int sensor) { 4663ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood Parcel data, reply; 4763ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood data.writeInterfaceToken(IBatteryStats::getInterfaceDescriptor()); 4863ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood data.writeInt32(uid); 4963ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood data.writeInt32(sensor); 5063ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood remote()->transact(NOTE_STOP_SENSOR_TRANSACTION, data, &reply); 5163ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood } 52bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang 53bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang virtual void noteStartVideo(int uid) { 54bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang Parcel data, reply; 55bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang data.writeInterfaceToken(IBatteryStats::getInterfaceDescriptor()); 56bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang data.writeInt32(uid); 57bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang remote()->transact(NOTE_START_VIDEO_TRANSACTION, data, &reply); 58bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang } 59bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang 60bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang virtual void noteStopVideo(int uid) { 61bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang Parcel data, reply; 62bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang data.writeInterfaceToken(IBatteryStats::getInterfaceDescriptor()); 63bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang data.writeInt32(uid); 64bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang remote()->transact(NOTE_STOP_VIDEO_TRANSACTION, data, &reply); 65bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang } 66bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang 67bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang virtual void noteStartAudio(int uid) { 68bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang Parcel data, reply; 69bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang data.writeInterfaceToken(IBatteryStats::getInterfaceDescriptor()); 70bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang data.writeInt32(uid); 71bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang remote()->transact(NOTE_START_AUDIO_TRANSACTION, data, &reply); 72bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang } 73bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang 74bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang virtual void noteStopAudio(int uid) { 75bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang Parcel data, reply; 76bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang data.writeInterfaceToken(IBatteryStats::getInterfaceDescriptor()); 77bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang data.writeInt32(uid); 78bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang remote()->transact(NOTE_STOP_AUDIO_TRANSACTION, data, &reply); 79bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang } 802cbba477bea136698944ece498115dbddd7bb659Chong Zhang 812cbba477bea136698944ece498115dbddd7bb659Chong Zhang virtual void noteResetVideo() { 822cbba477bea136698944ece498115dbddd7bb659Chong Zhang Parcel data, reply; 832cbba477bea136698944ece498115dbddd7bb659Chong Zhang data.writeInterfaceToken(IBatteryStats::getInterfaceDescriptor()); 842cbba477bea136698944ece498115dbddd7bb659Chong Zhang remote()->transact(NOTE_RESET_VIDEO_TRANSACTION, data, &reply); 852cbba477bea136698944ece498115dbddd7bb659Chong Zhang } 862cbba477bea136698944ece498115dbddd7bb659Chong Zhang 872cbba477bea136698944ece498115dbddd7bb659Chong Zhang virtual void noteResetAudio() { 882cbba477bea136698944ece498115dbddd7bb659Chong Zhang Parcel data, reply; 892cbba477bea136698944ece498115dbddd7bb659Chong Zhang data.writeInterfaceToken(IBatteryStats::getInterfaceDescriptor()); 902cbba477bea136698944ece498115dbddd7bb659Chong Zhang remote()->transact(NOTE_RESET_AUDIO_TRANSACTION, data, &reply); 912cbba477bea136698944ece498115dbddd7bb659Chong Zhang } 92d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk 93d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk virtual void noteFlashlightOn(int uid) { 94d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk Parcel data, reply; 95d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk data.writeInterfaceToken(IBatteryStats::getInterfaceDescriptor()); 96d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk data.writeInt32(uid); 97d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk remote()->transact(NOTE_FLASHLIGHT_ON_TRANSACTION, data, &reply); 98d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk } 99d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk 100d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk virtual void noteFlashlightOff(int uid) { 101d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk Parcel data, reply; 102d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk data.writeInterfaceToken(IBatteryStats::getInterfaceDescriptor()); 103d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk data.writeInt32(uid); 104d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk remote()->transact(NOTE_FLASHLIGHT_OFF_TRANSACTION, data, &reply); 105d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk } 106d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk 107d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk virtual void noteStartCamera(int uid) { 108d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk Parcel data, reply; 109d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk data.writeInterfaceToken(IBatteryStats::getInterfaceDescriptor()); 110d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk data.writeInt32(uid); 111d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk remote()->transact(NOTE_START_CAMERA_TRANSACTION, data, &reply); 112d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk } 113d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk 114d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk virtual void noteStopCamera(int uid) { 115d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk Parcel data, reply; 116d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk data.writeInterfaceToken(IBatteryStats::getInterfaceDescriptor()); 117d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk data.writeInt32(uid); 118d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk remote()->transact(NOTE_STOP_CAMERA_TRANSACTION, data, &reply); 119d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk } 120d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk 121d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk virtual void noteResetCamera() { 122d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk Parcel data, reply; 123d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk data.writeInterfaceToken(IBatteryStats::getInterfaceDescriptor()); 124d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk remote()->transact(NOTE_RESET_CAMERA_TRANSACTION, data, &reply); 125d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk } 126d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk 127d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk virtual void noteResetFlashlight() { 128d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk Parcel data, reply; 129d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk data.writeInterfaceToken(IBatteryStats::getInterfaceDescriptor()); 130d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk remote()->transact(NOTE_RESET_FLASHLIGHT_TRANSACTION, data, &reply); 131d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk } 132d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk 13363ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood}; 13463ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood 13563ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike LockwoodIMPLEMENT_META_INTERFACE(BatteryStats, "com.android.internal.app.IBatteryStats"); 13663ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood 13763ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood// ---------------------------------------------------------------------- 13863ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood 13963ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwoodstatus_t BnBatteryStats::onTransact( 14063ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood uint32_t code, const Parcel& data, Parcel* reply, uint32_t flags) 14163ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood{ 14263ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood switch(code) { 14363ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood case NOTE_START_SENSOR_TRANSACTION: { 14463ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood CHECK_INTERFACE(IBatteryStats, data, reply); 14563ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood int uid = data.readInt32(); 14663ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood int sensor = data.readInt32(); 14763ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood noteStartSensor(uid, sensor); 14863ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood reply->writeNoException(); 14963ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood return NO_ERROR; 15063ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood } break; 15163ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood case NOTE_STOP_SENSOR_TRANSACTION: { 15263ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood CHECK_INTERFACE(IBatteryStats, data, reply); 15363ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood int uid = data.readInt32(); 15463ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood int sensor = data.readInt32(); 15563ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood noteStopSensor(uid, sensor); 15663ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood reply->writeNoException(); 15763ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood return NO_ERROR; 15863ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood } break; 159bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang case NOTE_START_VIDEO_TRANSACTION: { 160bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang CHECK_INTERFACE(IBatteryStats, data, reply); 161bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang int uid = data.readInt32(); 162bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang noteStartVideo(uid); 163bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang reply->writeNoException(); 164bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang return NO_ERROR; 165bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang } break; 166bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang case NOTE_STOP_VIDEO_TRANSACTION: { 167bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang CHECK_INTERFACE(IBatteryStats, data, reply); 168bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang int uid = data.readInt32(); 169bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang noteStopVideo(uid); 170bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang reply->writeNoException(); 171bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang return NO_ERROR; 172bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang } break; 173bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang case NOTE_START_AUDIO_TRANSACTION: { 174bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang CHECK_INTERFACE(IBatteryStats, data, reply); 175bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang int uid = data.readInt32(); 176bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang noteStartAudio(uid); 177bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang reply->writeNoException(); 178bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang return NO_ERROR; 179bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang } break; 180bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang case NOTE_STOP_AUDIO_TRANSACTION: { 181bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang CHECK_INTERFACE(IBatteryStats, data, reply); 182bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang int uid = data.readInt32(); 183bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang noteStopAudio(uid); 184bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang reply->writeNoException(); 185bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang return NO_ERROR; 186bd42d38b161beb8a4f23ca40b7551e941280e556Chong Zhang } break; 1872cbba477bea136698944ece498115dbddd7bb659Chong Zhang case NOTE_RESET_VIDEO_TRANSACTION: { 1882cbba477bea136698944ece498115dbddd7bb659Chong Zhang CHECK_INTERFACE(IBatteryStats, data, reply); 1892cbba477bea136698944ece498115dbddd7bb659Chong Zhang noteResetVideo(); 1902cbba477bea136698944ece498115dbddd7bb659Chong Zhang reply->writeNoException(); 1912cbba477bea136698944ece498115dbddd7bb659Chong Zhang return NO_ERROR; 1922cbba477bea136698944ece498115dbddd7bb659Chong Zhang } break; 1932cbba477bea136698944ece498115dbddd7bb659Chong Zhang case NOTE_RESET_AUDIO_TRANSACTION: { 1942cbba477bea136698944ece498115dbddd7bb659Chong Zhang CHECK_INTERFACE(IBatteryStats, data, reply); 1952cbba477bea136698944ece498115dbddd7bb659Chong Zhang noteResetAudio(); 1962cbba477bea136698944ece498115dbddd7bb659Chong Zhang reply->writeNoException(); 1972cbba477bea136698944ece498115dbddd7bb659Chong Zhang return NO_ERROR; 1982cbba477bea136698944ece498115dbddd7bb659Chong Zhang } break; 199d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk case NOTE_FLASHLIGHT_ON_TRANSACTION: { 200d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk CHECK_INTERFACE(IBatteryStats, data, reply); 201d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk int uid = data.readInt32(); 202d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk noteFlashlightOn(uid); 203d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk reply->writeNoException(); 204d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk return NO_ERROR; 205d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk } break; 206d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk case NOTE_FLASHLIGHT_OFF_TRANSACTION: { 207d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk CHECK_INTERFACE(IBatteryStats, data, reply); 208d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk int uid = data.readInt32(); 209d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk noteFlashlightOff(uid); 210d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk reply->writeNoException(); 211d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk return NO_ERROR; 212d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk } break; 213d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk case NOTE_START_CAMERA_TRANSACTION: { 214d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk CHECK_INTERFACE(IBatteryStats, data, reply); 215d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk int uid = data.readInt32(); 216d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk noteStartCamera(uid); 217d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk reply->writeNoException(); 218d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk return NO_ERROR; 219d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk } break; 220d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk case NOTE_STOP_CAMERA_TRANSACTION: { 221d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk CHECK_INTERFACE(IBatteryStats, data, reply); 222d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk int uid = data.readInt32(); 223d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk noteStopCamera(uid); 224d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk reply->writeNoException(); 225d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk return NO_ERROR; 226d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk } break; 227d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk case NOTE_RESET_CAMERA_TRANSACTION: { 228d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk CHECK_INTERFACE(IBatteryStats, data, reply); 229d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk noteResetCamera(); 230d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk reply->writeNoException(); 231d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk return NO_ERROR; 232d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk } break; 233d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk case NOTE_RESET_FLASHLIGHT_TRANSACTION: { 234d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk CHECK_INTERFACE(IBatteryStats, data, reply); 235d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk noteResetFlashlight(); 236d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk reply->writeNoException(); 237d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk return NO_ERROR; 238d47da608366cf1c2649b5dd2759d36e30377fa54Ruben Brunk } break; 23963ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood default: 24063ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood return BBinder::onTransact(code, data, reply, flags); 24163ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood } 24263ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood} 24363ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood 24463ff1c644f785c78adbf65b9abf6b998cee2c7a1Mike Lockwood}; // namespace android 245