Back to portfolio

Ad-free Android · Utility · com.michael.edgeflow

EdgeFlow ad-free Android app icon

EdgeFlow

Ad-free Android edge gesture helper. Turn left/right screen edges into one-handed shortcut zones for Back, Home, notifications, media, and more — no ads in your gesture flow.

Completely ad-free — no ads, no trackers, no sponsored clutter.

Ad-free Android app

What is EdgeFlow?

EdgeFlow is an ad-free Android gesture helper that turns the left and right screen edges into configurable one-handed action zones for navigation, notifications, media, and more.

Ad-free advantage: Completely ad-free — no ads, no trackers, no sponsored clutter. MichaelSam94 apps are built without banner ads, interstitial ads, or video ad interruptions.

Key capabilities

  • Six ergonomic left/right edge zones
  • Five-action circular menus per zone
  • Accessibility actions for Back, Home, Recents, and more
  • Adjustable handles and haptic feedback
  • Local settings with zero ads

Frequently asked questions

Is EdgeFlow free of ads?

Yes. EdgeFlow is completely ad-free so edge shortcuts stay fast and uninterrupted.

What permissions does EdgeFlow need?

It uses display-over-other-apps and an accessibility service to show edge handles and execute system actions you configure.

Can I customize edge shortcut menus?

Yes. Each of the six zones supports a five-item circular menu, with local Room persistence for your configuration.

EdgeFlow is an ad-free Android gesture helper that turns the left and right screen edges into configurable one-handed action zones for navigation, notifications, media, and more.

Ad-free: Completely ad-free — no ads, no trackers, no sponsored clutter.

EdgeFlow is an Android gesture helper that turns the left and right screen edges into configurable one-handed action zones. It is designed for Android users who want faster access to navigation, notifications, media controls, volume controls, screenshots, accessibility shortcuts, and app launchers.

Project Overview

EdgeFlow displays subtle edge handles and uses an accessibility service to turn hold-and-swipe gestures into system actions. The app ships with six fixed edge zones, five circular-menu slots per zone, local settings storage, and generated Google Play graphics.

No hosted demo is configured. The app must be installed on an Android device or emulator to try the gesture and accessibility-service workflow.

Key Features

  • ⚡ Six ergonomic edge zones split across the left and right screen edges.
  • 🎛️ Five-action circular menus for each edge zone, with 30 default shortcuts.
  • 🧭 Accessibility-service actions for Back, Home, Recents, notifications, quick settings, and more.
  • 🎨 Adjustable visual handles with color, width, transparency, and touch-feedback controls.
  • 📳 Optional haptic feedback for gesture arming and action execution.
  • 🗃️ Local Room persistence for zones, menu items, and recent gesture activity.
  • 🧪 Robolectric and Roborazzi tests for app behavior and Play Store assets.
  • 🖼️ Generated Google Play screenshots, app icon, feature graphic, and listing copy.

Architecture Overview

Components And Layers

MainActivity hosts the Jetpack Compose setup, permission flow, settings screens, simulator view, and zone customization UI. It observes repository state and guides the user toward overlay and accessibility permissions.

EdgeOverlayService is the accessibility service declared in AndroidManifest.xml. It creates the edge overlays, recognizes hold-and-swipe gestures, renders the circular menu, and executes the selected Android action.

EdgeFlowRepository is the state boundary for the app. It stores zone and menu data in Room and persists visual or feedback preferences in SharedPreferences.

Request And Data Flow

1. The user grants display-over-other-apps and accessibility permissions. 2. The accessibility service creates edge handles based on repository settings. 3. A hold-and-swipe resolves the touched zone and opens the zone's five-item circular menu. 4. Releasing over a menu item executes the selected action and records a local activity entry. 5. Compose screens observe repository flows so settings and activity stay current.

Design Patterns

EdgeFlow uses repository-based state access, Room DAOs, Kotlin sealed classes for gesture actions, Compose state collection, and service-owned system-action execution. The UI configures behavior while the accessibility service owns runtime overlay and action work.

Tech Stack & Libraries

