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