Merge "speech: Fix RemoteSpeechReco race condition" into sc-dev am: ede93e7710 am: f73725e348
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15260390 Change-Id: Id5c81e8b6ac3195d2364a837715e6fadf885df81
This commit is contained in:
@@ -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 ->
|
||||
service.startListening(
|
||||
recognizerIntent,
|
||||
mDelegatingListener,
|
||||
listenerToStart,
|
||||
attributionSource));
|
||||
}
|
||||
}
|
||||
@@ -162,7 +164,9 @@ final class RemoteSpeechRecognitionService extends ServiceConnector.Impl<IRecogn
|
||||
}
|
||||
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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user