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
461fd86f4c058c6f2f31df6489049f7ab6fbeee717Yifan Hong    /**
471fd86f4c058c6f2f31df6489049f7ab6fbeee717Yifan Hong     * @hide
481fd86f4c058c6f2f31df6489049f7ab6fbeee717Yifan Hong     */
491fd86f4c058c6f2f31df6489049f7ab6fbeee717Yifan Hong    public void setLong(long val) {
501fd86f4c058c6f2f31df6489049f7ab6fbeee717Yifan Hong        mValueLong = val;
511fd86f4c058c6f2f31df6489049f7ab6fbeee717Yifan Hong    }
521fd86f4c058c6f2f31df6489049f7ab6fbeee717Yifan Hong
53d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor    /*
54d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor     * Parcel read/write code must be kept in sync with
55d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor     * frameworks/native/services/batteryservice/BatteryProperty.cpp
56d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor     */
57d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor
58d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor    private BatteryProperty(Parcel p) {
59d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor        readFromParcel(p);
60d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor    }
61d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor
62d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor    public void readFromParcel(Parcel p) {
63540f4d6db34905b38ee1095ef35fe98d3fa38a9eTodd Poynor        mValueLong = p.readLong();
64d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor    }
65d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor
66d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor    public void writeToParcel(Parcel p, int flags) {
67540f4d6db34905b38ee1095ef35fe98d3fa38a9eTodd Poynor        p.writeLong(mValueLong);
68d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor    }
69d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor
70d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor    public static final Parcelable.Creator<BatteryProperty> CREATOR
71d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor        = new Parcelable.Creator<BatteryProperty>() {
72d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor        public BatteryProperty createFromParcel(Parcel p) {
73d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor            return new BatteryProperty(p);
74d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor        }
75d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor
76d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor        public BatteryProperty[] newArray(int size) {
77d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor            return new BatteryProperty[size];
78d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor        }
79d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor    };
80d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor
81d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor    public int describeContents() {
82d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor        return 0;
83d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor    }
84d7b34771cbb89c056e7c0f8976db431cad1ace8cTodd Poynor}
85