Clicka

Clicka πŸ–±οΈ

An Android auto-clicker application built with Kotlin, Jetpack Compose, and modern Android architecture.

Screenshots

Clicka DarkMode

Clicka    Clicka Screen 1    Clicka Screen 2

Clicka LightMode

Clicka Lite Screen 1    Clicka Lite Screen 2

Features

Architecture

The app follows a clean, domain-driven architecture:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                    UI Layer                             β”‚
β”‚  (Jetpack Compose Screens, Navigation, Overlays)        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  Domain Layer                           β”‚
β”‚  (Scenarios, Actions, Click/Swipe/Pause definitions)    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                  Engine Layer                           β”‚
β”‚  (ActionExecutor, Engine orchestration)                 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                          β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              Accessibility Service                      β”‚
β”‚  (dispatchGesture for clicks/swipes)                    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Tech Stack

Permissions

Permission Purpose
SYSTEM_ALERT_WINDOW For floating overlay control panel
BIND_ACCESSIBILITY_SERVICE For gesture dispatch (clicks/swipes)

Project Structure

com.example.clicka/
β”œβ”€β”€ actions/          # Action definitions (Click, Swipe, Pause)
β”œβ”€β”€ base/             # Base classes and utilities
β”œβ”€β”€ data/             # Database, DAOs, repositories
β”œβ”€β”€ domain/           # Domain models (Scenario, Action)
β”œβ”€β”€ engine/           # Engine & ActionExecutor
β”œβ”€β”€ navigation/       # Navigation components
β”œβ”€β”€ screens/          # Compose UI screens
β”œβ”€β”€ services/
β”‚   β”œβ”€β”€ accessibilty/ # Accessibility service
β”‚   └── overlayservice/ # Floating overlay service
└── ui/               # UI components & themes

Setup

  1. Clone the repository
    git clone https://github.com/IndiphileMenziwa/Clicka.git
    
  2. Open in Android Studio (Hedgehog or newer recommended)

  3. Sync Gradle dependencies

  4. Build and run on device/emulator (API 33+)

Usage

  1. Grant Permissions - Enable overlay and accessibility permissions when prompted
  2. Create Scenario - Add click points or swipe actions
  3. Start Auto-Click - Use the floating overlay to start/stop automation
  4. Customize - Adjust delays and repeat settings as needed

Building

# Debug build
./gradlew assembleDebug

# Release build
./gradlew assembleRelease

Requirements

How It Works

Core Flow

  1. User Action β†’ User configures click/swipe points via UI
  2. Scenario Creation β†’ Actions are saved as a Scenario
  3. Engine Execution β†’ Engine processes the Scenario’s actions
  4. Gesture Dispatch β†’ AccessibilityService dispatches gestures to the screen

Key Components

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is for educational purposes.


Made with ❀️ using Kotlin & Jetpack Compose