Hello Cody, yes I completely agree that you should do what you say like with any other Android dependency.
For me this goes along with the large API problem. I’m just now looking into documentation to refresh my thoughts, which were the following:
Usually when I write facade like this I use some Android-free interface with Android-full implementation.
When navigation by typical startActivity approach, only thing I need from Android is Activity — I typically use something getting me activity reference on top of the stack. This makes the implementation quite straightforward.
If I would use similar approach for Navigation library, the Android-full implementation somehow have to know about NavController and how to find it, which is probably ok, but also might need to access views e.g.NavigationView.setupWithNavController, setting menu/view listeners or using anything else from the library API.
In general it feels to me that Android API for basic navigation actually get bigger, not smaller as I would expect from library to solve it, so these are my thoughts on this.
Does it make sense or would you abstract it somehow different?
