I wanted to attempt something ambitious as a learning experience. Changing the PagerState and the way pager works to work with a mutable orientation state that can be changed to horizontal or vertical depending on the user swipe. So I've spent like a week studying PagerState internal architecture and LazyLayouts and stuff.
But now when I wanted to write my custom version, I realized many of the functions or classes used in PagerState and the entire pager architecture (Pager measure policy, snap position, cache window) are internal. So I thought I'd just do some copy pasting into my custom CrossPager folder to make them available. But I've been going down that route for a while now, and it seems to be an endless rabbit hole of duplicate code that has no end. Every new file I copy has some more imports that are internal and need to be copied tooπ₯².
Is there any better way to do this, like inheriting from a certain class that'll make me have access to these internal files and private functions, or will I just have to settle for something more simpler and not all the fancy way pager do thingsπ₯²