The first Android 13 developer preview has been out for a little while now. With it comes a slew of exciting new features like dynamic theming for third-party app icons, an automatically clearing clipboard, improved screen savers, and a Quick Tap flashlight toggle. We’re revisiting flashlight features today, with word of new brightness controls arriving for the platform.
Esper’s Mishaal Rahman notes that Android 13 introduces two new APIs — getTorchStrengthLevel and turnOnTorchWithStrengthLevel — to the CameraManager class. The first provides feedback on the LED flash’s brightness level, while the second offers control setting it as bright as the hardware supports. Together they’ll give users the option to adjust the flashlight brightness of their phones, instead of just being able to toggle it on and off.
Despite the brightness-control feature coming to Android 13, some devices running the OS may not be able to take advantage. That’s because of limitations imposed by the camera hardware abstraction layer (HAL). According to Rahman, older versions of the camera device HAL do not mention brightness control as part of their flashlight control functions. However, it seems that a later version spotted in the Android 13 Developer Preview for the Pixel 6 Pro will support the two new APIs. This implies that other OEMs will have to implement the new camera HAL version for flashlight brightness control to work — but they may not.
What’s stopping them? Well, the Google Requirements Freeze program is not imposing any HAL upgrade demands for OEMs to upgrade their devices to Android 13, so they could very well reuse older implementations. On the other hand, devices launching with Android 13 out of the box will likely support this feature — that is, assuming Google mandates newer camera HAL version support in its currently still-not-finalized vendor software requirements (VSR) for Android 13.
If you use a Samsung or Apple phone, you’ve probably been adjusting your flashlight since as far back as the Stone Age. But with Google bundling it into Android 13, other Android manufacturers should be able to easily implement it natively, rather than as a custom addition.