19ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall/* 29ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall * Copyright (C) 2014 The Android Open Source Project 39ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall * 49ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall * Licensed under the Apache License, Version 2.0 (the "License"); 59ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall * you may not use this file except in compliance with the License. 69ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall * You may obtain a copy of the License at 79ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall * 89ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall * http://www.apache.org/licenses/LICENSE-2.0 99ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall * 109ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall * Unless required by applicable law or agreed to in writing, software 119ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall * distributed under the License is distributed on an "AS IS" BASIS, 129ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall * See the License for the specific language governing permissions and 149ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall * limitations under the License. 159ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall */ 169ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall 179ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lallpackage com.android.camera.one; 189ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall 199ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lallimport android.hardware.camera2.CameraCharacteristics; 209ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lallimport android.hardware.camera2.CameraMetadata; 219ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall 229ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall/** 239ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall * Provides the camera orientation based on the given Camera2 characteristics. 249ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall */ 259ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lallpublic class CameraDirectionProvider { 269ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall private final CameraCharacteristics mCharacteristics; 279ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall 289ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall public CameraDirectionProvider(CameraCharacteristics characteristics) { 299ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall mCharacteristics = characteristics; 309ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall } 319ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall 329ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall public OneCamera.Facing getDirection() { 339ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall switch (mCharacteristics.get(CameraCharacteristics.LENS_FACING)) { 349ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall case CameraMetadata.LENS_FACING_BACK: 359ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall return OneCamera.Facing.BACK; 369ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall case CameraMetadata.LENS_FACING_FRONT: 379ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall return OneCamera.Facing.FRONT; 389ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall } 399ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall return OneCamera.Facing.BACK; 409ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall } 419ceed0d5535e8453f8b5f77959134760dac01ec5Puneet Lall} 42