Reporting back after I got my new phone and having access to a GOS and a stock OS device at the same time. I was able to get Timeline to work on Graphene OS. Devices are a Pixel 8 Pro on stock and a Pixel 9 Pro running up-to-date GOS
On fresh reboot, I installed Google Play Services and gave it the following permissions:
- Location (Precise, all the time)
- Nearby Devices
- Network
- Notifications
- Physical Activity
- Sensors
I then installed Google Maps and gave it the following permissions
- Location (Precise, all the time)
- Nearby devices
- Network
- Notification
- Physical activity
- Sensors
I also made the changes to "location requests to OS", location accuracy, and wifi/bluetooth scanning, as well as disabling battery optimization
After this, I enabled timeline and downloaded my stock OS backup, noticed that timeline wasn't working, and rebooted. I briefly turned on exploit compatibility for both apps and didn't see an immediate change, so I turned it off.
When I woke up I saw that Timeline on my GOS Pixel 9 was working properly. I carried both phones side by side so I could compare and they both recorded similar activity, so I think the issue is fixed. If I had to guess, it was based off backup from stock device or the physical activity and nearby devices permissions, or maybe it needed exploit compatibility mode disabled for a bit to process. One thing weird I did notice was when I downloaded my original GOS Timeline backup (the one converted from Location History) it seemed like that it had been recording trips on the GOS device, even when GOS was unable to display them.
It does seem like GOS timeline is a little bit less accurate, especially when walking and driving, but I'll keep carrying them side by side for a few days to see if i notice anything else.
Hope this helps!