16b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn/* 26b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn * Copyright (C) 2011 The Android Open Source Project 36b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn * 46b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn * Licensed under the Apache License, Version 2.0 (the "License"); 56b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn * you may not use this file except in compliance with the License. 66b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn * You may obtain a copy of the License at 76b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn * 86b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn * http://www.apache.org/licenses/LICENSE-2.0 96b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn * 106b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn * Unless required by applicable law or agreed to in writing, software 116b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn * distributed under the License is distributed on an "AS IS" BASIS, 126b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 136b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn * See the License for the specific language governing permissions and 146b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn * limitations under the License. 156b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn */ 166b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn 176b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackbornpackage com.android.frameworkperf; 186b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn 196b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackbornimport android.os.Parcel; 206b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackbornimport android.os.Parcelable; 216b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn 226b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackbornpublic class RunResult implements Parcelable { 236b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn final String name; 246b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn final String fgLongName; 256b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn final String bgLongName; 266b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn final long fgTime; 276b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn final long fgOps; 286b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn final long bgTime; 296b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn final long bgOps; 306b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn 316b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn RunResult(TestService.TestRunner op) { 326b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn name = op.getName(); 336b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn fgLongName = op.getForegroundLongName(); 346b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn bgLongName = op.getBackgroundLongName(); 356b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn fgTime = op.getForegroundTime(); 366b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn fgOps = op.getForegroundOps(); 376b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn bgTime = op.getBackgroundTime(); 386b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn bgOps = op.getBackgroundOps(); 396b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn } 406b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn 416b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn RunResult(Parcel source) { 426b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn name = source.readString(); 436b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn fgLongName = source.readString(); 446b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn bgLongName = source.readString(); 456b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn fgTime = source.readLong(); 466b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn fgOps = source.readLong(); 476b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn bgTime = source.readLong(); 486b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn bgOps = source.readLong(); 496b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn } 506b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn 516b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn float getFgMsPerOp() { 526b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn return fgOps != 0 ? (fgTime / (float)fgOps) : 0; 536b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn } 546b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn 556b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn float getBgMsPerOp() { 566b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn return bgOps != 0 ? (bgTime / (float)bgOps) : 0; 576b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn } 586b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn 596b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn @Override 606b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn public int describeContents() { 616b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn return 0; 626b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn } 636b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn 646b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn @Override 656b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn public void writeToParcel(Parcel dest, int flags) { 666b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn dest.writeString(name); 676b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn dest.writeString(fgLongName); 686b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn dest.writeString(bgLongName); 696b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn dest.writeLong(fgTime); 706b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn dest.writeLong(fgOps); 716b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn dest.writeLong(bgTime); 726b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn dest.writeLong(bgOps); 736b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn } 746b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn 756b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn public static final Parcelable.Creator<RunResult> CREATOR 766b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn = new Parcelable.Creator<RunResult>() { 776b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn public RunResult createFromParcel(Parcel in) { 786b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn return new RunResult(in); 796b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn } 806b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn 816b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn public RunResult[] newArray(int size) { 826b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn return new RunResult[size]; 836b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn } 846b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn }; 856b57b7e4d568bfa6273f87ef4c9af2fdc0ca1a06Dianne Hackborn}