blob: 39d96980d4a537bf89a070986c782129f0d179f1 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<!--
SPDX-FileCopyrightText: 2022-2023 The LineageOS Project
SPDX-License-Identifier: Apache-2.0
-->
<resources>
<!-- Enable auxiliary cameras selector. -->
<bool name="config_enableAuxCameras">false</bool>
<!-- List of ID of auxiliary cameras that must be ignored by the app. -->
<string-array name="config_ignoredAuxCameraIds">
<!-- No camera is ignored by default. -->
</string-array>
<!-- Decide whether to ignore auxiliary cameras that
are logical (made of multiple physical sensors).
Set this to false if your camera HAL doesn't expose
one or more aux cameras as a standalone camera device.
Note that you will probably need to add
more camera IDs to ignoreCameraIds. -->
<bool name="config_ignoreLogicalAuxCameras">true</bool>
<!-- List of ID of camera devices that doesn't advertise
REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE yet are
able to produce a JPEG or a YUV stream. The camera IDs specified
here won't be excluded by CameraX. Please be sure to test all
modes exposed by the app with those cameras. -->
<string-array name="config_backwardCompatibleCameraIds">
<!-- No camera is unignored by default. -->
</string-array>
<!-- An array of triplets made of (camera ID, qualities, frame rates).
These video modes will be added to the available
quality/frame rate combinations of a camera device.
Make sure the device is able to handle those configurations
and maintain a stable frame rate at any condition.
Note that you can't add video qualities that aren't
exposed by the camera, only new frame rates.
Valid values of resolution are:
- "sd" (480p)
- "hd" (720p)
- "fhd" (1080p)
- "uhd" (2160p)
Valid values of frame rate are:
- "24"
- "30"
- "60"
- "120"
Additionally you can prepend `-` to frame rate to mark it as unsupported.
Example:
<string-array name="config_additionalVideoConfigurations">
<item>0</item> <item>sd|hd|fhd</item> <item>60|120</item>
<item>0</item> <item>uhd</item> <item>-60</item>
<item>1</item> <item>sd|hd|fhd</item> <item>60</item>
</string-array>
-->
<string-array name="config_additionalVideoConfigurations">
<!-- No additional configuration is added by default. -->
</string-array>
<!-- An array of triplets made of (camera ID, approximate zoom ratio, exact zoom ratio).
These values will be added to the lens selector if one or more cameras uses the
multi-camera API to let the user select which lens to use.
It's highly recommended to leave config_enableAuxCameras to false, since with
multi-camera API you only use a single camera device for all sensors.
You may enable it if you need auxiliary camera devices for a set of cameras on one
of the device's side (e.g. logical main back camera but multiple physical camera
devices on front), in that case if a main device side's lens is referenced here
all the auxiliary camera devices of that side will be ignored.
You may be able to get the exact zoom ratio needed to trigger the lens switch from
your stock camera app and observing the zoom ratio it sets with the following command:
adb shell dumpsys media.camera | grep 'android.control.zoomRatio' -1
Example for Google Pixel 7 Pro's back camera configuration:
<string-array name="config_logicalZoomRatios">
<item>0</item> <item>0.5</item> <item>0.55632502</item>
<item>0</item> <item>2.0</item> <item>2.0</item>
<item>0</item> <item>5.0</item> <item>5.0</item>
</string-array>
-->
<string-array name="config_logicalZoomRatios">
<!-- No configuration by default. -->
</string-array>
<!-- Whether we should use high resolution output size or not.
See: StreamConfigurationMap.getHighResolutionOutputSizes() for more info. -->
<bool name="config_enableHighResolution">true</bool>
</resources>