Skip to content

Develop#103

Merged
ismoy merged 2 commits into
mainfrom
develop
Mar 17, 2026
Merged

Develop#103
ismoy merged 2 commits into
mainfrom
develop

Conversation

@ismoy
Copy link
Copy Markdown
Owner

@ismoy ismoy commented Mar 17, 2026

No description provided.

ismoy added 2 commits March 16, 2026 23:30
This update improves the Android camera experience by optimizing image capture, refining performance configurations, and fixing permission flow issues.

**Android Changes:**
- **Camera Capture:** Added `VolumeButtonCapture` to support hardware volume buttons for taking photos.
- **Resolution & Quality:** Switched to `ResolutionSelector` with a 4:3 target aspect ratio and high-resolution strategy. Improved `HighPerformanceConfig` to detect high-end devices using RAM, API level, and hardware chipset.
- **Image Processing:** Optimized `ImageProcessor` with a dedicated `CoroutineScope` and better memory management (aggressive bitmap recycling and temporary file cleanup).
- **Concurrency:** Introduced `isCapturing` state in `CameraCaptureStateHolder` to prevent multiple simultaneous capture triggers.
- **Permissions:** Refactored `RequestCameraPermission` to use `LifecycleEventEffect` for more reliable state checks on resume and improved permanent denial detection using `shouldShowRequestPermissionRationale`.
- **Bug Fixes:** Fixed potential `IllegalStateException` when resolving parent directories for compressed/corrected images. Added fallback to `context.filesDir` in `FileManager`.

**Common & iOS Changes:**
- **UX:** Reduced `DELAY_TO_TAKE_PHOTO` from 150ms to 50ms for a more responsive feel.
- **Compression:** Adjusted `CompressionLevel` thresholds and quality values for better balance.
- **iOS:** Fixed a bug in `RequestCameraPermission` where dialog state wasn't reset after navigating to settings. Improved `AppLifecycleObserver` using `rememberUpdatedState`.
- **Dependencies:** Added `androidx.lifecycle:lifecycle-runtime-compose` dependency.
- **Version:** Updated project version to `1.0.33-alpha1`.
This update improves the Android camera experience by optimizing image capture, refining performance configurations, and fixing permission flow issues.

**Android Changes:**
- **Camera Capture:** Added `VolumeButtonCapture` to support hardware volume buttons for taking photos.
- **Resolution & Quality:** Switched to `ResolutionSelector` with a 4:3 target aspect ratio and high-resolution strategy. Improved `HighPerformanceConfig` to detect high-end devices using RAM, API level, and hardware chipset.
- **Image Processing:** Optimized `ImageProcessor` with a dedicated `CoroutineScope` and better memory management (aggressive bitmap recycling and temporary file cleanup).
- **Concurrency:** Introduced `isCapturing` state in `CameraCaptureStateHolder` to prevent multiple simultaneous capture triggers.
- **Permissions:** Refactored `RequestCameraPermission` to use `LifecycleEventEffect` for more reliable state checks on resume and improved permanent denial detection using `shouldShowRequestPermissionRationale`.
- **Bug Fixes:** Fixed potential `IllegalStateException` when resolving parent directories for compressed/corrected images. Added fallback to `context.filesDir` in `FileManager`.

**Common & iOS Changes:**
- **UX:** Reduced `DELAY_TO_TAKE_PHOTO` from 150ms to 50ms for a more responsive feel.
- **Compression:** Adjusted `CompressionLevel` thresholds and quality values for better balance.
- **iOS:** Fixed a bug in `RequestCameraPermission` where dialog state wasn't reset after navigating to settings. Improved `AppLifecycleObserver` using `rememberUpdatedState`.
- **Dependencies:** Added `androidx.lifecycle:lifecycle-runtime-compose` dependency.
- **Version:** Updated project version to `1.0.33-alpha1`.
@ismoy ismoy merged commit 213b40d into main Mar 17, 2026
7 checks passed
@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 17, 2026

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant