A while back, I used to use an Xposed module called XPrivacyLUA to let me precisely control (and fake) permissions to apps, which helped in cases of apps which I didn’t particularly trust (eg: Steam Chat, Instagram etc) which required permissions and had access to things on my phone I didn’t want to give them access to.
So, when I upgraded my device to LineageOS 16 (based on Android 9.0) I was quite displeased to be met with a screen on the Xposed Installer app that stated that my Android version was not supported yet — and over a year and a half later still isn’t supported so I would have to take things into my own hands and try something else.
I am rooted with Magisk, which has modules itself a bit like Xposed, but there didn’t seem to be support for XPrivacyLUA.
Then I came across TaiChi, which claims to be a replacement to Xposed, and there is a module to get it working right in the Magisk repos. Upon further looking into this, I found that there is a modified version of XPrivacyLUA in their module repository on their website, and so I installed it right away.
One thing to note is that right away, TaiChi seems to default to non-system-wide mode where it cannot interact with other apps the way Xposed does, but this can be changed (as long as you have the TaiChi magisk module) in the setting section of the TaiChi app. Also, you will have to press the button in TaiChi to enable it in the “manage modules” section, then reboot.
Now, you will be able to open the XPrivacyLUA app you installed from the TaiChi repos, and tap on apps you want to restrict the permissions of (although beware that it does not seem to be able to fake storage access so you may want to leave this part to Android’s built in permissions manager and put up with apps pestering you for it).