Wiring by hand does not scale
Every object needs its parts handed to it
A WalkersViewModel needs a WalkerRepository. That repository needs a PawWalkApi. The API needs an OkHttpClient. None of these build themselves β something, somewhere, has to construct each one and pass it down to the next. That's dependency injection (DI): a class receives (is "injected with") the things it depends on, instead of constructing them itself.
You've been doing DI by hand since module 10 β passing a repository into a ViewModel's constructor is already DI. The problem isn't the idea, it's the bookkeeping. Add a screen, and you need a new ViewModel, which needs the same repository, which needs the same API and client. Multiply that by every screen in PawWalk and you're hand-writing (and hand-maintaining) a factory function for the whole object graph.