diff options
| author | Eino-Ville Talvala <etalvala@google.com> | 2016-04-04 12:26:40 -0700 |
|---|---|---|
| committer | Eino-Ville Talvala <etalvala@google.com> | 2016-04-04 12:30:44 -0700 |
| commit | ee46b5831c49e7249e53dc00a17b168a8bc46123 (patch) | |
| tree | 746f619d2eff1baf713184861d2018a6ef0e778c /core/java/android | |
| parent | c7c569d5e42c1d7c17881fd89dcbbbab42dafea1 (diff) | |
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
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/hardware/camera2/impl/CameraDeviceImpl.java | 1 | ||||
| -rw-r--r-- | core/java/android/hardware/camera2/impl/ICameraDeviceUserWrapper.java | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java index d84a6fcbd16f..d2e820e17776 100644 --- a/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java +++ b/core/java/android/hardware/camera2/impl/CameraDeviceImpl.java @@ -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; diff --git a/core/java/android/hardware/camera2/impl/ICameraDeviceUserWrapper.java b/core/java/android/hardware/camera2/impl/ICameraDeviceUserWrapper.java index ddc3fd12b70d..b2f6c1d4c289 100644 --- a/core/java/android/hardware/camera2/impl/ICameraDeviceUserWrapper.java +++ b/core/java/android/hardware/camera2/impl/ICameraDeviceUserWrapper.java @@ -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(); |
