Home | History | Annotate | Download | only in health
      1 /*
      2  * Copyright (C) 2016 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 package android.os.health;
     18 
     19 import android.os.Parcel;
     20 import android.os.Parcelable;
     21 
     22 /**
     23  * A TimerStat object stores a count and a time.
     24  *
     25  * @more
     26  * When possible, the other APIs in this package avoid requiring a TimerStat
     27  * object to be constructed, even internally, but the getTimers method on
     28  * {@link android.os.health.HealthStats} does require TimerStat objects.
     29  */
     30 public final class TimerStat implements Parcelable {
     31     private int mCount;
     32     private long mTime;
     33 
     34     /**
     35      * The CREATOR instance for use by aidl Binder interfaces.
     36      */
     37     public static final Parcelable.Creator<TimerStat> CREATOR
     38             = new Parcelable.Creator<TimerStat>() {
     39         public TimerStat createFromParcel(Parcel in) {
     40             return new TimerStat(in);
     41         }
     42 
     43         public TimerStat[] newArray(int size) {
     44             return new TimerStat[size];
     45         }
     46     };
     47 
     48     /**
     49      * Construct an empty TimerStat object with the count and time set to 0.
     50      */
     51     public TimerStat() {
     52     }
     53 
     54     /**
     55      * Construct a TimerStat object with the supplied count and time fields.
     56      *
     57      * @param count The count
     58      * @param time The time
     59      */
     60     public TimerStat(int count, long time) {
     61         mCount = count;
     62         mTime = time;
     63     }
     64 
     65     /**
     66      * Construct a TimerStat object reading the values from a {@link android.os.Parcel Parcel}
     67      * object.
     68      */
     69     public TimerStat(Parcel in) {
     70         mCount = in.readInt();
     71         mTime = in.readLong();
     72     }
     73 
     74     /**
     75      * @inheritDoc
     76      */
     77     public int describeContents() {
     78         return 0;
     79     }
     80 
     81     /**
     82      * Write this TimerStat object to a parcel.
     83      */
     84     public void writeToParcel(Parcel out, int flags) {
     85         out.writeInt(mCount);
     86         out.writeLong(mTime);
     87     }
     88 
     89     /**
     90      * Set the count for this timer.
     91      */
     92     public void setCount(int count) {
     93         mCount = count;
     94     }
     95 
     96     /**
     97      * Get the count for this timer.
     98      */
     99     public int getCount() {
    100         return mCount;
    101     }
    102 
    103     /**
    104      * Set the time for this timer in milliseconds.
    105      */
    106     public void setTime(long time) {
    107         mTime = time;
    108     }
    109 
    110     /**
    111      * Get the time for this timer in milliseconds.
    112      */
    113     public long getTime() {
    114         return mTime;
    115     }
    116 }
    117