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

Commit ee46b583 authored by Eino-Ville Talvala's avatar Eino-Ville Talvala
Browse files

Camera2: Unlink camera device death listener on disconnect

Not removing the listener causes warning logging, which is especially
heavy when a lot of camera connect/disconnects are happening.

Bug: 27217534
Fixes: 28000512
Change-Id: I4911f27cc0f69301975b110a9b456977050ce5bc
parent c7c569d5
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -974,6 +974,7 @@ public class CameraDeviceImpl extends CameraDevice

            if (mRemoteDevice != null) {
                mRemoteDevice.disconnect();
                mRemoteDevice.unlinkToDeath(this, /*flags*/0);
            }

            // Only want to fire the onClosed callback once;
+5 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import android.hardware.camera2.ICameraDeviceUser;
import android.hardware.camera2.impl.CameraMetadataNative;
import android.hardware.camera2.params.OutputConfiguration;
import android.hardware.camera2.utils.SubmitInfo;
import android.os.IBinder;
import android.os.RemoteException;
import android.view.Surface;

@@ -53,6 +54,10 @@ public class ICameraDeviceUserWrapper {
        mRemoteDevice = remoteDevice;
    }

    public void unlinkToDeath(IBinder.DeathRecipient recipient, int flags) {
        mRemoteDevice.asBinder().unlinkToDeath(recipient, flags);
    }

    public void disconnect()  {
        try {
            mRemoteDevice.disconnect();