1 /* Copyright 2013, The Android Open Source Project 2 * 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 package android.os; 17 18 /** 19 * {@hide} 20 */ 21 public class BatteryProperties implements Parcelable { 22 public boolean chargerAcOnline; 23 public boolean chargerUsbOnline; 24 public boolean chargerWirelessOnline; 25 public int batteryStatus; 26 public int batteryHealth; 27 public boolean batteryPresent; 28 public int batteryLevel; 29 public int batteryVoltage; 30 public int batteryTemperature; 31 public String batteryTechnology; 32 33 public BatteryProperties() { 34 } 35 36 public void set(BatteryProperties other) { 37 chargerAcOnline = other.chargerAcOnline; 38 chargerUsbOnline = other.chargerUsbOnline; 39 chargerWirelessOnline = other.chargerWirelessOnline; 40 batteryStatus = other.batteryStatus; 41 batteryHealth = other.batteryHealth; 42 batteryPresent = other.batteryPresent; 43 batteryLevel = other.batteryLevel; 44 batteryVoltage = other.batteryVoltage; 45 batteryTemperature = other.batteryTemperature; 46 batteryTechnology = other.batteryTechnology; 47 } 48 49 /* 50 * Parcel read/write code must be kept in sync with 51 * frameworks/native/services/batteryservice/BatteryProperties.cpp 52 */ 53 54 private BatteryProperties(Parcel p) { 55 chargerAcOnline = p.readInt() == 1 ? true : false; 56 chargerUsbOnline = p.readInt() == 1 ? true : false; 57 chargerWirelessOnline = p.readInt() == 1 ? true : false; 58 batteryStatus = p.readInt(); 59 batteryHealth = p.readInt(); 60 batteryPresent = p.readInt() == 1 ? true : false; 61 batteryLevel = p.readInt(); 62 batteryVoltage = p.readInt(); 63 batteryTemperature = p.readInt(); 64 batteryTechnology = p.readString(); 65 } 66 67 public void writeToParcel(Parcel p, int flags) { 68 p.writeInt(chargerAcOnline ? 1 : 0); 69 p.writeInt(chargerUsbOnline ? 1 : 0); 70 p.writeInt(chargerWirelessOnline ? 1 : 0); 71 p.writeInt(batteryStatus); 72 p.writeInt(batteryHealth); 73 p.writeInt(batteryPresent ? 1 : 0); 74 p.writeInt(batteryLevel); 75 p.writeInt(batteryVoltage); 76 p.writeInt(batteryTemperature); 77 p.writeString(batteryTechnology); 78 } 79 80 public static final Parcelable.Creator<BatteryProperties> CREATOR 81 = new Parcelable.Creator<BatteryProperties>() { 82 public BatteryProperties createFromParcel(Parcel p) { 83 return new BatteryProperties(p); 84 } 85 86 public BatteryProperties[] newArray(int size) { 87 return new BatteryProperties[size]; 88 } 89 }; 90 91 public int describeContents() { 92 return 0; 93 } 94 } 95