Starting with Android 13, it's possible to control multiple brightness levels of the flashlight.
To be able to use this new feature I've developed this app.
Inspired by polodarb/Flashlight-Tiramisu 💛
Custom SeekBar built with code from massoudss/waveformSeekBar 💛
- 🔦 dimming your flashlight level by level
- 🎚 shortcut buttons for different brightness levels
- 🆘 SOS flash button
- 📫 morse code flash mode
- ⏲️ Interval / BPM mode
- ⚡ quick settings tile for fast access
- 🔊 press both volume buttons for easy flashlight toggle
- 🔒 private, no ads, no internet connection
- 💯 modern Material You (M3) design elements
- 🎨 app colors adapt to device's system colors
The APK files can be verified using apksigner.
apksigner verify --print-certs -v example.apk
Google Play Store
The output should look like this:
Verifies
Verified using v1 scheme (JAR signing): false
Verified using v2 scheme (APK Signature Scheme v2): false
Verified using v3 scheme (APK Signature Scheme v3): true
The certificate content and digests should look like this:
DN: CN=Android, OU=Android, O=Google Inc., L=Mountain View, ST=California, C=US
Certificate Digests:
SHA-256: 4b:05:58:fa:9d:2e:32:b0:1c:d0:00:7b:13:66:35:b5:ac:67:b5:ca:63:ff:c2:ef:e2:58:9a:80:20:e8:ca:4f
SHA-1: 47:2d:b2:9e:57:df:be:48:09:55:3b:f9:c1:d8:15:a5:e3:ed:27:82
MD5: 14:cc:12:d7:6b:29:9a:79:64:ac:36:c8:56:ec:a5:78
F-Droid and GitHub (signed using the same key)
The output should look like this:
Verifies
Verified using v1 scheme (JAR signing): false
Verified using v2 scheme (APK Signature Scheme v2): true
The certificate content and digests should look like this:
DN: OU=FlashDim, O=Cyb3rKo OpenSource, L=GitHub / F-Droid, C=DE
Certificate Digests:
SHA-256: ea:78:69:1c:ba:41:86:00:a4:56:32:89:b1:33:f9:d0:0d:3d:0c:24:a5:f5:4c:5c:59:ee:1c:95:2b:b0:e1:1d
SHA-1: 28:cf:15:ea:1c:93:1a:04:67:2d:8e:b0:2f:01:77:9b:03:90:f8:dd
MD5: 09:05:c3:62:fa:94:a0:2e:c4:9c:d0:4e:b8:a3:cc:99
The full functionalizy of this app is ONLY AVAILABLE for devices which support the dim functionality of the flashlight (hardware limited).
Here's a list of devices I know of which do work FOR SURE. If you've used a device that works too please let me know so I can add it here.
- Google Pixel 6 series
- Google Pixel 7 series
- nearly every Samsung phone with Android 13
- many other phones from different manufacturers
The following list shows phones, which were manually excluded by myself in the Google Play Store, because of unsupported flashlight dimming functionality.
If the list contains any phone which does has a dimmable flashlight, please let me know.
- Asus ROG Phone 5 (asus ASUS_I005_1)
- Asus ROG Phone 6 (asus ASUS_AI2201)
- Google Pixel 4 (google flame)
- Google Pixel 4 XL (google coral)
- Google Pixel 4a 5G (google bramble)
- Google Pixel 5 (google redfin)
- Google Pixel 5a 5G (google barbet)
- Lava Blaze 5G (LAVA LXX503)
- Motorola motorola edge 20 (motorola berlin)
- Motorola motorola edge 30 (motorola dubai)
- Motorola motorola edge 30 ultra (motorola eqs)
- Motorola motorola edge 40 (motorola lyriq)
- Nothing Phone 1 (Nothing Spacewar)
- Nothing Phone 2 (Nothing Pong)
- OnePlus 8T (OnePlus OnePlus8T)
- OnePlus 9RT 5G (OnePlus OP5154L1 / OnePlus OP5155L1)
- OnePlus 11 5G (OnePlus OP594DL1)
- OnePlus 11R 5G (OnePlus OP5961L1)
- OnePlus Nord CE 2 Lite 5G (OnePlus OP535DL1)
- Oppo CPH2145 (OPPO OP4F1BL1)
- Oppo CPH2249 (OPPO OP4F81L1)
- Oppo CPH2251 (OPPO OP4F83L1)
- Oppo CPH2293 (OPPO OP52E1L1)
- Oppo OPPO Reno6 Z 5G (OPPO OP4FA7L1)
- Oppo OPPO Reno7 (OPPO OP533FL1)
- POCO F4 (POCO munch)
- POCO X2 (POCO phoenixin)
- Redmi Note 10 Pro (Redmi sweet / Redmi sweetin / POCO chopin)
- realme 10 Pro 5G (realme RE58B8L1 / realme RE588BL1)
- realme 10 Pro+ 5G (realme RE58A5L1)
- realme 11 Pro+ 5G (realme RE58B6L1)
- realme narzo 30 5G (realme RE513CL1)
- Realme realme GT Master Edition (realme RE54ABL1)
- Realme realme GT Neo2 5G (realme RE879AL1)
- realme 真我GT 2 (realme RE58B2L1)
- Vivo I2011 (iQOO 2011)
- Vivo I2012 (iQOO 2012)
- Vivo I2017 (iQOO 2017)
- Vivo T2x 5G (vivo V2225)
- Vivo V2053 (vivo 2041)
- Vivo V2141 (vivo 2141)
- Vivo V27 (vivo V2231)
- Vivo vivo 2018 (vivo 2018)
- Xiaomi 12T Pro (Xiaomi diting)
- Xiaomi 13T (Xiaomi aristotle)
Of course I'm happy about any kind of contribution.
For creating issues there's no real guideline you should follow. If you create pull requests please try to use the syntax I use. Using a unified code format makes it much easier for me and for everyone else.
Copyright 2023, Cyb3rKo
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
https://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.