Disable controls during playback.

The controls were enabled during playback earlier,
however changing them did nothing to the current
playout. Disable them during playout and re-enable
them once playout is done.

Bug: 77976922
Test: Repro case in linked bug.
Change-Id: I0fbe1c97e794fccc49172ee7542018aeef956c8f
This commit is contained in:
Rakesh Iyer
2018-11-02 12:34:52 -07:00
parent cabbb1a522
commit f4627bb608

View File

@@ -251,15 +251,20 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment
mTts.setOnUtteranceProgressListener(new UtteranceProgressListener() { mTts.setOnUtteranceProgressListener(new UtteranceProgressListener() {
@Override @Override
public void onStart(String utteranceId) { public void onStart(String utteranceId) {
updateWidgetState(false);
} }
@Override @Override
public void onDone(String utteranceId) { public void onDone(String utteranceId) {
updateWidgetState(true);
} }
@Override @Override
public void onError(String utteranceId) { public void onError(String utteranceId) {
Log.e(TAG, "Error while trying to synthesize sample text"); Log.e(TAG, "Error while trying to synthesize sample text");
// Re-enable just in case, although there isn't much hope that following synthesis
// requests are going to succeed.
updateWidgetState(true);
} }
}); });
} }
@@ -696,9 +701,11 @@ public class TextToSpeechSettings extends SettingsPreferenceFragment
} }
private void updateWidgetState(boolean enable) { private void updateWidgetState(boolean enable) {
mActionButtons.setButton1Enabled(enable); getActivity().runOnUiThread(() -> {
mDefaultRatePref.setEnabled(enable); mActionButtons.setButton1Enabled(enable);
mDefaultPitchPref.setEnabled(enable); mDefaultRatePref.setEnabled(enable);
mDefaultPitchPref.setEnabled(enable);
});
} }
private void displayNetworkAlert() { private void displayNetworkAlert() {