AFAIK Android is using generic Linux scheduler at the kernel level,
but possibly modified or configured by the SoC vendor who supplies the kernel tree and Kconfig files.
I'm not aware of any Android-specific kernel scheduler modifications that
are required to be applied in order for Android to work.
If you do have a reference to those "5 files" mentioned in the stack overflow article,
I would appreciate (I have not heard of them and wonder if that's old information).
At user mode, Android uses generic kernel mechanisms to implement policy.
As someone mentioned in a stack overflow comment, one of the answers
appeared to copy some of its text. Here are links to originals from the developer site: