runBlocking on the camera callback thread could deadlock when saveBitmap() needed the main thread. Split capturePhoto() into two phases: synchronous CPU work (decode/rotate/effect) inside the suspendCancellableCoroutine callback, and suspend-safe saveBitmap() after the continuation resumes in coroutine context. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| src/main | ||
| build.gradle.kts | ||
| proguard-rules.pro | ||