Hello.
The rear camera stopped working while the front camera still works. I restored the device and reinstalled Graphene OS; the rear camera worked for a few days and then stopped working again. After camera access is made available, whenever I open the rear camera, it shows a black screen and doesn't proceed further. When I switch to the front camera, I can view an image.
It seems the rear camera is being identified as closed even when "camera access available" is enabled.
Any help would be greatly appreciated. Here are some details in case that helps.
Device: Google Pixel 8 Pro
Current Build number 20240161400
App.grapheneos.camera version code 68
Recent logs:
--------- switch to main
06-16 11:44:02.958 8060 8060 D PreviewView: Surface requested by Preview.
06-16 11:44:02.964 8060 8060 D PreviewView: Surface requested by Preview.
06-16 11:44:02.965 8060 8060 D SurfaceViewImpl: Surface created.
06-16 11:44:02.965 8060 8060 D SurfaceViewImpl: Surface changed. Size: 1600x1200
06-16 11:44:02.967 8060 8125 D SyncCaptureSessionBase: [p.n1@708dd96] getSurface done with results: [null, Surface(name=null)/@0x71800e5]
06-16 11:44:02.967 8060 8060 D PreviewView: Preview transformation info updated. TransformationInfo{getCropRect=Rect(0, 0 - 1600, 1200), getRotationDegrees=90, getTargetRotation=0, hasCameraTransform=true, getSensorToBufferTransform=Matrix{[1.0, 0.0, 0.0][0.0, 1.0, 0.0][0.0, 0.0, 1.0]}, isMirroring=false}
06-16 11:44:02.967 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Use case v.a0-5f6ebf55-d719-43e5-b787-831c0d42e6f9185524377 ACTIVE
06-16 11:44:02.967 8060 8125 D UseCaseAttachState: Active and attached use case: [] for camera: 0
06-16 11:44:02.967 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Use case v.a0-5f6ebf55-d719-43e5-b787-831c0d42e6f9185524377 ACTIVE
06-16 11:44:02.967 8060 8125 D UseCaseAttachState: Active and attached use case: [] for camera: 0
06-16 11:44:02.967 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Use case v.p0-0d38a71e-abbf-4df7-93f4-052c1cf0401d219836254 ACTIVE
06-16 11:44:02.967 8060 8125 D UseCaseAttachState: Active and attached use case: [] for camera: 0
06-16 11:44:02.968 8060 8125 D UseCaseAttachState: Active and attached use case: [] for camera: 0
06-16 11:44:02.968 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Use cases [v.a0-5f6ebf55-d719-43e5-b787-831c0d42e6f9185524377, v.p0-0d38a71e-abbf-4df7-93f4-052c1cf0401d219836254] now ATTACHED
06-16 11:44:02.968 8060 8125 D UseCaseAttachState: All use case: [v.a0-5f6ebf55-d719-43e5-b787-831c0d42e6f9185524377, v.p0-0d38a71e-abbf-4df7-93f4-052c1cf0401d219836254] for camera: 0
06-16 11:44:02.968 8060 8125 D Camera2CameraImpl: No need to remove a previous mMeteringRepeating, SessionConfig Surfaces: 2, CaptureConfig Surfaces: 1
06-16 11:44:02.968 8060 8060 D PreviewTransform: Transformation info set: TransformationInfo{getCropRect=Rect(0, 0 - 1600, 1200), getRotationDegrees=90, getTargetRotation=0, hasCameraTransform=true, getSensorToBufferTransform=Matrix{[1.0, 0.0, 0.0][0.0, 1.0, 0.0][0.0, 0.0, 1.0]}, isMirroring=false} 1600x1200 false
06-16 11:44:02.968 8060 8060 D CameraOrientationUtil: getRelativeImageRotation: destRotationDegrees=0, sourceRotationDegrees=90, isOppositeFacing=true, result=90
06-16 11:44:02.968 8060 8125 D UseCaseAttachState: Active and attached use case: [v.a0-5f6ebf55-d719-43e5-b787-831c0d42e6f9185524377, v.p0-0d38a71e-abbf-4df7-93f4-052c1cf0401d219836254] for camera: 0
06-16 11:44:02.968 8060 8060 D SurfaceViewImpl: Surface set on Preview.
06-16 11:44:02.968 8060 8060 D PreviewView: Preview transformation info updated. TransformationInfo{getCropRect=Rect(0, 0 - 1600, 1200), getRotationDegrees=90, getTargetRotation=0, hasCameraTransform=true, getSensorToBufferTransform=Matrix{[1.0, 0.0, 0.0][0.0, 1.0, 0.0][0.0, 0.0, 1.0]}, isMirroring=false}
06-16 11:44:02.968 8060 8060 D PreviewTransform: Transformation info set: TransformationInfo{getCropRect=Rect(0, 0 - 1600, 1200), getRotationDegrees=90, getTargetRotation=0, hasCameraTransform=true, getSensorToBufferTransform=Matrix{[1.0, 0.0, 0.0][0.0, 1.0, 0.0][0.0, 0.0, 1.0]}, isMirroring=false} 1600x1200 false
06-16 11:44:02.968 8060 8060 D CameraOrientationUtil: getRelativeImageRotation: destRotationDegrees=0, sourceRotationDegrees=90, isOppositeFacing=true, result=90
06-16 11:44:02.968 8060 8060 D SurfaceViewImpl: Request canceled: v.F0@2923702
06-16 11:44:02.968 8060 8060 D SurfaceViewImpl: Surface set on Preview.
06-16 11:44:02.969 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Resetting Capture Session
06-16 11:44:02.970 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Releasing session in state CLOSING
06-16 11:44:02.970 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Transitioning camera internal state: CLOSING --> REOPENING
06-16 11:44:02.970 8060 8125 D CameraStateRegistry: Recalculating open cameras:
06-16 11:44:02.970 8060 8125 D CameraStateRegistry: Camera State
06-16 11:44:02.970 8060 8125 D CameraStateRegistry: -------------------------------------------------------------------
06-16 11:44:02.970 8060 8125 D CameraStateRegistry: Camera@5d8aa3a[id=1] UNKNOWN
06-16 11:44:02.970 8060 8125 D CameraStateRegistry: Camera@82e1fa9[id=0] OPENING
06-16 11:44:02.970 8060 8125 D CameraStateRegistry: -------------------------------------------------------------------
06-16 11:44:02.970 8060 8125 D CameraStateRegistry: Open count: 1 (Max allowed: 1)
06-16 11:44:02.970 8060 8125 D CameraStateMachine: New public camera state CameraState{type=OPENING, error=null} from OPENING and null
06-16 11:44:02.970 8060 8125 D CameraStateMachine: Publishing new public camera state CameraState{type=OPENING, error=null}
06-16 11:44:02.970 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Use case v.a0-5f6ebf55-d719-43e5-b787-831c0d42e6f9185524377 ACTIVE
06-16 11:44:02.970 8060 8125 D UseCaseAttachState: Active and attached use case: [v.a0-5f6ebf55-d719-43e5-b787-831c0d42e6f9185524377, v.p0-0d38a71e-abbf-4df7-93f4-052c1cf0401d219836254] for camera: 0
06-16 11:44:02.970 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Use case v.p0-0d38a71e-abbf-4df7-93f4-052c1cf0401d219836254 ACTIVE
06-16 11:44:02.970 8060 8125 D UseCaseAttachState: Active and attached use case: [v.a0-5f6ebf55-d719-43e5-b787-831c0d42e6f9185524377, v.p0-0d38a71e-abbf-4df7-93f4-052c1cf0401d219836254] for camera: 0
06-16 11:44:02.970 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} CameraDevice.onClosed()
06-16 11:44:02.970 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Attempting to open the camera.
06-16 11:44:02.970 8060 8125 D CameraStateRegistry: tryOpenCamera(Camera@82e1fa9[id=0]) [Available Cameras: 0, Already Open: true (Previous state: OPENING)] --> SUCCESS
06-16 11:44:02.971 8060 8125 D CameraStateRegistry: Recalculating open cameras:
06-16 11:44:02.971 8060 8125 D CameraStateRegistry: Camera State
06-16 11:44:02.971 8060 8125 D CameraStateRegistry: -------------------------------------------------------------------
06-16 11:44:02.971 8060 8125 D CameraStateRegistry: Camera@5d8aa3a[id=1] UNKNOWN
06-16 11:44:02.971 8060 8125 D CameraStateRegistry: Camera@82e1fa9[id=0] OPENING
06-16 11:44:02.971 8060 8125 D CameraStateRegistry: -------------------------------------------------------------------
06-16 11:44:02.971 8060 8125 D CameraStateRegistry: Open count: 1 (Max allowed: 1)
06-16 11:44:02.971 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Opening camera.
06-16 11:44:02.971 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Transitioning camera internal state: REOPENING --> OPENING
06-16 11:44:02.971 8060 8125 D CameraStateMachine: New public camera state CameraState{type=OPENING, error=null} from OPENING and null
06-16 11:44:02.971 8060 8125 D CameraStateMachine: Publishing new public camera state CameraState{type=OPENING, error=null}
06-16 11:44:02.971 8060 8125 D UseCaseAttachState: All use case: [v.a0-5f6ebf55-d719-43e5-b787-831c0d42e6f9185524377, v.p0-0d38a71e-abbf-4df7-93f4-052c1cf0401d219836254] for camera: 0
06-16 11:44:02.973 8060 8060 D SurfaceViewImpl: Safe to release surface.
06-16 11:44:03.038 8060 8125 D UseCaseAttachState: Active and attached use case: [v.a0-5f6ebf55-d719-43e5-b787-831c0d42e6f9185524377, v.p0-0d38a71e-abbf-4df7-93f4-052c1cf0401d219836254] for camera: 0
06-16 11:44:03.039 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Unable to configure camera cancelled
06-16 11:44:03.039 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} CameraDevice.onOpened()
06-16 11:44:03.039 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Transitioning camera internal state: OPENING --> OPENED
06-16 11:44:03.039 8060 8125 D CameraStateRegistry: Recalculating open cameras:
06-16 11:44:03.039 8060 8125 D CameraStateRegistry: Camera State
06-16 11:44:03.039 8060 8125 D CameraStateRegistry: -------------------------------------------------------------------
06-16 11:44:03.039 8060 8125 D CameraStateRegistry: Camera@5d8aa3a[id=1] UNKNOWN
06-16 11:44:03.039 8060 8125 D CameraStateRegistry: Camera@82e1fa9[id=0] OPEN
06-16 11:44:03.039 8060 8125 D CameraStateRegistry: -------------------------------------------------------------------
06-16 11:44:03.039 8060 8125 D CameraStateRegistry: Open count: 1 (Max allowed: 1)
06-16 11:44:03.039 8060 8125 D CameraStateMachine: New public camera state CameraState{type=OPEN, error=null} from OPEN and null
06-16 11:44:03.039 8060 8125 D CameraStateMachine: Publishing new public camera state CameraState{type=OPEN, error=null}
06-16 11:44:03.039 8060 8125 D UseCaseAttachState: All use case: [v.a0-5f6ebf55-d719-43e5-b787-831c0d42e6f9185524377, v.p0-0d38a71e-abbf-4df7-93f4-052c1cf0401d219836254] for camera: 0
06-16 11:44:03.039 8060 8125 D UseCaseAttachState: Active and attached use case: [v.a0-5f6ebf55-d719-43e5-b787-831c0d42e6f9185524377, v.p0-0d38a71e-abbf-4df7-93f4-052c1cf0401d219836254] for camera: 0
06-16 11:44:03.039 8060 8125 D SyncCaptureSessionBase: [p.n1@f19f482] getSurface done with results: [Surface(name=null)/@0x96d3d22, Surface(name=null)/@0x31a73cd]
06-16 11:44:03.039 8060 8125 D CaptureSession: Opening capture session.
06-16 11:44:03.041 8060 8125 D SyncCaptureSessionImpl: [p.n1@f19f482] start openCaptureSession
06-16 11:44:03.041 8060 8125 D DeferrableSurface: use count+1, useCount=2 v.B0@81d720d
06-16 11:44:03.041 8060 8125 D DeferrableSurface: New surface in use[total_surfaces=3, used_surfaces=2](v.B0@67905b}
06-16 11:44:03.041 8060 8125 D DeferrableSurface: use count+1, useCount=1 v.B0@67905b
06-16 11:44:03.062 8060 8125 W CameraDevice-JV-0: Stream configuration failed due to: endConfigure:677: Camera 0: Unsupported set of inputs/outputs provided
06-16 11:44:03.062 8060 8125 E CameraCaptureSession: Session 0: Failed to create capture session; configuration failed
06-16 11:44:03.062 8060 8125 D DeferrableSurface: use count-1, useCount=1 closed=false v.B0@81d720d
06-16 11:44:03.062 8060 8125 D DeferrableSurface: use count-1, useCount=0 closed=false v.B0@67905b
06-16 11:44:03.062 8060 8125 D DeferrableSurface: Surface no longer in use[total_surfaces=3, used_surfaces=1](v.B0@67905b}
06-16 11:44:03.062 8060 8125 E CaptureSession: CameraCaptureSession.onConfigureFailed() RELEASED
06-16 11:44:03.063 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Transitioning camera internal state: OPENED --> OPENED
06-16 11:44:03.063 8060 8125 D CameraStateMachine: New public camera state CameraState{type=OPEN, error=StateError{code=4, cause=java.lang.IllegalStateException: onConfigureFailed}} from OPEN and StateError{code=4, cause=java.lang.IllegalStateException: onConfigureFailed}
06-16 11:44:03.063 8060 8125 D CameraStateMachine: Publishing new public camera state CameraState{type=OPEN, error=StateError{code=4, cause=java.lang.IllegalStateException: onConfigureFailed}}
06-16 11:44:03.063 8060 8125 E Camera2CameraImpl: Unable to configure camera Camera@82e1fa9[id=0]
06-16 11:44:03.063 8060 8125 E Camera2CameraImpl: java.lang.IllegalStateException: onConfigureFailed
06-16 11:44:03.063 8060 8125 E Camera2CameraImpl: at p.q0.onConfigureFailed(Unknown Source:58)
06-16 11:44:03.063 8060 8125 E Camera2CameraImpl: at android.hardware.camera2.impl.CallbackProxies$SessionStateCallbackProxy.lambda$onConfigureFailed$1(CallbackProxies.java:64)
06-16 11:44:03.063 8060 8125 E Camera2CameraImpl: at android.hardware.camera2.impl.CallbackProxies$SessionStateCallbackProxy.$r8$lambda$f362TqucHTvYFGdSPm8wNRN5KpA(Unknown Source:0)
06-16 11:44:03.063 8060 8125 E Camera2CameraImpl: at android.hardware.camera2.impl.CallbackProxies$SessionStateCallbackProxy$$ExternalSyntheticLambda1.run(D8$$SyntheticClass:0)
06-16 11:44:03.063 8060 8125 E Camera2CameraImpl: at androidx.activity.j.a(Unknown Source:87)
06-16 11:44:03.063 8060 8125 E Camera2CameraImpl: at androidx.activity.j.run(Unknown Source:278)
06-16 11:44:03.063 8060 8125 E Camera2CameraImpl: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
06-16 11:44:03.063 8060 8125 E Camera2CameraImpl: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
06-16 11:44:03.063 8060 8125 E Camera2CameraImpl: at java.lang.Thread.run(Thread.java:1012)
06-16 11:44:03.063 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Resetting Capture Session
06-16 11:44:03.063 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Releasing session in state OPENED
06-16 11:44:03.234 8060 8142 W InteractionJankMonitor: Initializing without READ_DEVICE_CONFIG permission. enabled=false, interval=1, missedFrameThreshold=3, frameTimeThreshold=64, package=app.grapheneos.camera
--------- switch to events
06-16 11:44:03.234 8060 8212 I jank_cuj_events_end_request: [CUJ Type=81,Unix Time Ns=1718538243234843s,Elapsed Time Ns=74908556406.758s,Uptime Time Ns=12047013904.685s]
--------- switch to main
06-16 11:44:05.211 8060 8130 D UseCaseAttachState: Active and attached use case: [v.a0-5f6ebf55-d719-43e5-b787-831c0d42e6f9185524377, v.p0-0d38a71e-abbf-4df7-93f4-052c1cf0401d219836254] for camera: 0
06-16 11:44:05.212 8060 8130 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Issue capture request
06-16 11:44:06.392 8060 8125 D UseCaseAttachState: Active and attached use case: [v.a0-5f6ebf55-d719-43e5-b787-831c0d42e6f9185524377, v.p0-0d38a71e-abbf-4df7-93f4-052c1cf0401d219836254] for camera: 0
06-16 11:44:06.393 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Issue capture request
06-16 11:44:08.028 8060 8222 D ProfileInstaller: Installing profile for app.grapheneos.camera
06-16 11:44:08.493 8060 8130 D UseCaseAttachState: Active and attached use case: [v.a0-5f6ebf55-d719-43e5-b787-831c0d42e6f9185524377, v.p0-0d38a71e-abbf-4df7-93f4-052c1cf0401d219836254] for camera: 0
06-16 11:44:08.495 8060 8130 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Issue capture request
06-16 11:44:09.638 8060 8125 D UseCaseAttachState: Active and attached use case: [v.a0-5f6ebf55-d719-43e5-b787-831c0d42e6f9185524377, v.p0-0d38a71e-abbf-4df7-93f4-052c1cf0401d219836254] for camera: 0
06-16 11:44:09.639 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Issue capture request
06-16 11:44:10.220 8060 8130 D UseCaseAttachState: Active and attached use case: [v.a0-5f6ebf55-d719-43e5-b787-831c0d42e6f9185524377, v.p0-0d38a71e-abbf-4df7-93f4-052c1cf0401d219836254] for camera: 0
06-16 11:44:10.221 8060 8130 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Issue capture request
06-16 11:44:10.782 8060 8125 D UseCaseAttachState: Active and attached use case: [v.a0-5f6ebf55-d719-43e5-b787-831c0d42e6f9185524377, v.p0-0d38a71e-abbf-4df7-93f4-052c1cf0401d219836254] for camera: 0
06-16 11:44:10.783 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Issue capture request
06-16 11:44:11.520 8060 8130 D UseCaseAttachState: Active and attached use case: [v.a0-5f6ebf55-d719-43e5-b787-831c0d42e6f9185524377, v.p0-0d38a71e-abbf-4df7-93f4-052c1cf0401d219836254] for camera: 0
06-16 11:44:11.523 8060 8130 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Issue capture request
06-16 11:44:12.359 8060 8060 D ImageCapture: takePictureInternal
06-16 11:44:12.359 8060 8060 D CameraOrientationUtil: getRelativeImageRotation: destRotationDegrees=0, sourceRotationDegrees=90, isOppositeFacing=true, result=90
06-16 11:44:12.360 8060 8060 D TakePictureManager: Issue the next TakePictureRequest.
--------- switch to events
06-16 11:44:14.061 8060 8060 I wm_on_top_resumed_lost_called: [Token=89305329,Component Name=app.grapheneos.camera.ui.activities.MainActivity,Reason=topStateChangedWhenResumed]
06-16 11:44:14.098 8060 8060 I view_enqueue_input_event: [eventType=Motion - Cancel,action=app.grapheneos.camera/app.grapheneos.camera.ui.activities.MainActivity]
06-16 11:44:15.263 8060 8060 I wm_on_paused_called: [Token=89305329,Component Name=app.grapheneos.camera.ui.activities.MainActivity,Reason=performPause,time=5ms]
--------- switch to main
06-16 11:44:15.263 8060 8060 W ScreenFlashWrapper: completePendingScreenFlashClear: none pending!
06-16 11:44:15.267 8060 8060 D TakePictureManager: Issue the next TakePictureRequest.
06-16 11:44:15.267 8060 8060 D TakePictureManager: No new request.
06-16 11:44:15.269 8060 8060 W CaptureNode: request aborted, id=0
06-16 11:44:15.272 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Use cases [v.a0-5f6ebf55-d719-43e5-b787-831c0d42e6f9185524377, v.p0-0d38a71e-abbf-4df7-93f4-052c1cf0401d219836254] now DETACHED for camera
06-16 11:44:15.272 8060 8125 D UseCaseAttachState: All use case: [] for camera: 0
06-16 11:44:15.272 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Resetting Capture Session
06-16 11:44:15.272 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Releasing session in state OPENED
06-16 11:44:15.272 8060 8125 D UseCaseAttachState: Active and attached use case: [] for camera: 0
06-16 11:44:15.273 8060 8125 D UseCaseAttachState: Active and attached use case: [] for camera: 0
06-16 11:44:15.273 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Closing camera.
06-16 11:44:15.273 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Transitioning camera internal state: OPENED --> CLOSING
06-16 11:44:15.273 8060 8125 D CameraStateRegistry: Recalculating open cameras:
06-16 11:44:15.273 8060 8125 D CameraStateRegistry: Camera State
06-16 11:44:15.273 8060 8125 D CameraStateRegistry: -------------------------------------------------------------------
06-16 11:44:15.273 8060 8125 D CameraStateRegistry: Camera@5d8aa3a[id=1] UNKNOWN
06-16 11:44:15.273 8060 8125 D CameraStateRegistry: Camera@82e1fa9[id=0] CLOSING
06-16 11:44:15.273 8060 8125 D CameraStateRegistry: -------------------------------------------------------------------
06-16 11:44:15.273 8060 8125 D CameraStateRegistry: Open count: 1 (Max allowed: 1)
06-16 11:44:15.273 8060 8125 D CameraStateMachine: New public camera state CameraState{type=CLOSING, error=null} from CLOSING and null
06-16 11:44:15.273 8060 8125 D CameraStateMachine: Publishing new public camera state CameraState{type=CLOSING, error=null}
06-16 11:44:15.273 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Resetting Capture Session
06-16 11:44:15.273 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Releasing session in state CLOSING
06-16 11:44:15.273 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} closing camera
06-16 11:44:15.277 8060 8060 D SurfaceViewImpl: Surface destroyed.
06-16 11:44:15.277 8060 8060 D SurfaceViewImpl: Surface closed v.F0@92c94a4
06-16 11:44:15.278 8060 8060 D DeferrableSurface: surface closed, useCount=1 closed=true v.B0@81d720d
--------- switch to events
06-16 11:44:15.280 8060 8060 I wm_on_stop_called: [Token=89305329,Component Name=app.grapheneos.camera.ui.activities.MainActivity,Reason=STOP_ACTIVITY_ITEM,time=1ms]
06-16 11:44:15.308 8060 8060 I viewroot_draw_event: [window=VRI[MainActivity],event=applyTransactionOnDraw applyImmediately]
06-16 11:44:15.309 8060 8060 I viewroot_draw_event: [window=VRI[MainActivity],event=Not drawing due to not visible]
--------- switch to main
06-16 11:44:15.314 8060 8060 W ScreenFlashWrapper: completePendingScreenFlashClear: none pending!
06-16 11:44:15.315 8060 8060 D ImageCapture: clearPipeline
06-16 11:44:15.315 8060 8060 D DeferrableSurface: surface closed, useCount=0 closed=true v.B0@67905b
06-16 11:44:15.315 8060 8060 D DeferrableSurface: Surface terminated[total_surfaces=2, used_surfaces=1](v.B0@67905b}
06-16 11:44:15.315 8060 8060 D DeferrableSurface: surface closed, useCount=0 closed=true G.s@ac309d1
06-16 11:44:15.315 8060 8060 D DeferrableSurface: Surface terminated[total_surfaces=1, used_surfaces=1](G.s@ac309d1}
06-16 11:44:15.316 8060 8060 D DeferrableSurface: use count-1, useCount=0 closed=true v.B0@81d720d
06-16 11:44:15.316 8060 8060 D DeferrableSurface: Surface no longer in use[total_surfaces=1, used_surfaces=0](v.B0@81d720d}
06-16 11:44:15.316 8060 8060 D DeferrableSurface: Surface terminated[total_surfaces=0, used_surfaces=0](v.B0@81d720d}
--------- switch to events
06-16 11:44:15.319 8060 8060 I wm_on_destroy_called: [Token=89305329,Component Name=app.grapheneos.camera.ui.activities.MainActivity,Reason=performDestroy,time=0ms]
--------- switch to main
06-16 11:44:15.320 8060 8060 W WindowOnBackDispatcher: sendCancelIfRunning: isInProgress=falsecallback=android.view.ViewRootImpl$$ExternalSyntheticLambda11@4664692
--------- switch to events
06-16 11:44:15.321 8060 8060 I viewroot_draw_event: [window=VRI[MainActivity],event=applyTransactionOnDraw applyImmediately]
06-16 11:44:15.321 8060 8060 I viewroot_draw_event: [window=VRI[MainActivity],event=applyTransactionOnDraw applyImmediately]
06-16 11:44:15.321 8060 8060 I viewroot_draw_event: [window=VRI[MainActivity],event=applyTransactionOnDraw applyImmediately]
--------- switch to main
06-16 11:44:15.324 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} CameraDevice.onClosed()
06-16 11:44:15.324 8060 8125 D Camera2CameraImpl: {Camera@82e1fa9[id=0]} Transitioning camera internal state: CLOSING --> INITIALIZED
06-16 11:44:15.324 8060 8125 D CameraStateRegistry: Recalculating open cameras:
06-16 11:44:15.324 8060 8125 D CameraStateRegistry: Camera State
06-16 11:44:15.324 8060 8125 D CameraStateRegistry: -------------------------------------------------------------------
06-16 11:44:15.324 8060 8125 D CameraStateRegistry: Camera@5d8aa3a[id=1] UNKNOWN
06-16 11:44:15.324 8060 8125 D CameraStateRegistry: Camera@82e1fa9[id=0] CLOSED
06-16 11:44:15.324 8060 8125 D CameraStateRegistry: -------------------------------------------------------------------
06-16 11:44:15.324 8060 8125 D CameraStateRegistry: Open count: 0 (Max allowed: 1)
06-16 11:44:15.324 8060 8125 D CameraStateMachine: New public camera state CameraState{type=CLOSED, error=null} from CLOSED and null
06-16 11:44:15.324 8060 8125 D CameraStateMachine: Publishing new public camera state CameraState{type=CLOSED, error=null}
06-16 11:44:15.324 8060 8125 D UseCaseAttachState: Active and attached use case: [] for camera: 0