1 /* 2 * Copyright (C) 2014 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 package android.hardware.camera2.impl; 17 18 import android.os.Parcel; 19 import android.os.Parcelable; 20 21 /** 22 * @hide 23 */ 24 public class CaptureResultExtras implements Parcelable { 25 private int requestId; 26 private int subsequenceId; 27 private int afTriggerId; 28 private int precaptureTriggerId; 29 private long frameNumber; 30 private int partialResultCount; 31 private int errorStreamId; 32 private String errorPhysicalCameraId; 33 private long lastCompletedRegularFrameNumber; 34 private long lastCompletedReprocessFrameNumber; 35 private long lastCompletedZslFrameNumber; 36 37 public static final @android.annotation.NonNull Parcelable.Creator<CaptureResultExtras> CREATOR = 38 new Parcelable.Creator<CaptureResultExtras>() { 39 @Override 40 public CaptureResultExtras createFromParcel(Parcel in) { 41 return new CaptureResultExtras(in); 42 } 43 44 @Override 45 public CaptureResultExtras[] newArray(int size) { 46 return new CaptureResultExtras[size]; 47 } 48 }; 49 CaptureResultExtras(Parcel in)50 private CaptureResultExtras(Parcel in) { 51 readFromParcel(in); 52 } 53 CaptureResultExtras(int requestId, int subsequenceId, int afTriggerId, int precaptureTriggerId, long frameNumber, int partialResultCount, int errorStreamId, String errorPhysicalCameraId, long lastCompletedRegularFrameNumber, long lastCompletedReprocessFrameNumber, long lastCompletedZslFrameNumber)54 public CaptureResultExtras(int requestId, int subsequenceId, int afTriggerId, 55 int precaptureTriggerId, long frameNumber, 56 int partialResultCount, int errorStreamId, 57 String errorPhysicalCameraId, long lastCompletedRegularFrameNumber, 58 long lastCompletedReprocessFrameNumber, 59 long lastCompletedZslFrameNumber) { 60 this.requestId = requestId; 61 this.subsequenceId = subsequenceId; 62 this.afTriggerId = afTriggerId; 63 this.precaptureTriggerId = precaptureTriggerId; 64 this.frameNumber = frameNumber; 65 this.partialResultCount = partialResultCount; 66 this.errorStreamId = errorStreamId; 67 this.errorPhysicalCameraId = errorPhysicalCameraId; 68 this.lastCompletedRegularFrameNumber = lastCompletedRegularFrameNumber; 69 this.lastCompletedReprocessFrameNumber = lastCompletedReprocessFrameNumber; 70 this.lastCompletedZslFrameNumber = lastCompletedZslFrameNumber; 71 } 72 73 @Override describeContents()74 public int describeContents() { 75 return 0; 76 } 77 78 @Override writeToParcel(Parcel dest, int flags)79 public void writeToParcel(Parcel dest, int flags) { 80 dest.writeInt(requestId); 81 dest.writeInt(subsequenceId); 82 dest.writeInt(afTriggerId); 83 dest.writeInt(precaptureTriggerId); 84 dest.writeLong(frameNumber); 85 dest.writeInt(partialResultCount); 86 dest.writeInt(errorStreamId); 87 if ((errorPhysicalCameraId != null) && !errorPhysicalCameraId.isEmpty()) { 88 dest.writeBoolean(true); 89 dest.writeString(errorPhysicalCameraId); 90 } else { 91 dest.writeBoolean(false); 92 } 93 dest.writeLong(lastCompletedRegularFrameNumber); 94 dest.writeLong(lastCompletedReprocessFrameNumber); 95 dest.writeLong(lastCompletedZslFrameNumber); 96 } 97 readFromParcel(Parcel in)98 public void readFromParcel(Parcel in) { 99 requestId = in.readInt(); 100 subsequenceId = in.readInt(); 101 afTriggerId = in.readInt(); 102 precaptureTriggerId = in.readInt(); 103 frameNumber = in.readLong(); 104 partialResultCount = in.readInt(); 105 errorStreamId = in.readInt(); 106 boolean errorPhysicalCameraIdPresent = in.readBoolean(); 107 if (errorPhysicalCameraIdPresent) { 108 errorPhysicalCameraId = in.readString(); 109 } 110 lastCompletedRegularFrameNumber = in.readLong(); 111 lastCompletedReprocessFrameNumber = in.readLong(); 112 lastCompletedZslFrameNumber = in.readLong(); 113 } 114 getErrorPhysicalCameraId()115 public String getErrorPhysicalCameraId() { 116 return errorPhysicalCameraId; 117 } 118 getRequestId()119 public int getRequestId() { 120 return requestId; 121 } 122 getSubsequenceId()123 public int getSubsequenceId() { 124 return subsequenceId; 125 } 126 getAfTriggerId()127 public int getAfTriggerId() { 128 return afTriggerId; 129 } 130 getPrecaptureTriggerId()131 public int getPrecaptureTriggerId() { 132 return precaptureTriggerId; 133 } 134 getFrameNumber()135 public long getFrameNumber() { 136 return frameNumber; 137 } 138 getPartialResultCount()139 public int getPartialResultCount() { 140 return partialResultCount; 141 } 142 getErrorStreamId()143 public int getErrorStreamId() { 144 return errorStreamId; 145 } 146 getLastCompletedRegularFrameNumber()147 public long getLastCompletedRegularFrameNumber() { 148 return lastCompletedRegularFrameNumber; 149 } 150 getLastCompletedReprocessFrameNumber()151 public long getLastCompletedReprocessFrameNumber() { 152 return lastCompletedReprocessFrameNumber; 153 } 154 getLastCompletedZslFrameNumber()155 public long getLastCompletedZslFrameNumber() { 156 return lastCompletedZslFrameNumber; 157 } 158 } 159