Welcome to Empty Libs, a curated suite of modern, lightweight, and easy-to-integrate libraries for native Android development with Jetpack Compose. Each library is designed to solve a specific problem with a clean API, robust state management, and a focus on simplicity.
This repository contains the following libraries. Each is independently versioned and can be used on its own.
A feature-rich drawing solution that allows free-form drawing, path editing, customizable brushes
and canvas colors, and exporting the final drawing as an ImageBitmap.
- Key Features: Free-form drawing, path selection & editing, undo/redo, export.
- View README
Provides serializable and parcelable data classes for core Jetpack Compose types like Offset,
Size, IntOffset, IntSize, and their Dp variants, simplifying state restoration and data
transfer.
- Key Features: Serializable & Parcelable data classes, seamless conversion, state management helpers.
- View README
A collection of pre-built preference components (SwitchPreference, SliderPreference, etc.) that
automatically read from and write to Jetpack DataStore, making settings screens a breeze to create.
- Key Features: DataStore-powered components, minimal boilerplate, variety of preference types.
- View README
A dependency-free library to simplify common formatting tasks, including rounding Double or
Float values and providing predefined SimpleDateFormat patterns.
- Key Features: Decimal rounding, predefined format patterns, lightweight and static.
- View README
A gesture detection library to add complex interactions to your UI. Currently specializes in providing a rich set of gestures for video players (double-tap to seek, swipe for volume/brightness, pinch-to-zoom).
- Key Features: Video player gestures, robust state management, highly configurable.
- View README
A complete ImageEdit composable with top and bottom toolbars for a seamless editing experience.
Supports drawing, text, shapes, and image overlays with object-based selection, manipulation, and
undo/redo.
- Key Features: Free-form drawing, text & shape tools, object manipulation, state management, export.
- View README
Provides two main features: fine-tuning image properties (brightness, contrast, saturation) with sliders, and applying a wide variety of one-tap artistic and corrective filters.
- Key Features: Manual color adjustment, pre-built template filters, live previews, export.
- View README
A full-featured cropping UI with support for predefined aspect ratios, custom crop shapes (circles, stars), image flipping, and a live preview.
- Key Features: Aspect ratio control, shape masking, interactive crop selection, live preview.
- View README
A utility to apply shape masks (Circle, Star, Polygon, etc.) to any ImageBitmap and perform common
bitmap calculations, like fitting an image to a canvas.
- Key Features: Advanced shape masking, extensible shape system, bitmap extensions.
- View README
A powerful image viewer built on Coil 3. Supports pinch-to-zoom, pan, rotation, and double-tap gestures. It automatically becomes a swipeable gallery when given a list of images.
- Key Features: Zoom/Pan/Rotate, swipeable gallery, Coil 3 integration, configurable controls.
- View README
A seamless, all-in-one workflow to crop an image to the device's screen dimensions and set it as the home screen, lock screen, or both.
- Key Features: Automatic aspect ratio detection, integrated crop UI, wallpaper type selection.
- View README
A suite of powerful and reusable composables, including an adaptive TwoPaneLayout, an
AnimatedBottomNavBar, an adaptive BottomOptionBar with an overflow menu, and unique
DialTextPicker and WheelTextPicker components.
- Key Features: Adaptive layouts, animated navigation, custom pickers, overflow menus.
- View README
A versatile color picker with an HSL panel, an image-based dropper tool, and a pre-built dialog. Features robust state management and optional copy/paste functionality.
- Key Features: Classic HSL picker, image dropper, ready-to-use dialog.
- View README
A lightweight and efficient wrapper around Android's LruCache for easy, type-safe, in-memory
caching of any object type.
- Key Features: Generic & type-safe, simple API, dynamic resizing, full cache control.
- View README
A modern, coroutine-based utility for Android that simplifies browsing the file system, querying storage volumes, reading metadata, and creating files or folders.
- Key Features: Storage volume management, file/directory browsing, rich metadata, Flow-based API.
- View README
