** WARNING LONG POST **
I spent some time to review the patch posted
here
There are two replaced executables:
- charger
- init
The charger binary is replaced for the offline charging animation, i believe. But i didn't diffed with official charger bin as author do not disclose which MIUI it comes from. So it might be original or it might be modified i don't know.
The init replacement is more critical, probably related to the safetynet fix, but i would be personally concerned to run such binary on my phone unless full source to it is released by author.
All the main props files have been modified and a few things come to my attention.
The build is still abused as "official lineageOS build" by buildkite and such, which it is not at this point, so this would be a concern, even if more an ethical one, since people could report issues as "official" build while it's not an official build anymore.
Also, quite a few graphical props are changed / enabled when they have been not enabled on purpose on official build for stability concerns. So YMMV, but you could get crashes.
All build fingerprints have been changed with respect to official, which is probably related to the safetynet fix. This might lead to problems when Google will change things again, and users of this mod will probably have troubles using magisk or any other safetynet fix unless clean flash again. This patch does also change your crypto keys and make your data lost. But this has been advertised by the author, so you know.
There are a lot of modified init rc files, going trough them all is difficult here, but a few things come to my attention.
In a few files security permissions have been relaxed. Some additional permissions have been granted to camera, audio and other subsystems, the reason for this should be explained.
Also quite some /sys and /dev nodes permissions have been changed to make them less secure.
Systemwide stats collection and tuning have been altered in various places, again i see no direct reason for this.
It is my overall impression that the author took some init file from a different device and/or BSP and kind of copied it on the official ones. Not clear to what purpose.
There are massive changes to the mount schema and procedures, probably linked to the removal of "scoped storage", which is there for a reason so YMMV to accepting this change, specially if it is so widespread in the system.
There are lots of small tuning to CPU and governor, there is messing up with the nice levels and file descriptors, something which should not taken lightly and probably would need deep testing on some benchmark to prove that they actually work beside the placebo effect.
Moving on.
The media profiles, audio codecs and settings, have been modified with at least a couple of changes that are known for having caused issues with various apps in the past.
This is more or less the most of it. I have spent way too much time on this analysis at this point, but i did it as this might impact directly the support i give to the community on official LineageOS 18.1 for surya if anybody flashes it and then report issues.
I can see some improvements which would be good for official build too like some cleanup of probably useless init stuff (leftovers from davinci or generic sm6150) and such.
Unfortunately, providing one mega-patch like this with no underlying github repository to track changes and meaningful commit history to justify each one of them make this entire work useless, which is a pity. I strongly suggest the author to read up how to contribute to the android development community so that the good in his work can actually be of benefit for everybody, as he benefitted from the work of many like we all have.
I have also seen various lines that are actually authorship by somebody else, i suggest the author to spend some time identifying them and, after creating a repository for the patch, repo-pick those patches with the correct metadata. This is a time consuming activity, but a necessary one, as you all can understand, so that a real community can function. Just to be clear: it's the duty of who publish stuff to ensure it does not infringe others authorship's, not the other way around.
I suggest the author (i mean the real person behind his many accounts) to understand how the open source android development community works so that the good in his work can be actually benefit the community. There is good in his doing, it's only the ways that make it difficult to be actually used.