LayerTechnologyVersionPurpose
Mobile platformAndroid Gradle Plugin9.1.1Android app build system
LanguageKotlin2.2.10App, service, model, and test code
UIJetpack Compose BOM2024.09.00Declarative Android UI
UI componentsMaterial 3BOM-managedSettings, controls, and app surfaces
PersistenceRoom2.7.0Local database for zones, menus, and logs
AsyncKotlin coroutines1.10.2Background repository and service work
LifecycleAndroidX Lifecycle2.8.7Lifecycle-aware Compose state collection
NetworkingRetrofit2.12.0Available dependency; no active API client is documented
NetworkingOkHttp4.10.0Available dependency; no active HTTP flow is documented
SerializationMoshi1.15.2Available dependency and KSP code generation
ScreenshotsRoborazzi1.59.0Play Store screenshot and graphic generation
TestingJUnit4.13.2JVM unit test framework
TestingRobolectric4.16.1Android tests on the JVM
SecretsSecrets Gradle Plugin2.0.1Reads .env and .env.example

Configuration

Android build configuration lives in app/build.gradle.kts. It defines package com.michael.edgeflow, min SDK 24, target SDK 36, version code 9, version name 1.0.2, debug signing, and release signing.

Dependency and plugin versions are centralized in gradle/libs.versions.toml. Runtime user preferences are stored in SharedPreferences under edgeflow_preferences and can be changed through the app UI.

Default zones and menu actions are defined in app/src/main/java/com/michael/edgeflow/model/DefaultEdgeConfiguration.kt. Changing these defaults requires a rebuild and reinstall for fresh installs; existing local data may preserve user edits.

Accessibility-service metadata lives in app/src/main/res/xml/accessibility_service_config.xml. Manifest permissions are declared in app/src/main/AndroidManifest.xml.

Usage / Quick Start

Run The Android App

Build and install the debug variant:

./gradlew installDebug

Then enable the required device permissions:

Settings > Apps > Special app access > Display over other apps > EdgeFlow
Settings > Accessibility > EdgeFlow Gesture Controller

After permissions are enabled, hold on a left or right edge handle, swipe inward, keep holding, and release over a circular menu item to trigger the selected action.

Generate Play Store Assets

Regenerate store graphics with the Roborazzi-backed Gradle task:

./gradlew generatePlayStoreAssets

Build A Release APK

Set signing secrets, then assemble the release variant:

KEYSTORE_PATH=/absolute/path/to/my-upload-key.jks \
STORE_PASSWORD=your-store-password \
KEY_PASSWORD=your-key-password \
./gradlew assembleRelease

API Reference

Not applicable. EdgeFlow is an Android application with a local accessibility service and local Room database. This repository does not define public HTTP endpoints, a public SDK, or a command-line API.

Testing

Run JVM unit tests, Robolectric tests, and non-screenshot Compose tests:

./gradlew testDebugUnitTest

Run connected Android tests on an emulator or physical device:

./gradlew connectedDebugAndroidTest

Regenerate Roborazzi Play Store screenshots and graphics:

./gradlew generatePlayStoreAssets

Tests live under app/src/test/java/com/michael/edgeflow/ and app/src/androidTest/java/com/michael/edgeflow/. Test files use the *Test.kt naming convention, with

Coverage reporting is not configured in this repository.

Deployment

Android

Debug builds:

./gradlew assembleDebug

Release builds:

KEYSTORE_PATH=/absolute/path/to/my-upload-key.jks \
STORE_PASSWORD=your-store-password \
KEY_ALIAS=upload \
KEY_PASSWORD=your-key-password \
./gradlew assembleRelease

provide a privacy policy URL in Play Console under App content.

Docker and docker-compose are not configured because this is a native Android project.

Privacy Policy

Not configured in this repository. Google Play still requires a hosted privacy policy URL before release, but no deployable privacy-policy site is tracked in this app repository.

Health Check

Not applicable. EdgeFlow is installed locally on Android devices and does not expose a server health endpoint.

FrozenDroid ad-free Android app iconUtility
FrozenDroid

Ad-free no-root Android app freezer with Shizuku. Disable bloatware, restore packages, use freeze profiles and wake telemetry — no ads, offline safety guidance.

com.michael.frozendroid
NotchCommand ad-free Android app iconUtility
NotchCommand

Ad-free Android notch utility. Turn the punch-hole camera cutout into gesture shortcuts, battery sweep, and audio visualizer ring — no ads, privacy-first overlay tools.

com.michael.notchcommand
Smooth-Mo ad-free Android app iconUtility
Smooth-Mo

Ad-free on-device slow-motion video app for Android. Import local clips, target 60/120 FPS, track progress, preview, and export — no ads, no footage uploaded to the cloud.

