When VT launches it checks to see whether the car is awake or not. If it's asleep the app gives the user the choice of waking it up or letting it sleep. If the user chooses to let the car sleep, the app exits.
Now that "sleep mode" will monitor the awake/asleep state of the car and act accordingly, the app need not exit if it is asleep. It can just immediately enter sleep mode.
To accomplish this, some initialization will need to be deferred. This includes (at least) the cacheBasics method. Making this change will require thorough testing to uncover any hidden initialization dependencies.
When VT launches it checks to see whether the car is awake or not. If it's asleep the app gives the user the choice of waking it up or letting it sleep. If the user chooses to let the car sleep, the app exits.
Now that "sleep mode" will monitor the awake/asleep state of the car and act accordingly, the app need not exit if it is asleep. It can just immediately enter sleep mode.
To accomplish this, some initialization will need to be deferred. This includes (at least) the cacheBasics method. Making this change will require thorough testing to uncover any hidden initialization dependencies.