A comprehensive Android clipboard management application with floating bubbles, encryption, and advanced features.
- Clipboard Monitoring: Automatic capture of copied text and content
- Floating Bubbles: Quick access to clipboard history with customizable bubbles
- Encryption: Secure storage of clipboard data with AES encryption
- History Management: Configurable history size with automatic cleanup
- Multiple Content Types: Support for text, images, URLs, and files
- Multiple Bubble Types: Choose from Circle, Cube, Hexagon, and Square shapes
- Cube Flash Feature: Cube bubbles flash content preview when tapped
- Drag-and-Drop Actions: Drag bubbles to highlighted areas for content editing
- Theme Support: Multiple color themes with Material Design 3
- Drag & Drop: Reposition bubbles anywhere on screen
- Opacity Control: Adjustable transparency levels
| Type | Description | Special Features |
|---|---|---|
| Circle | Classic circular bubbles | Default shape, smooth animations |
| Cube | 3D cube with flash preview | Flashes content when tapped, 3D effect |
| Hexagon | Hexagonal bubbles | Geometric design, modern look |
| Square | Rounded square bubbles | Clean, minimalist appearance |
- Service Persistence: Automatic restart and recovery mechanisms
- Battery Optimization: Smart power management
- Permission Management: Guided setup for required permissions
- Error Handling: Graceful degradation and user feedback
- Accessibility: Full accessibility compliance
The cube bubble type includes a special flash functionality:
- Content Preview: When tapped, cube bubbles flash the clipboard content for 1 second
- 3D Effect: Visual depth with lighter top face and darker side face
- Smooth Animation: Alpha-based flash effect with easing
- Content Display: Shows up to 20 characters of content during flash
When dragging bubbles to screen edges, smart action areas appear with context-aware suggestions:
Edge-Based Activation:
- Left Edge: Horizontal action bar with smart suggestions
- Right Edge: Horizontal action bar with smart suggestions
- Top Edge: Vertical action bar with smart suggestions
- Bottom Edge: Vertical action bar with smart suggestions
Smart Action Suggestions:
- URLs: Open Link, Share Link, Bookmark, Copy URL
- Phone Numbers: Call Number, Send SMS, Add Contact, Copy Number
- Email Addresses: Send Email, Add Contact, Copy Email
- Addresses: Open Maps, Get Directions, Share Location, Copy Address
- Code: Run Code, Share Code, Format Code, Copy Code
- Text: Copy Text, Share Text, Search Text, Translate
Visual Features:
- Edge Glow: Blue glow animation when approaching edges
- Smart Positioning: Action areas positioned based on drag direction
- One-Handed Operation: Thumb-friendly positioning and gestures
- Context Awareness: Actions change based on content type
Users can select their preferred bubble type in Settings:
- Open the app settings
- Navigate to "Bubble Type" section
- Choose from Circle, Cube, Hexagon, or Square
- Changes apply immediately to all floating bubbles
- Start Dragging: Drag any bubble with content
- Approach Edge: Drag the bubble toward any screen edge
- Edge Glow: Blue glow appears when approaching edge threshold
- Smart Actions Appear: Context-aware action areas appear with relevant suggestions
- Drop on Action: Drop the bubble on the desired smart action
- Smart Processing: Content is processed according to the action (e.g., open link, call number)
- Areas Hide: Action areas automatically disappear after use
Example Workflows:
- URL: Drag to edge β "Open Link" β Browser opens automatically
- Phone Number: Drag to edge β "Call Number" β Dialer opens with number
- Email: Drag to edge β "Send Email" β Email app opens with address
- Address: Drag to edge β "Open Maps" β Maps app opens with location
Each bubble type supports:
- Theme Colors: Different colors for empty, storing, replace, append, and prepend states
- Opacity Control: Adjustable transparency (10-100%)
- Size Options: 5 different size levels
- Action Areas: Highlighted areas for drag-and-drop content editing
- Domain Layer: Business logic and use cases
- Data Layer: Repository pattern with Room database
- Presentation Layer: MVVM with Jetpack Compose
- Service Layer: Foreground services for clipboard monitoring
- FloatingBubbleService: Manages floating bubble lifecycle
- ClipboardService: Monitors clipboard changes
- BubbleView: Custom view with multiple shape support
- EncryptionManager: Handles data encryption/decryption
| Setting | Range | Default | Description |
|---|---|---|---|
| Max History Size | 10-500 | 100 | Maximum items to store |
| Auto-delete After | 1-168h | 24h | Automatic cleanup timing |
| Bubble Size | 5 sizes | Medium | Floating bubble dimensions |
| Bubble Opacity | 10-100% | 80% | Bubble transparency level |
| Bubble Type | 4 types | Circle | Bubble shape selection |
| Clipboard Mode | Replace/Extend | Replace | Content handling behavior |
| Encryption | On/Off | On | Security feature toggle |
| Permission | Purpose | Required |
|---|---|---|
SYSTEM_ALERT_WINDOW |
Floating bubble interface | Yes |
FOREGROUND_SERVICE |
Background clipboard monitoring | Yes |
POST_NOTIFICATIONS |
Service notifications (Android 13+) | Yes |
- Unit Tests: 100% coverage for business logic
- Integration Tests: Database and repository operations
- UI Tests: Compose screen interactions
- Security Tests: Encryption/decryption validation
app/src/test/ # Unit tests
app/src/androidTest/ # Instrumentation tests
app/src/testDebug/ # Debug-specific tests
app/src/testRelease/ # Release-specific tests
# Full test suite
./gradlew test connectedAndroidTest
# Specific test categories
./gradlew testDebugUnitTest
./gradlew connectedDebugAndroidTest
# Test with coverage report
./gradlew testDebugUnitTestCoverage- π Automated Builds: Multi-stage builds with containerized environments
- π§ͺ Quality Assurance: Comprehensive testing with 100% coverage target
- π Security Scanning: CodeQL analysis and dependency vulnerability checks
- π¦ Release Management: Automated versioning and GitHub releases
- π Monitoring: Build health tracking and performance metrics
- π³ Containerized Builds: Docker-based Android SDK environment
- Main CI/CD Pipeline: Complete build, test, and release automation
- Pull Request Checks: Code quality and formatting validation
- Build Monitoring: Health tracking and automated alerting
- Security Monitoring: Vulnerability scanning and dependency updates
You can download the latest tagged build from GitHub Releases:
- Latest release: https://github.com/sparesparrow/cliphist-android/releases/latest
- This build: https://github.com/sparesparrow/cliphist-android/releases/tag/v1.0.0-ci1
# Quick setup
./build-dev.sh setup
# Build debug APK
./build-dev.sh build
# Run tests
./build-dev.sh test
# Run code quality checks
./build-dev.sh quality
# Run full CI pipeline locally
./build-dev.sh ci
# Build with Docker (recommended)
USE_DOCKER=true ./build-dev.sh docker-build- Floating bubbles with different shapes
- Settings dialog with bubble type selection
- Clipboard history with encryption indicators
- Service status monitoring
- Circle: Classic circular design
- Cube: 3D cube with flash preview
- Hexagon: Geometric hexagonal shape
- Square: Rounded square design
- Java 17+: Required for building
- Docker & Docker Compose: For containerized builds (recommended)
- Git: For version control
- Android Studio: For local development (optional)
# Clone the repository
git clone https://github.com/yourusername/cliphist-android.git
cd cliphist-android
# Setup and build
./build-dev.sh setup
./build-dev.sh build# Run tests
./build-dev.sh test
# Generate coverage
./build-dev.sh coverage
# Code quality checks
./build-dev.sh quality
# Format code
./build-dev.sh format
# Build with Docker
./build-dev.sh docker-build
# Full CI pipeline
./build-dev.sh ci
# Show all available commands
./build-dev.sh help- Jetpack Compose: Modern UI toolkit
- Room: Database persistence with SQLCipher encryption
- Hilt: Dependency injection
- Coroutines: Asynchronous programming
- Material Design 3: Design system
- Security: Encrypted storage and biometric authentication
- β Unified Pipeline: Consolidated 4 separate workflows into single comprehensive pipeline
- β Gradle Wrapper Validation: Security validation of build wrapper
- β Containerized Builds: Docker-based Android SDK environment
- β Dynamic Versioning: Git-based automatic version management
- β Multi-API Testing: Testing on API levels 24, 29, and 34
- β Security Scanning: Dependency vulnerability checks
- β Build Monitoring: Health tracking with daily scheduled checks
- β Performance Optimization: Caching and parallel execution
- β Automated Releases: Automatic GitHub release creation with APKs
- β Comprehensive Test Suite: Unit and instrumentation tests with coverage reporting
- β Code Quality: ktlint, detekt, and Android lint integration
- β Continuous Monitoring: Automated quality gates in CI/CD
- β Test Matrix: Testing across multiple Android API levels
- β
Consolidated Build Script: Single
build-dev.shfor all development tasks - β Comprehensive Commands: Setup, build, test, quality, security, and more
- β Documentation: Detailed guides including new IMPROVEMENTS.md
- β Docker Support: Optional containerized development environment
- β Fast Feedback: Quick local validation before pushing
- β Cleaned Up Duplicates: Removed duplicate API.md and build scripts
- β Single Source of Truth: Comprehensive docs in appropriate locations
- β Improvements Guide: New IMPROVEMENTS.md with refactoring recommendations
- β Updated Workflows: CI/CD documentation reflects new unified pipeline
- β Encrypted Storage: SQLCipher database encryption
- β Biometric Authentication: Secure access control
- β Code Obfuscation: ProGuard/R8 optimization
- β Resource Optimization: Shrinking and minification
- β Automated Security Scans: Integrated into CI/CD pipeline
- CI/CD Guide: Complete pipeline documentation
- Deployment Guide: Production deployment instructions
- API Documentation: Technical API reference
- Improvements Guide: Refactoring recommendations and best practices
- Fixes Applied: Details of wildcard import fixes and quality checks
- Quick Reference: Quick reference for common commands
This project is licensed under the MIT License - see the LICENSE file for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Submit a pull request
For support and questions:
- Create an issue on GitHub
- Check the documentation
- Review the API documentation
Note: This app requires overlay permissions to display floating bubbles. Please grant the necessary permissions when prompted.