All Downloads are FREE. Search and download functionalities are using the official Maven repository.

src.androidx.camera.extensions.impl.NightPreviewExtenderImpl Maven / Gradle / Ivy

Go to download

A library jar that provides APIs for Applications written for the Google Android Platform.

There is a newer version: 15-robolectric-12650502
Show newest version
/*
 * Copyright 2019 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package androidx.camera.extensions.impl;

import android.content.Context;
import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CaptureRequest;
import android.util.Pair;
import android.util.Size;

import java.util.List;

/**
 * Implementation for night preview use case.
 *
 * 

This class should be implemented by OEM and deployed to the target devices. 3P developers * don't need to implement this, unless this is used for related testing usage. * * @since 1.0 * @hide */ public final class NightPreviewExtenderImpl implements PreviewExtenderImpl { private static final int DEFAULT_STAGE_ID = 0; private static final int SESSION_STAGE_ID = 101; private static final int MODE = CaptureRequest.CONTROL_AWB_MODE_INCANDESCENT; /** * @hide */ public NightPreviewExtenderImpl() { } /** * @hide */ @Override public void init(String cameraId, CameraCharacteristics cameraCharacteristics) { } /** * @hide */ @Override public boolean isExtensionAvailable(String cameraId, CameraCharacteristics cameraCharacteristics) { return false; } public boolean isExtensionAvailableOriginal(String cameraId, CameraCharacteristics cameraCharacteristics) { // Implement the logic to check whether the extension function is supported or not. if (cameraCharacteristics == null) { return false; } return CameraCharacteristicAvailability.isWBModeAvailable(cameraCharacteristics, MODE); } /** * @hide */ @Override public CaptureStageImpl getCaptureStage() { // Set the necessary CaptureRequest parameters via CaptureStage, here we use some // placeholder set of CaptureRequest.Key values SettableCaptureStage captureStage = new SettableCaptureStage(DEFAULT_STAGE_ID); captureStage.addCaptureRequestParameters(CaptureRequest.CONTROL_AWB_MODE, MODE); return captureStage; } /** * @hide */ @Override public ProcessorType getProcessorType() { return ProcessorType.PROCESSOR_TYPE_REQUEST_UPDATE_ONLY; } /** * @hide */ @Override public ProcessorImpl getProcessor() { return RequestUpdateProcessorImpls.noUpdateProcessor(); } /** * @hide */ @Override public List> getSupportedResolutions() { return null; } /** * @hide */ @Override public void onInit(String cameraId, CameraCharacteristics cameraCharacteristics, Context context) { } /** * @hide */ @Override public void onDeInit() { } /** * @hide */ @Override public CaptureStageImpl onPresetSession() { // Set the necessary CaptureRequest parameters via CaptureStage, here we use some // placeholder set of CaptureRequest.Key values SettableCaptureStage captureStage = new SettableCaptureStage(SESSION_STAGE_ID); captureStage.addCaptureRequestParameters(CaptureRequest.CONTROL_AWB_MODE, MODE); return captureStage; } /** * @hide */ @Override public CaptureStageImpl onEnableSession() { // Set the necessary CaptureRequest parameters via CaptureStage, here we use some // placeholder set of CaptureRequest.Key values SettableCaptureStage captureStage = new SettableCaptureStage(SESSION_STAGE_ID); captureStage.addCaptureRequestParameters(CaptureRequest.CONTROL_AWB_MODE, MODE); return captureStage; } /** * @hide */ @Override public CaptureStageImpl onDisableSession() { // Set the necessary CaptureRequest parameters via CaptureStage, here we use some // placeholder set of CaptureRequest.Key values SettableCaptureStage captureStage = new SettableCaptureStage(SESSION_STAGE_ID); captureStage.addCaptureRequestParameters(CaptureRequest.CONTROL_AWB_MODE, MODE); return captureStage; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy