summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJayant Chowdhary <jchowdhary@google.com>2021-03-31 03:14:04 -0700
committerJayant Chowdhary <jchowdhary@google.com>2021-04-02 18:55:48 +0000
commit02622abbe28f05aea7ba6b510fa72bc62a7d2ee1 (patch)
treecac012a01b1a4205b79109cd8864f7674f0cfc10
parent3c8e09045598314506ceefa19a0b163ea5bb1304 (diff)
downloadbase-02622abbe28f05aea7ba6b510fa72bc62a7d2ee1.tar.gz
getCameraIdListNoLazy : remove system cameras from mTorchStatus as well.
Bug: 182530469 Test: Make Emulator back camera system camera; atest FlashlightTest.java Merged-In: I0a149ba3d93a740cfbfdc2d04c1235e648061156 Change-Id: I0a149ba3d93a740cfbfdc2d04c1235e648061156 Signed-off-by: Jayant Chowdhary <jchowdhary@google.com> (cherry picked from commit bedb9950c8c32e6a5c3a3215c4c886d17720bde9)
-rw-r--r--core/java/android/hardware/camera2/CameraManager.java3
1 files changed, 3 insertions, 0 deletions
diff --git a/core/java/android/hardware/camera2/CameraManager.java b/core/java/android/hardware/camera2/CameraManager.java
index 933dee3a6470..609da3125485 100644
--- a/core/java/android/hardware/camera2/CameraManager.java
+++ b/core/java/android/hardware/camera2/CameraManager.java
@@ -1363,6 +1363,8 @@ public final class CameraManager {
// devices going offline (in real world scenarios, these permissions aren't
// changeable). Future calls to getCameraIdList() will reflect the changes in
// the camera id list after getCameraIdListNoLazy() is called.
+ // We need to remove the torch ids which may have been associated with the
+ // devices removed as well. This is the same situation.
cameraStatuses = mCameraService.addListener(testListener);
mCameraService.removeListener(testListener);
for (CameraStatus c : cameraStatuses) {
@@ -1381,6 +1383,7 @@ public final class CameraManager {
}
for (String id : deviceIdsToRemove) {
onStatusChangedLocked(ICameraServiceListener.STATUS_NOT_PRESENT, id);
+ mTorchStatus.remove(id);
}
} catch (ServiceSpecificException e) {
// Unexpected failure