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