tree 164d63a09d702e95179aac7675f22d1a3d01f2bb
parent 1977932ab4a69bc545788fb6e0cc8bf51bd42f56
author Lenz Paul <34327253+lenzpaul@users.noreply.github.com> 1742933237 -0400
committer GitHub <noreply@github.com> 1742933237 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJn4wz1CRC1aQ7uu5UhlAAAmS0QAG0iZMxi3oIHRoE7djE574vk
 QqxbpKRp7/dF5FgX04h8KkRqtA/xChslLX++Cslcts2EOhkobVxF0/iBaGL1I10F
 CSoOqOTcaOzkKzfhIerAY3iMRgBae/eun5FKjD0djMUl6B7qPNV5V0kbUfW/c64B
 GSVxKHgo/GetsYoEl2NCmZmYt5gTw8SINcwAL4cATMpxgoB4y/pyrIHtR2rBQqFY
 bzZgOsCYmVXqDi+x1Wn6h30E546ukoK1aqe3x6rvWknWv/kLDYHLDiNrw1f6I8/3
 QzyW4AaiC6i2lCDr1a3fbKORyICZ7dReNFVkW2SwML7vEj1PkwIMIhNXJfNKLUe7
 8H3G2NPsbFabpLGMZDre32AKTLr2jEHDNNvln3LcGlvWufnvC8v+2ZkUWP7x+uUP
 /Fo1wDQnBVbpjciQbyb6K0vxIzPzPNHVYnqTTV3nkmaZCB01kWSe4Z2yql6zT7xr
 zaXQ5DIvrm1xWjz0hSv9v8O98rSMe909sIuEZ9cmQGhF4c39/wTYpLOTz1lhHAb6
 k+/C61rs1qKj+8UrMHLQ0WTbp+VrX7jygeYWWni6As5DmUyQaw7A4mSirrXzA/CD
 oTxR60yvgLZFp4sO7tLdHjgQ8fIXGCRZMCmGo9UAk2GlmgzdyiDLO/98yEC8Sgfi
 QdF0hQRwEsxgsSLxn2jE
 =j4hL
 -----END PGP SIGNATURE-----
 

[Camera] Add lens type information (iOS)  (#8723)

This PR adds lens type information. The goal is to identify whether the lens type is wide, ultra-wide, telephoto, etc., as discussed in https://github.com/flutter/flutter/issues/119908. The iOS implementation is complete, so lens data will now be populated on iOS.

- Introduces a new CameraLensType enum to provide lens type information about the camera (e.g.: ultra-wide, telephoto, ...)
- Adds lensType in the PlatformCameraDescription and CameraDescription classes 
- Implements utility functions to convert between PlatformCameraLensType and CameraLensType.
- Updates auto-generated code (using Pigeon) to reflect these changes.

**Current CameraDescription for iPhone 11**
```
[
    CameraDescription(
        com.apple.avfoundation.avcapturedevice.built-in_video:0,
        CameraLensDirection.back,
        90
    ),
    CameraDescription(
        com.apple.avfoundation.avcapturedevice.built-in_video:1,
        CameraLensDirection.front,
        90
    ),
    CameraDescription(
        com.apple.avfoundation.avcapturedevice.built-in_video:5,
        CameraLensDirection.back,
        90
    )
]
```

**New CameraDescription for iPhone 11**
```
[
    CameraDescription(
        com.apple.avfoundation.avcapturedevice.built-in_video:0,
        CameraLensDirection.back,
        90,
        CameraLensType.wide
    ),
    CameraDescription(
        com.apple.avfoundation.avcapturedevice.built-in_video:1,
        CameraLensDirection.front,
        90,
        CameraLensType.wide
    ),
    CameraDescription(
        com.apple.avfoundation.avcapturedevice.built-in_video:5,
        CameraLensDirection.back,
        90,
        CameraLensType.ultraWide
    )
]
```