[Xiaomi Mi 9 Themes, Apps, and Mods] arddy1:
The idea originally comes from my MIUI Auto Brightness Fix thread in Mi Mix 2s forum. Because i switched device to Mi 9, now i want to make mods for this device brightness too.

My experience with Miui roms, i think everything is fine and acceptable, except for the Auto Brightness! The screen goes very dark in low lights, and ridiculously bright in not-so-bright lights that makes my eyes sore. I never used the auto brightness before. But after I found this mod, then I can using this great feature in miui again. If you experience the same thing, then try this magisk module!

So what this module do? It adds framework-res to the /system/media/theme/default. With a magisk module you can do it systemlessly! To install it, just download the module then browse it in Magisk Manager.

If you dont like my setting values, just unzip my module, find framework-res file, unzip it, then edit the theme_values.xml to any values you want under "config_autoBrightnessLcdBacklightValues", then zip all back

To test if this module works, tap the Kernel Version in About Phone 5 times, then you will enter CIT. Go to num 21 light sensor. Cover your upper phone with your hands till the light sensor DAC reach 0. If the backlight is not going under module lowest value (ex: 80), then this module works! My module limits the minimal auto brightness and change its behavior. Its usually less bright than the stock in medium light condition. There's should be any noticeably difference.

Remember, this mod only works on MIUI-based roms with android pie! Tested working on official MIUI, Xiaomi.eu, Revolution OS.

The download links in attachment.

Guide:

1. Legacy method, using framework-res file. Less compatibilty but safer to update rom and easier to costumize.

V1 : Initial release.

V2: Lower brightness in medium light.

V3: Lower brightness in bright light. Brightness steps added to make it smoother.

V3.1: A bit adjustment to lower brightness in very low light. Lowest backlight value is now 80.

V4: More responsive to light changes. Lower brightness in low light to compensate new lowest 80 value.

V5: For android 10 and backwards. Better and smoother brightness in low light. Doesn't work on dark mode.

V6: for MIUI 12 android 10. Lowest val 160 of new max 4095

2. Alternative method, using modified system overlay apk file. Use this if legacy method doesn't work. Still in testing wheter can survive after rom update.

V3b: take values from v3

V3.1b: take values from v3.1

V4b: take values from v4

V5b: take values from v5. For android 10 only! Works on dark mode. There are some lowest brightness variations (20,40,60,80).

V6b: take values from v6, for MIUI 12 android 10

Notes:

- DON'T activate DC anti flickering mode, it ruins the light sensor to become inaccurate.

- Only V4 and upwards have responsitivity adjustment. More responsive means it needs less light increments to trigger auto brightness adjustment. Android 10 cant use V4 or it wouldn't work.

- Less bright = better battery life plus reducing risk of amoled burn-in.

- Editing the values can cause a mess. Add .disable_magisk file in cache partition if your phone cant boot then uninstall the module in manager.