My Motorola cellphone doesn't just have "the rear camera" and "the front camera" (which are the only two cameras I can choose from now in Opencamera). It actually has 3 rear cameras. These are normal, wide angle, and an undocumented one (it's only ever promoted in official Motorola publications as being used internally in conjunction with the other cameras to improve the image quality) which can't be accessed directly by the default camera app. I found a dashcam app which actually properly enumerates all the cameras in my device (it's the only camera app I found that can do this) but it seems to be one of those Chinese apps that just want to monetize analytics of the app's use (and any data it can vacuum up from your phone). It asks for about every permission imaginable when you install it, including your contact list and detecting nearby devices, and a lot more, none of which are needed to just access the camera.
So then I remembered there's this app called Opencamera, and though I've not used it in a while, I remember it having a ton of settings, but NOT trying to steal all your data. So I downloaded it again, only to be shocked that it didn't do a proper enumeration of all available cameras (unlike that shady app, that actually did show all the device's cameras). Sadly right now Opencamera seems to only give you the option to flip between the default front camera, and default rear camera.
So please add a feature to Opencamera where you can select a camera from a list of detected cameras (detected using Android's builtin camera enumeration feature). I'm pretty sure that the Camera (or Camera2) API contains a function to enumerate all the cameras on your device, as that's the most likely way this was done by that shady app I mentioned before.
Last edit: Videogamer555 2024-10-24
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
"So please add a feature to Opencamera where you can select a camera from a list of detected cameras (detected using Android's builtin camera enumeration feature). I'm pretty sure that the Camera (or Camera2) API contains a function to enumerate all the cameras on your device, as that's the most likely way this was done by that shady app I mentioned before."
Open Camera already does this, so it means this device isn't exposing the cameras via that method. Some devices (like Pixels) instead switch between cameras automatically when zooming in and out, which Open Camera also supports (if Settings/"Camera API" is set to "Camera2 API"), but again it requires the device support that.
Lastly the next version of Open Camera will allow more support for choosing specific cameras (e.g., on Pixels, Samsung), but again I don't know if Motorola support this.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
First, I wanted to correct something in my above post. The dashcam app I had mentioned didn't actually ask for all the permissions I thought it did. I just checked again, and the only permission that didn't seem to make sense based on the app's user-facing features was permission to find nearby devices. I must have been thinking of a different app when I wrote the part of my post that said this dashcam app asked for tons of unneeded permissions.
Secondly, this dashcam app does find all the cameras, and enumerates them in a popup menu to select the camera you want to use, including ones not found by Opencamera. So these cameras must all actually be directly accessible. Not hidden by a certain zoom range function like you mentioned. But somehow Opencamera is not finding them. I've attached a screenshot to this post, showing the camera selection popup menu from this dashcam app (note that the check email button at the top of the screen in this screenshot is an in-app ad).
My Motorola cellphone doesn't just have "the rear camera" and "the front camera" (which are the only two cameras I can choose from now in Opencamera). It actually has 3 rear cameras. These are normal, wide angle, and an undocumented one (it's only ever promoted in official Motorola publications as being used internally in conjunction with the other cameras to improve the image quality) which can't be accessed directly by the default camera app. I found a dashcam app which actually properly enumerates all the cameras in my device (it's the only camera app I found that can do this) but it seems to be one of those Chinese apps that just want to monetize analytics of the app's use (and any data it can vacuum up from your phone). It asks for about every permission imaginable when you install it, including your contact list and detecting nearby devices, and a lot more, none of which are needed to just access the camera.
So then I remembered there's this app called Opencamera, and though I've not used it in a while, I remember it having a ton of settings, but NOT trying to steal all your data. So I downloaded it again, only to be shocked that it didn't do a proper enumeration of all available cameras (unlike that shady app, that actually did show all the device's cameras). Sadly right now Opencamera seems to only give you the option to flip between the default front camera, and default rear camera.
So please add a feature to Opencamera where you can select a camera from a list of detected cameras (detected using Android's builtin camera enumeration feature). I'm pretty sure that the Camera (or Camera2) API contains a function to enumerate all the cameras on your device, as that's the most likely way this was done by that shady app I mentioned before.
Last edit: Videogamer555 2024-10-24
"So please add a feature to Opencamera where you can select a camera from a list of detected cameras (detected using Android's builtin camera enumeration feature). I'm pretty sure that the Camera (or Camera2) API contains a function to enumerate all the cameras on your device, as that's the most likely way this was done by that shady app I mentioned before."
Open Camera already does this, so it means this device isn't exposing the cameras via that method. Some devices (like Pixels) instead switch between cameras automatically when zooming in and out, which Open Camera also supports (if Settings/"Camera API" is set to "Camera2 API"), but again it requires the device support that.
Lastly the next version of Open Camera will allow more support for choosing specific cameras (e.g., on Pixels, Samsung), but again I don't know if Motorola support this.
A couple things.
First, I wanted to correct something in my above post. The dashcam app I had mentioned didn't actually ask for all the permissions I thought it did. I just checked again, and the only permission that didn't seem to make sense based on the app's user-facing features was permission to find nearby devices. I must have been thinking of a different app when I wrote the part of my post that said this dashcam app asked for tons of unneeded permissions.
Secondly, this dashcam app does find all the cameras, and enumerates them in a popup menu to select the camera you want to use, including ones not found by Opencamera. So these cameras must all actually be directly accessible. Not hidden by a certain zoom range function like you mentioned. But somehow Opencamera is not finding them. I've attached a screenshot to this post, showing the camera selection popup menu from this dashcam app (note that the check email button at the top of the screen in this screenshot is an in-app ad).
Last edit: Videogamer555 2024-10-31