Repository navigation
Releases
Releases · official-Arvind/CameraTools
CameraTools v1.3.2: AOSP Crash Fix, Leica True Tuning & Feature Polish
🚀 CameraTools v1.3.2 — AOSP Crash Fix, Real Leica Color Tuning & Audio Zoom Polish
🐛 Critical Bug Fixes & System Stability
- AOSP ROM Missing Resource Crash Fix (Issue #7):
- Resolved fatal
android.content.res.Resources$NotFoundException: String resource ID #0x7f130379when opening Camera Settings on Evolution X, LineageOS, crDroid, and other custom AOSP ROMs lacking MIUI framework resource overlays. - Implemented resilient dynamic fallback mapping in
hookAospResourceFixes: safely interceptsResources.getString(int)andgetText(int)for missing Leica string IDs (such as0x7f130379->"Leica"), ensuring camera settings opens seamlessly on any custom ROM without crashing.
- Resolved fatal
🎙️ Audio Subsystem Polish & State Synchronization
- Audio Zoom Toggle & Active Indicator Glow Fix:
- Resolved issue where tapping the Directional Audio Zoom button in camera UI failed to toggle state or display active visual glow.
- Eliminated method collision where
isTeleXhook inhookFocusPeakingZebrawas inadvertently intercepting audio zoom feature checks. - Explicitly initialized
AiAudioParameterManager.sSupported = truevia reflection and hookedComponentRunningAiAudioNew.isSwitchOn(int mode)andComponentRunningAiAudioNew.getResIcon(boolean isNormal)so the audio zoom toggle updates cleanly and displays the active yellow glow indicator.
🔴 Leica Color Science & Tuning Realism
- True Leica Authentic vs. Leica Vibrant Separation:
- Fixed bug where switching between Leica Authentic and Leica Vibrant produced identical images due to
CameraSettings.getCvType()clamping custom cvType values to0. - Hooked
CameraSettings.getCvType()to return the actual user-selected Leica tuning mode (1for Leica Authentic,2for Leica Vibrant). - Enables MIUI Camera's GL rendering pipeline to dynamically bind distinct color grading matrices, contrast S-curves, and peripheral vignette shaders for authentic Leica character.
- Fixed bug where switching between Leica Authentic and Leica Vibrant produced identical images due to
🛡️ Strict Mode Conflict Isolation & Guard Architecture
- Movie Frame (MiMovie 2.39:1) Isolation:
- Strictly prevented 2.39:1 anamorphic crop from injecting into incompatible modes: blocked in Portrait (171), Night (173), Panorama (166), Slow Motion (168/172), and Document (186) modes. Eliminates sensor aspect ratio stretching, crop distortion, and preview freezes.
- 50MP Normal Photo Guarding:
- Strictly isolated 50MP hardware remosaicing to standard Photo mode (163) on Camera ID
0(main rear sensor), completely preventing bokeh depth corruption or green tinting in Portrait mode.
- Strictly isolated 50MP hardware remosaicing to standard Photo mode (163) on Camera ID
- Pro Shutter & Video LOG Mode Isolation:
- Confined extended shutter speed (up to 60s) strictly to Pro Photo (167) and Pro Video (180).
- Confined flat LOG color profile strictly to Pro Video (180).
🎞️ Pro RAW Bayer Sensor Hardware Documentation
- Dual-File Capture Architecture:
- Clarified why shooting RAW in Pro mode produces two files: a
.jpg(ISP-processed preview with color tuning) and a.dng(uncompressed raw sensor data with full dynamic range) per the Android Camera2 specification.
- Clarified why shooting RAW in Pro mode produces two files: a
- 12.5MP Native Quad-Bayer Readout:
- Documented that on the MediaTek Dimensity 1080 (MT6877 / Sony IMX766), the MediaTek Camera HAL exposes RAW at the native 12.5MP 4-in-1 binned Bayer resolution (
RAW_SENSOR32). Recommended Adobe Lightroom / Photoshop with custom color profiles for optimal DNG post-processing.
- Documented that on the MediaTek Dimensity 1080 (MT6877 / Sony IMX766), the MediaTek Camera HAL exposes RAW at the native 12.5MP 4-in-1 binned Bayer resolution (
📦 Release Verification & Hashes
- Package Name:
io.github.official_arvind.cameratools - Version Code:
132 - Version Name:
1.3.2 - SHA256 (
io.github.official_arvind.cameratools-v1.3.2.apk):036BFFE28D60C82B470D36E44F9737542843A7C25A638020E3EE49EFA3A7A310 - Signing Scheme: APK Signature Scheme v3 (Valid, Signed with Arvind's Release Key)
- Target Device: Redmi Note 12 Pro 5G / Pro+ 5G / Discovery (
ruby/rubypro) - OS Support: Android 13 & Android 14 (Stock HyperOS / MIUI & AOSP Custom ROMs)
CameraTools v1.3.1: Security Hardening, 15 Features & Modern Logo
🛡️ CameraTools v1.3.1 — Security Hardening, CodeQL & 15 Features Official Release
🔒 Security, CodeQL & Supply-Chain Hardening
- CodeQL Relative Command Execution Resolution (CWE-78 / Alerts #7 & #8):
- Implemented secure absolute binary path resolution (
getSuPath()) querying trusted root binary paths (/system/bin/su,/system/xbin/su,/sbin/su,/data/adb/ksu/bin/su,/data/adb/ap/bin/su), eliminating PATH environment variable hijacking risks.
- Implemented secure absolute binary path resolution (
- Android Application Backup Security Hardening (Alert #4):
- Enforced
android:allowBackup="false"inAndroidManifest.xmlpreventing unauthorized local ADB data backup extraction of camera system preferences.
- Enforced
- GitHub Actions Supply Chain Hardening (Alert #1):
- Pinned
softprops/action-gh-releasein.github/workflows/mirror-release.ymlto immutable commit SHAc95fe1489396fe8a9eb87c0abf8aa5b2ef267fda(# v2.2.1).
- Pinned
- Dependabot & Transitive Build Dependency Audit:
- Cleared and dismissed all legacy build-time transitive alerts; upgraded Android Gradle Plugin to
8.7.3with verified zero runtime attack surface in release APK.
- Cleared and dismissed all legacy build-time transitive alerts; upgraded Android Gradle Plugin to
🎨 Modern Flagship App Icon & Brand Redesign
- Precision Mechanical Aperture: 6-blade interlocking iris diaphragm geometry.
- Optical Multi-Coating Lens Reflection: Deep blue-magenta anti-reflective curvature gradients.
- Cyan Neon Accent Ring: Modern cybernetic glow surrounding the optical core.
- Leica Ruby Brand Badge: Precision ruby accent pill (
#FF1744) honoring classic rangefinder styling.
🌟 All 15 Unlocked Features (With Polished, Non-Technical UI)
- 🎥 4K 60FPS Video (Rear & Front): Ultra-smooth 4K 60FPS video on rear sensor and 4K (30/60 FPS) on the 16MP front selfie camera.
- 🎬 150 Mbps Cinematic Bitrate: Studio-grade 150 Mbps video recording bitrate.
- 🎞️ Pro RAW (DNG) Native Bayer Capture: True 12.5MP uncompressed native Bayer RAW (DNG) in Pro mode.
- 🔴 Leica Color Profiles & Watermark: Leica Authentic & Vibrant color profiles and genuine bottom-bar Leica watermarks.
- 👥 Dual-Camera Stream (Director Mode 204): Simultaneous front and rear camera recording.
- ⏱️ Extended Pro Shutter Range: Up to 60s long exposure astrophotography down to 1/16000s fast action shutter.
- ❄️ Hardware Thermal Bypass: Prevents camera throttling, shutdown popups, and recording cut-offs during high heat.
- 🔍 50MP Normal Photo Mode: True 8192×6144 capture in standard Photo mode with hardware ISP remosaic (strictly excluded in Portrait mode to eliminate green chroma tint).
- 📹 Pro Video Flat LOG Profile: Flat LOG profile in Pro Video for professional LUT grading in DaVinci Resolve.
- 🎬 Cinematic MiMovie Mode (2.39:1): Anamorphic cinema widescreen aspect ratio and movie framing.
- 📝 Video Teleprompter: Floating on-screen script prompter overlay while recording video.
- 🎯 Focus Peaking & Zebra Stripes: Real-time colored peaking outlines on in-focus edges and highlight zebra stripes.
- 👁️ AI Motion Tracking Focus: Real-time AI tracking focus for eyes, faces, and pets.
- 📄 Document Scanner Mode: Automatic document and ID card scanner with perspective deskew.
- 🎙️ Directional Audio Zoom & Bluetooth Mic: Bluetooth earbud microphone support and 3-mic directional audio focus.
📦 Release Verification & Hashes
- Package Name:
io.github.official_arvind.cameratools - Version Code:
131 - Version Name:
1.3.1 - Signing Scheme: APK Signature Scheme v3 (Valid, Signed with Arvind's Release Key)
- Target Device: Redmi Note 12 Pro 5G / Pro+ 5G / Discovery (
ruby/rubypro) - OS Support: Android 13 & Android 14 (Stock HyperOS / MIUI & AOSP Custom ROMs)
CameraTools v1.3.0: 15 Features, Leica Profiles, 4K60, RAW & Stability
📸 CameraTools v1.3.0 — Official Release
An advanced LSPosed / Xposed module unlocking hardware capabilities and premium camera features on the Redmi Note 12 Pro 5G (ruby / MediaTek Dimensity 1080) and compatible devices running Xiaomi HyperOS, MIUI, or AOSP ROMs.
🌟 What's New in v1.3.0
🐛 Critical Bug Fixes & Stability
-
Portrait Mode Green Output Fixed:
- Excluded Portrait mode (mode 171) from 50MP hardware remosaicing forcing. The ArcSoft dual-camera bokeh engine now receives pristine
$12.5\text{ MP}$ ($3072 \times 4096$ ) binned frames with natural colors and zero chroma corruption.
- Excluded Portrait mode (mode 171) from 50MP hardware remosaicing forcing. The ArcSoft dual-camera bokeh engine now receives pristine
-
Pro RAW (DNG) Native Bayer Capture:
- Unlocked uncompressed 12.5MP (
$4096 \times 3072$ ) Bayer RAW stream (RAW_SENSOR32) in Pro Mode. - Isolated 50MP stream injection strictly to JPEG mode, preventing camera daemon crashes on launch.
- Unlocked uncompressed 12.5MP (
-
Zoom Slider Glitch Resolved:
- Fixed method collision where
DataItemFeature.o000OO00(mode)(float[]optical zoom ratios) was receiving a string return value, causing0 0 0 0and integer overflow buttons. - Added strict reflection return-type safety guards across all method hooks, restoring clean
0.6X,1.0X, and2.0Xoptical zoom buttons.
- Fixed method collision where
-
Leica Authentic & Vibrant Profiles & Watermarks:
- Unlocked the top toolbar Leica profile toggle (
Leica Authentic/Leica Vibrant) and Leica watermark branding across photo modes.
- Unlocked the top toolbar Leica profile toggle (
-
Document Scanner Mode:
- Unlocked native document and ID scanner mode with auto-perspective deskew and contrast enhancement directly in the mode carousel.
⚡ Complete Feature Suite (15 Unlocked Features)
- Front & Rear 4K Video (30 / 60 FPS): Ultra HD recording across both main and front selfie cameras.
- 150 Mbps Cinematic Bitrate: High-bitrate video encoding for maximum detail retention.
- Pro RAW (DNG) Capture: Uncompressed sensor data capture for professional Lightroom & Photoshop editing.
- Leica Authentic & Vibrant Profiles: Authentic Leica color science, micro-contrast, and watermark branding.
- Director Dual-Camera Video: Simultaneous multi-camera recording with picture-in-picture.
- Extended Pro Shutter Speed: Manual exposure controls spanning 60 seconds up to 1/16000s.
- Hardware Thermal Warning Bypass: Continuous 4K60 recording without forced throttling shutdowns.
- 50MP Normal Photo Mode: True 50MP high-resolution output directly in the standard Photo tab.
- Pro Video LOG Profile: Flat LOG color profile for professional dynamic range and LUT grading.
- Cinematic MiMovie (2.39:1): Anamorphic widescreen aspect ratio and movie framing guidelines.
- Video Teleprompter: Floating on-screen script prompter for seamless vlog recording.
- Focus Peaking & Zebra Stripes: Real-time edge focus assist and exposure highlight clipping warnings.
- AI Motion Tracking Focus: Continuous eye, face, and pet subject tracking in photo and video.
- Document Scanner Mode: Automatic edge detection, perspective correction, and document enhancement.
- Directional Audio Zoom & Bluetooth Mic: Bluetooth earbud recording and 3-mic directional audio focus.
🎨 Design & Usability Polish
- Modern Flagship App Logo: Redesigned launcher and adaptive icon featuring precision mechanical aperture blades, multi-coated optic glass reflections, cyan neon bezel ring, and signature Leica ruby badge.
- Non-Technical User Interface: 15 elegant cards with clear, everyday descriptions, dynamic status badges, and quick toggles.
- Multi-Tier Preference Sync: Seamless background synchronization across LSPosed API 93, ContentProvider IPC, and Root fallback for all ROM environments.
📦 Installation
- Install the APK via LSPosed / Vector.
- Enable the module in LSPosed and ensure the target camera application (e.g.,
com.android.camera) is selected in the scope. - Open CameraTools, customize your preferred toggles, and tap "Restart Camera".
v1.2.7: Full Screen Immersive Fix
Changes
- Fixed a bug where the app was heavily letterboxed (huge black area at the bottom) on 20:9 screens because modern aspect ratios were not explicitly supported.
- Implemented automated version bumping in the build script.
- Modernized the bottom layout into a Material-like floating dock.
v1.2.5: Edge-to-Edge & IPC Fixes
Changes
- Fully fixed the black navigation bar area on MIUI/HyperOS
- Fixed an issue where restarting the camera wouldn't turn off features (Fixed XSharedPreferences SELinux cache by using ContentProvider IPC)
v1.2.4: UI Overhaul & Version Bump
Changes
- Fixed version code tracking causing '1.2.2' to show up
- Redesigned bottom action bar into a floating translucent dock
- Fixed layout overlapping behind the LSPosed alert banner
- Integrated the app logo directly into the header UI
v1.2.2: Bugfixes & Polish
Changes
- Implemented edge-to-edge immersive UI with proper WindowInsets padding
- Created proper Adaptive Icon for Android 8+ devices
- Fixed bug where toggling switches wouldn't remove hooks due to XSharedPreferences cache issues (migrated to PrefProvider IPC sync)
- Fixed bug where 50MP mode would attempt to inject unsupported 8192x6144 sizes into the front selfie camera
v1.2.1
Update App Icon, UI Layout and GitHub Metadata
v1.2.0
Fixed 50MP Normal Photo Mode for all aspect ratios
CameraTools v1.1.0 — Dual Video (Director Mode) Unlocked
🎬 CameraTools v1.1.0 Release Notes
🚀 What's New in v1.1.0:
- Dual Video (Director Mode / Mode 204) UNLOCKED & FULLY WORKING:
- Unlocked simultaneous front (OV16A1Q) + rear (Sony IMX766) multi-camera concurrent streaming and recording on Redmi Note 12 Pro 5G (ruby / MediaTek Dimensity 1080 MT6877).
- Bypassed HAL multi-camera restrictions (onValidateOpenLocked return bypass and max concurrent stream bump).
- Fixed MediaTek session operating mode (rewriting vendor Qualcomm session types 0x9005 to standard Android SESSION_REGULAR).
- Added hooks for DualVideoModuleUtil, ComponentRunningDualVideo, and Checker hardware bypass.
- Cleaned up debug method tracing for optimal camera responsiveness.
- Modernized Dashboard UI & Verified Package Structure:
- Full OLED-dark UI dashboard with per-feature colored pill badges, haptic feedback, and smart Enable/Disable All toggle.
- Updated verified module ID to
io.github.official_arvind.cameratools.
🌟 All Features Included:
- 4K 60FPS Video Recording: Unlocks true 3840x2160 @ 60 FPS recording with 60 FPS toggle switch.
- Cinematic Ultra Bitrate (150 Mbps): Boosts 4K video recording up to 150 Mbps HEVC for studio master quality.
- 50MP Full Bayer RAW (DNG): Enables true 50-megapixel uncompressed RAW sensor capture in Pro Mode.
- Leica Authentic & Vibrant Profiles + Branded Watermark: Injects official Leica color profiles and branding.
- Dual-Camera Concurrent Stream (Director Mode): Full concurrent front + rear recording.
- Extended Pro Exposure Range: 60s long exposure astrophotography down to 1/16000s shutter.
- Complete Thermal Warning & Shutdown Bypass: Prevents camera close dialogs or recording halts under high temperature.
Package: io.github.official_arvind.cameratools
Version Code: 101
Version Name: 1.1.0