`Preview.targetRotation = …` on an already-bound use case does not refresh the live SurfaceTexture's transform matrix or trigger a new SurfaceRequest with a rotation-appropriate buffer size — the new rotation only applies to subsequently bound streams. With our custom SurfaceProvider, the result was that rotating to landscape left the camera still writing portrait-oriented frames into the now-landscape GL surface, so the preview appeared to rotate with the device instead of switching to landscape. Rebind the camera use cases when the target rotation changes so CameraX fires a fresh SurfaceRequest with the correct resolution and matrix. Also revert the OrientationDetector mapping back to its original (matches Display.rotation for a fullSensor activity, which is what setTargetRotation expects); the previous "fix" went the wrong direction and was not the root cause. Bump to 1.1.8. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| src | ||
| build.gradle.kts | ||
| proguard-rules.pro | ||