com.michael.smoothmo
StoreClear ad-free Android app iconUtility
StoreClear

Ad-free Android storage cleaner. Find hidden space, remove duplicates, visualize large folders, clean empty folders/cache, and securely shred files — no ads, no file uploads.

com.michael.storeclear
Wi-Fi Drop ad-free Android app iconUtility
Wi-Fi Drop

Ad-free Android file transfer over local Wi-Fi. Send photos, videos, documents, and folders nearby with live progress or Web Share via QR — no ads, no cloud account.

com.michael.wifidrop
AuraSound ad-free Android app iconAudio
AuraSound

Ad-free offline ambient sound mixer for Android. Layer focus, nature, ambient, and sleep loops with volume controls, presets, and a sleep timer — no ads, no streaming account.

com.michael.aurasound
BLE Finder ad-free Android app iconDeveloper
BLE Finder

Ad-free BLE scanner for Android. Find nearby Bluetooth Low Energy devices with RSSI radar, hot/cold proximity, and optional audio pings — no ads while you track peripherals.

com.michael.blefinder
Bulk QR & Barcode Suite ad-free Android app iconScanner
Bulk QR & Barcode Suite

Ad-free bulk QR and barcode scanner for Android. High-speed batch scanning, CSV/Excel exports, and branded logo QR generation — no ads, offline-first inventory tools.

com.michael.bulkqrscanner

All ad-free Android app names

Complete index of completely ad-free Android apps by Michael Samuel Naeem on Google Play and GitHub — utility, privacy, productivity, developer, media, finance, and device tools with no ads. Completely ad-free — no ads, no trackers, no sponsored clutter. Every listed Android app is published without ads. Search engines can discover each exact product name, package, marketplace listing, and source page from this index.

  • AuraSound ad-free · Audio · com.michael.aurasound · ad-free ambient sound mixer Android
  • BLE Finder ad-free · Developer · com.michael.blefinder · ad-free BLE scanner Android
  • Bulk QR & Barcode Suite ad-free · Scanner · com.michael.bulkqrscanner · ad-free bulk QR barcode scanner
  • ClearVoice AI ad-free · AI · com.michael.clearvoiceai · ad-free noise reduction Android
  • ClipVault ad-free · Productivity · com.michael.clipvault · ad-free clipboard manager Android
  • DevPocket ad-free · Developer · com.michael.devpocket · ad-free developer toolkit Android
  • Doc Scanner Vectorizer ad-free · Document · com.michael.docscannervectorizer · ad-free document scanner Android
  • EdgeFlow ad-free · Utility · com.michael.edgeflow · ad-free edge gestures Android
  • FolderFlow ad-free · Productivity · com.michael.folderflow · ad-free app organizer Android
  • FrozenDroid ad-free · Utility · com.michael.frozendroid · ad-free app freezer Android Shizuku
  • InsightlySpend ad-free · Finance · com.michael.insightlyspend · ad-free personal finance Android
  • Micro Budgeting ad-free · Finance · com.michael.microbudgeting · ad-free offline budget app Android
  • NotchCommand ad-free · Utility · com.michael.notchcommand · ad-free notch shortcuts Android
  • PDF Toolkit ad-free · Document · com.michael.pdftoolkit · ad-free PDF toolkit Android
  • Photo Optimizer ad-free · Media · com.michael.photo.optimizer · ad-free photo compressor Android
  • PrivAI ad-free · AI · com.michael.privai · ad-free on-device AI notes OCR
  • SensorScope ad-free · Developer · com.michael.sensorscope · ad-free Android sensor diagnostics
  • Smooth-Mo ad-free · Utility · com.michael.smoothmo · ad-free slow motion video Android
  • StoreClear ad-free · Utility · com.michael.storeclear · ad-free storage cleaner Android
  • Subtrackr ad-free · Finance · com.aistudio.subtrackr · ad-free subscription tracker Android
  • Tic Tac Toe ad-free · Game · com.michael.tic_tac_toe · ad-free tic tac toe Android
  • Todo App ad-free · Productivity · com.michael.todoapps · ad-free todo list Android
  • WalkPlanner ad-free · Health · com.michael.walkplanner · ad-free walk route planner Android
  • Wi-Fi Drop ad-free · Utility · com.michael.wifidrop · ad-free Wi-Fi file transfer Android