Merge "speech: Fix RemoteSpeechReco race condition" into sc-dev

This commit is contained in:
TreeHugger Robot
2021-07-13 17:13:28 +00:00
committed by Android (Google) Code Review

View File

@@ -125,10 +125,12 @@ final class RemoteSpeechRecognitionService extends ServiceConnector.Impl<IRecogn
} }
}); });
// Eager local evaluation to avoid reading a different or null value at closure-run-time
final DelegatingListener listenerToStart = this.mDelegatingListener;
run(service -> run(service ->
service.startListening( service.startListening(
recognizerIntent, recognizerIntent,
mDelegatingListener, listenerToStart,
attributionSource)); attributionSource));
} }
} }
@@ -162,7 +164,9 @@ final class RemoteSpeechRecognitionService extends ServiceConnector.Impl<IRecogn
} }
mRecordingInProgress = false; mRecordingInProgress = false;
run(service -> service.stopListening(mDelegatingListener)); // Eager local evaluation to avoid reading a different or null value at closure-run-time
final DelegatingListener listenerToStop = this.mDelegatingListener;
run(service -> service.stopListening(listenerToStop));
} }
} }