The previous implementation calls back the dispatcher only at the end of run() loop. It means, if stop() is called after enqueueing and before running, none of onSuccess, onStop, or onError is called for the items in the queue. Bug: 63649835 Test: android.speech.tts.cts.TextToSpeechServiceTest#testSpeakStop Change-Id: Ib20cb0e9157859866f694439858a27369ba8026e