15ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall/* 25ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall * Copyright (C) 2015 The Android Open Source Project 35ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall * 45ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall * Licensed under the Apache License, Version 2.0 (the "License"); 55ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall * you may not use this file except in compliance with the License. 65ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall * You may obtain a copy of the License at 75ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall * 85ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall * http://www.apache.org/licenses/LICENSE-2.0 95ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall * 105ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall * Unless required by applicable law or agreed to in writing, software 115ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall * distributed under the License is distributed on an "AS IS" BASIS, 125ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 135ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall * See the License for the specific language governing permissions and 145ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall * limitations under the License. 155ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall */ 165ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall 175ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lallpackage com.android.camera.one.v2.camera2proxy; 185ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall 195ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lallimport android.hardware.camera2.CaptureResult; 205ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall 215ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lallimport java.util.List; 225ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall 235ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lallimport javax.annotation.Nonnull; 245ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lallimport javax.annotation.Nullable; 255ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lallimport javax.annotation.ParametersAreNonnullByDefault; 265ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall 275ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall/** 285ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall * Wraps a {@link android.hardware.camera2.CaptureResult} as a 295ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall * {@link CaptureResultProxy}. 305ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall */ 315ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall@ParametersAreNonnullByDefault 325ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lallpublic class AndroidCaptureResultProxy implements CaptureResultProxy { 335ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall final CaptureResult mCaptureResult; 345ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall 355ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall public AndroidCaptureResultProxy(CaptureResult captureResult) { 365ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall mCaptureResult = captureResult; 375ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall } 385ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall 395ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall @Nullable 405ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall public <T> T get(CaptureResult.Key<T> key) { 415ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall return mCaptureResult.get(key); 425ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall } 435ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall 445ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall @Nonnull 455ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall public List<CaptureResult.Key<?>> getKeys() { 465ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall return mCaptureResult.getKeys(); 475ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall } 485ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall 495ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall @Nonnull 505ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall public CaptureRequestProxy getRequest() { 515ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall return new CaptureRequestProxy(mCaptureResult.getRequest()); 525ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall } 535ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall 545ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall public long getFrameNumber() { 555ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall return mCaptureResult.getFrameNumber(); 565ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall } 575ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall 585ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall public int getSequenceId() { 595ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall return mCaptureResult.getSequenceId(); 605ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall } 615ca7d2642881f3cf06adb2532e0d5950524a34f4Puneet Lall} 62