14961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall/* 24961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall * Copyright (C) 2014 The Android Open Source Project 34961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall * 44961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall * Licensed under the Apache License, Version 2.0 (the "License"); 54961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall * you may not use this file except in compliance with the License. 64961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall * You may obtain a copy of the License at 74961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall * 84961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall * http://www.apache.org/licenses/LICENSE-2.0 94961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall * 104961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall * Unless required by applicable law or agreed to in writing, software 114961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall * distributed under the License is distributed on an "AS IS" BASIS, 124961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall * See the License for the specific language governing permissions and 144961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall * limitations under the License. 154961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall */ 164961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall 174961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lallpackage com.android.camera.one.v2.camera2proxy; 184961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall 194961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lallimport android.hardware.camera2.CaptureRequest; 204961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lallimport android.os.Parcel; 214961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall 224961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lallimport java.util.List; 234961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall 244961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lallimport javax.annotation.Nonnull; 254961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lallimport javax.annotation.Nullable; 264961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall 274961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall/** 284961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall * Wraps {@link CaptureRequest} 294961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall */ 304961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lallpublic class CaptureRequestProxy { 314961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall private final CaptureRequest mRequest; 324961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall 334961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall public CaptureRequestProxy(@Nonnull CaptureRequest request) { 344961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall mRequest = request; 354961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall } 364961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall 374961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall @Nullable 384961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall public <T> T get(@Nonnull CaptureRequest.Key<T> key) { 394961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall return mRequest.get(key); 404961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall } 414961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall 424961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall @Nonnull 434961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall public List<CaptureRequest.Key<?>> getKeys() { 444961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall return mRequest.getKeys(); 454961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall } 464961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall 474961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall @Nullable 484961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall public Object getTag() { 494961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall return mRequest.getTag(); 504961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall } 514961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall 524961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall public boolean equals(Object other) { 534961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall return mRequest.equals(other); 544961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall } 554961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall 564961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall public int hashCode() { 574961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall return mRequest.hashCode(); 584961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall } 594961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall 604961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall public int describeContents() { 614961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall return mRequest.describeContents(); 624961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall } 634961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall 644961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall public void writeToParcel(Parcel dest, int flags) { 654961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall mRequest.writeToParcel(dest, flags); 664961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall } 674961ad31d9a877e3a68566fb5d4b33b7f79ce44ePuneet Lall} 68