1d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor/* Copyright 2013, The Android Open Source Project
2d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor *
3d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor * Licensed under the Apache License, Version 2.0 (the "License");
4d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor * you may not use this file except in compliance with the License.
5d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor * You may obtain a copy of the License at
6d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor *
7d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor *     http://www.apache.org/licenses/LICENSE-2.0
8d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor *
9d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor * Unless required by applicable law or agreed to in writing, software
10d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor * distributed under the License is distributed on an "AS IS" BASIS,
11d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor * See the License for the specific language governing permissions and
13d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor * limitations under the License.
14d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor*/
15d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor
16d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynorpackage android.os;
17d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor
18d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynorimport android.os.Parcel;
19d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynorimport android.os.Parcelable;
20d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor
21d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor/**
22e35872da97ac6bd07d2d9ac5af8a7c18ad290718Todd Poynor * Battery properties that may be queried using
23e35872da97ac6bd07d2d9ac5af8a7c18ad290718Todd Poynor * BatteryManager.getProperty()}
24d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor */
25540f4d6db34905b38ee1095ef35fe98d3fa38a9eTodd Poynor
265fde3ff375e6cec3c11ddef7a4650d5f5f4942d1Todd Poynor/**
275fde3ff375e6cec3c11ddef7a4650d5f5f4942d1Todd Poynor * @hide
285fde3ff375e6cec3c11ddef7a4650d5f5f4942d1Todd Poynor */
295fde3ff375e6cec3c11ddef7a4650d5f5f4942d1Todd Poynorpublic class BatteryProperty implements Parcelable {
30540f4d6db34905b38ee1095ef35fe98d3fa38a9eTodd Poynor    private long mValueLong;
31e35872da97ac6bd07d2d9ac5af8a7c18ad290718Todd Poynor
32e35872da97ac6bd07d2d9ac5af8a7c18ad290718Todd Poynor    /**
33e35872da97ac6bd07d2d9ac5af8a7c18ad290718Todd Poynor     * @hide
34e35872da97ac6bd07d2d9ac5af8a7c18ad290718Todd Poynor     */
35d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor    public BatteryProperty() {
36540f4d6db34905b38ee1095ef35fe98d3fa38a9eTodd Poynor        mValueLong = Long.MIN_VALUE;
37e35872da97ac6bd07d2d9ac5af8a7c18ad290718Todd Poynor    }
38e35872da97ac6bd07d2d9ac5af8a7c18ad290718Todd Poynor
39e35872da97ac6bd07d2d9ac5af8a7c18ad290718Todd Poynor    /**
405fde3ff375e6cec3c11ddef7a4650d5f5f4942d1Todd Poynor     * @hide
41540f4d6db34905b38ee1095ef35fe98d3fa38a9eTodd Poynor     */
42540f4d6db34905b38ee1095ef35fe98d3fa38a9eTodd Poynor    public long getLong() {
43540f4d6db34905b38ee1095ef35fe98d3fa38a9eTodd Poynor        return mValueLong;
44540f4d6db34905b38ee1095ef35fe98d3fa38a9eTodd Poynor    }
455fde3ff375e6cec3c11ddef7a4650d5f5f4942d1Todd Poynor
46d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor    /*
47d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor     * Parcel read/write code must be kept in sync with
48d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor     * frameworks/native/services/batteryservice/BatteryProperty.cpp
49d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor     */
50d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor
51d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor    private BatteryProperty(Parcel p) {
52d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor        readFromParcel(p);
53d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor    }
54d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor
55d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor    public void readFromParcel(Parcel p) {
56540f4d6db34905b38ee1095ef35fe98d3fa38a9eTodd Poynor        mValueLong = p.readLong();
57d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor    }
58d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor
59d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor    public void writeToParcel(Parcel p, int flags) {
60540f4d6db34905b38ee1095ef35fe98d3fa38a9eTodd Poynor        p.writeLong(mValueLong);
61d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor    }
62d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor
63d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor    public static final Parcelable.Creator<BatteryProperty> CREATOR
64d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor        = new Parcelable.Creator<BatteryProperty>() {
65d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor        public BatteryProperty createFromParcel(Parcel p) {
66d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor            return new BatteryProperty(p);
67d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor        }
68d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor
69d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor        public BatteryProperty[] newArray(int size) {
70d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor            return new BatteryProperty[size];
71d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor        }
72d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor    };
73d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor
74d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor    public int describeContents() {
75d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor        return 0;
76d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor    }
77d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor}
78