Skip to content

Latest commit

 

History

History
85 lines (56 loc) · 3.1 KB

File metadata and controls

85 lines (56 loc) · 3.1 KB

🎨 Camera Color Picker

A modern Android color picker app that samples colors in real time using your device's camera. Built with Jetpack Compose and CameraX, it demonstrates Production-ready architecture, clean state management, and seamless camera integration using the latest Camera Viewfinder APIs - without relying on legacy Android Views inside Compose.

App Demo

Get it on F-Droid

Screenshots

Splash Screen Camera Screen Colors History Exit Dialog

Video Preview

color_picker_video.mp4

✨ Features

  • Real-time Color Sampling: Instantly picks colors from camera feed center point
  • Dual Camera Support: Switch between front and back cameras
  • Torch Control: Enable flashlight for better color accuracy in low light
  • Color Details: View HEX, RGB, and HSV values
  • Color History: Save and manage picked colors with Realm Database
  • Material Design 3: Modern UI with dynamic theming
  • Edge-to-Edge Display: Full immersive edge to edge experience
  • Runtime Permissions: Smooth permission handling with Accompanist No Ads, No Tracking: Completely free and privacy-focused

🛠️ Technical Highlights

Modern Android Stack

  • Jetpack Compose - 100% declarative UI with proper lifecycle awareness
  • CameraX ViewFinder - Latest camera preview implementation without AndroidView
  • Realm Database - Fast, reactive local storage for color history
  • Koin - Lightweight dependency injection
  • Accompanist Permissions - Declarative runtime permission handling
  • Coroutines & Flow - Asynchronous operations and reactive streams
  • Material Design 3 - Dynamic color theming

Requirements

Requirement Version
Min SDK 24
Target SDK 36
Kotlin 2.0.21
Compose BOM 2026.01.01
CameraX 1.5.2
Koin 4.1.1
Realm 3.0.0

Architecture & Patterns

  • MVVM Architecture with clear separation of concerns
  • Unidirectional Data Flow (UDF) with immutable state
  • Repository Pattern for data layer abstraction
  • Dependency Injection using Koin
  • Edge-to-Edge UI following Android 16 guidelines

📬 Contact

⭐ If you found this project helpful, please consider giving it a star!