Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 72079f7f authored by Jerome Poichet's avatar Jerome Poichet Committed by Android (Google) Code Review
Browse files

Merge "Make sure cancel is called on tear down." into lmp-dev

parents 62321ab1 c1fb6dc1
Loading
Loading
Loading
Loading
+12 −1
Original line number Diff line number Diff line
@@ -91,9 +91,20 @@ public abstract class RecognitionService extends Service {
        }
    };

    private void dispatchStartListening(Intent intent, IRecognitionListener listener) {
    private void dispatchStartListening(Intent intent, final IRecognitionListener listener) {
        if (mCurrentCallback == null) {
            if (DBG) Log.d(TAG, "created new mCurrentCallback, listener = " + listener.asBinder());
            try {
                listener.asBinder().linkToDeath(new IBinder.DeathRecipient() {
                    @Override
                    public void binderDied() {
                        mHandler.sendMessage(mHandler.obtainMessage(MSG_CANCEL, listener));
                    }
                }, 0);
            } catch (RemoteException re) {
                Log.e(TAG, "dead listener on startListening");
                return;
            }
            mCurrentCallback = new Callback(listener);
            RecognitionService.this.onStartListening(intent, mCurrentCallback);
        } else {
+8 −0
Original line number Diff line number Diff line
@@ -396,6 +396,14 @@ public class SpeechRecognizer {
     * Destroys the {@code SpeechRecognizer} object.
     */
    public void destroy() {
        if (mService != null) {
            try {
                mService.cancel(mListener);
            } catch (final RemoteException e) {
                // Not important
            }
        }

        if (mConnection != null) {
            mContext.unbindService(mConnection);
        }