[SB Refactor] Turn the wifi ViewModel into an @SysUISingleton and
instead create separate view models per location.

This CL eliminates the many duplicate logs by:
1) Making WifiViewModel a Singleton, so we only ever have one of each
   flow.
2) Adding 1 ViewModel class per location, which just references the
   singleton view model flows.
3) Making each flow inside WifiViewModel a StateFlow, so that its logic
   (including its logging logic) isn't duplicated each time we re-use
   one of the flows.

Bug: 238425913
Test: manual: Verified wifi icon is tinted different colors in each of
the 3 locations
Test: manual: Verify wifi icon still updates
Test: manual: Verify we don't get duplicate activity logs
Test: statusbar.pipeline tests

Change-Id: I6ab0245a83858875c4e63baf9bb6a8c482d1fe55
21 files changed