1965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko/* 2965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko * Copyright (C) 2015 The Android Open Source Project 3965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko * 4965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko * Licensed under the Apache License, Version 2.0 (the "License"); 5965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko * you may not use this file except in compliance with the License. 6965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko * You may obtain a copy of the License at 7965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko * 8965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko * http://www.apache.org/licenses/LICENSE-2.0 9965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko * 10965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko * Unless required by applicable law or agreed to in writing, software 11965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko * distributed under the License is distributed on an "AS IS" BASIS, 12965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko * See the License for the specific language governing permissions and 14965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko * limitations under the License. 15965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko */ 16965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko 17965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenkopackage android.os; 18965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko 19965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko/** 20965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko * CPU usage information per core. 21965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko */ 22965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenkopublic final class CpuUsageInfo implements Parcelable { 23965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko private long mActive; 24965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko private long mTotal; 25965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko 26965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko public static final Parcelable.Creator<CpuUsageInfo> CREATOR = new 27965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko Parcelable.Creator<CpuUsageInfo>() { 28965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko public CpuUsageInfo createFromParcel(Parcel in) { 29965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko return new CpuUsageInfo(in); 30965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko } 31965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko 32965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko public CpuUsageInfo[] newArray(int size) { 33965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko return new CpuUsageInfo[size]; 34965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko } 35965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko }; 36965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko 37965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko /** @hide */ 38965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko public CpuUsageInfo(long activeTime, long totalTime) { 39965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko mActive = activeTime; 40965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko mTotal = totalTime; 41965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko } 42965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko 43965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko private CpuUsageInfo(Parcel in) { 44965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko readFromParcel(in); 45965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko } 46965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko 47965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko /** 48965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko * Gets the active time in milliseconds since the system last booted. 49965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko * 50965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko * @return Active time in milliseconds. 51965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko */ 52965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko public long getActive() { 53965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko return mActive; 54965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko } 55965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko 56965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko /** 57965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko * Gets the total time in milliseconds that the CPU has been enabled since the system last 58965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko * booted. This includes time the CPU spent idle. 59965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko * 60965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko * @return Total time in milliseconds. 61965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko */ 62965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko public long getTotal() { 63965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko return mTotal; 64965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko } 65965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko 66965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko @Override 67965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko public int describeContents() { 68965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko return 0; 69965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko } 70965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko 71965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko @Override 72965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko public void writeToParcel(Parcel out, int flags) { 73965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko out.writeLong(mActive); 74965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko out.writeLong(mTotal); 75965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko } 76965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko 77965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko private void readFromParcel(Parcel in) { 78965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko mActive = in.readLong(); 79965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko mTotal = in.readLong(); 80965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko } 81965ecbbb3eb19007690c333ab3aa05e380deb633Polina Bondarenko} 82