FineVolume
1.0.0 · GitHub
More about this app
Pixel-style volume panel with 120-step precision plus per-app and per-stream volume control, using a Shizuku high-precision audio proxy.
FineVolume
Pixel-Fidelity Android 17 Volume Panel with 120-Step Ultra-Fine Precision
π Overview
By default, Android hardcodes media volume into a coarse 15 steps, often leaving you stuck between "a bit too quiet" and "painfully loud".
FineVolume replaces your phone's native volume panel with an ultra-responsive, pixel-accurate Android 17 / Pixel SystemUI volume slider powered by a Shizuku high-precision audio proxy that unlocks 120 granular volume levels.
Wrapped in pure Jetpack Compose, FineVolume features modern rectangular squircle geometry, a prominent divider handle, fluid spring animations, zero background dimming, and seamless hardware key repeat.
β¨ Key Features
ποΈ 120-Step Granular Precision
- Bypass OS Limitations: Increases media volume granularity from 15 coarse notches to 120 micro-steps for perfect acoustic tuning with headphones, IEMs, and Bluetooth speakers.
- Cubic Perceptual Taper (\(x^3\)): Logarithmic volume curve modeled after the human ear's sensitivity, ensuring changes feel linear and natural at low, medium, and high volumes.
π¨ Pixel / Android 17 Material You Design
- Modern Rectangular Squircle: Clean, contemporary squircle geometry (
18dpouter container,14dpslider tracks) instead of outdated circular stadium pills. - Prominent Divider Bar: Distinct
5.5dphorizontal indicator bar with smooth capsule rounding, dividing active and inactive volume tracks. - Edge-Optimized Geometry: Engineered with vertical clearance so the divider bar never shrinks, clips, or deforms at minimum (\(0\%\)) or maximum (\(100\%\)) volume.
- Dynamic Color Support: Seamlessly adapts to your system wallpaper with Material You dynamic color schemes in light and dark modes.
π± Dual-State Interactive Overlays
1. Collapsed Right-Edge Overlay
- Quick Ringer Mode Toggle: Cycle between Normal, Vibrate, and Silent (Mute) with a single tap.
- Vertical 120-Step Media Slider: Drag directly with sub-pixel precision or adjust via hardware keys.
- Live Caption Quick Toggle: Instant toggle with system state synchronization.
- Expand / Tune Button: Opens the full multi-stream panel with a fluid spring animation.
2. Expanded Multi-Stream Dialog
- Zero Background Dimming: 100% transparent backdropβnever grays out your wallpaper or active app.
- All System Audio Streams:
- π΅ Media (with granular stepping)
- π Voice Call
- π Ring
- π¬ Notifications (with intuitive mute warnings)
- β° Alarm
- Live Caption Center Pill: Dedicated system accessibility control.
- System Sound Shortcut & Done Button: Quick access to device sound settings, with automatic dismissal directly back to your screen when finished.
π΅ Per-App Volume Control
- Independent App Sliders: Automatically detects running audio apps (Spotify, YouTube, Chrome, VLC, YouTube Music, Games, etc.) and provides individual volume sliders inside the expanded panel.
- Deep Shizuku Audio Hook: Attenuates audio sessions directly at the Android audio framework level without requiring root.
- Real-Time Playback Tracking: Accurately tracks when apps start, pause, or finish playback.
βΈοΈ Pause Mode & Security Compatibility
- One-Tap Quick Pause: Temporarily pause FineVolume with one switch in Settings whenever you need to bypass banking or security apps that block third-party accessibility services.
- Geto Integration: Compatible with GETO to automate per-app accessibility toggling via Shizuku.
β¨οΈ Physical Volume Button Engine
- Single Press: Steps exactly 1 FineVolume increment.
- Smooth Long Press: Continuous, rapid volume transitions with automatic repeat loops.
- Zero OEM Clashing: Native volume dialog is cleanly superseded by FineVolume's accessibility overlay.
ποΈ Architecture
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β FineVolume System β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββββββββββββββββββ΄ββββββββββββββββββ
βΌ βΌ
ββββββββββββββββββββββββββ ββββββββββββββββββββββββββ
β Accessibility Service β β Shizuku Proxy Core β
β - Hardware Key Filter β β - IPlayer Binder Hook β
β - Hold-to-Repeat Loop β β - Cubic Interpolation β
ββββββββββββββββββββββββββ ββββββββββββββββββββββββββ
β β
βββββββββββββββββββ¬ββββββββββββββββββ
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β VolumeOverlayController β
β - WindowManager Overlay (TYPE_ACCESSIBILITY_OVERLAY) β
β - Pure Jetpack Compose Lifecycle Management β
β - 120-Step Mutex-Guarded State Engine β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
AccessibilityVolumeService: Intercepts volume key events before the OEM SystemUI can display the stock panel.VolumeController: Mutex-guarded state holder managing 120 fractional volume levels and broadcast updates.ShizukuPlayerBackend: Hooks into the Android media framework via Shizuku IPC to apply granular attenuation directly to active audio sessions without requiring root.VolumeOverlayController: CustomComposeViewwindow layout supporting fast gesture drags, touch outside dismissal, and spring animations.
π Privacy & Permissions
- π‘οΈ 100% Offline: FineVolume has zero internet permissions (
android.permission.INTERNETis omitted fromAndroidManifest.xml). - π Battery Efficient: Runs as a passive Accessibility Service that only activates when volume keys are pressed or the panel is drawn.
Required Permissions
- Accessibility Service: Intercepts physical volume button presses.
- Shizuku (Optional / Recommended): Grants elevated permission to apply granular 120-step audio scaling to media sessions without root.
- Do Not Disturb (Notification Policy): Allows toggling between Ring, Vibrate, and Silent modes directly from the overlay.
π¦ Installation & Setup
- Install APK:
- Download the latest
FineVolume.apk.
- Download the latest
- Enable Accessibility Service:
- Open Settings β Accessibility β FineVolume β Turn on.
- Grant DND Access:
- Tap the Ringer button on the overlay or follow the in-app prompt to allow Do Not Disturb access.
- Start Shizuku (for 120-step audio proxy):
- Ensure Shizuku is running via Wireless Debugging or ADB, then open FineVolume and grant permission.
π οΈ Building from Source
# Clone the repository
git clone https://github.com/broknhrt2562/finevolume.git
cd finevolume
# Build optimized release APK
./gradlew assembleRelease
The output APK will be generated at:
app/build/outputs/apk/release/app-release.apk
π License
Licensed under the Apache License, Version 2.0.
How Shizuku is used
Can fine-tune media volume, control per-app volume and toggle captions via `Shizuku audio proxy and shell process`.
This is an AI-assisted analysis of Shizuku-related usages in the app's public source code. It is best effort, so it may not catch every single usage.
How this app uses Shizuku
FineVolume uses Shizuku to run a high privilege audio proxy and to run system settings commands for captions.
- Precise media volume: the volume slider sets a normal system level plus a fractional gain on active media playback through Shizuku, giving about 1000 effective levels instead of the usual handful of steps.
- Per-app volume control: the user can set an individual level for each currently playing app, applied as a separate gain on that app's active playback through Shizuku.
- Live playing apps: the expanded panel shows which apps are actively playing and recalls their saved levels, based on active playback information collected through Shizuku.
- Caption toggle: the volume overlay button switches the system live caption setting on or off by running the
settings put securecommand through Shizuku when a direct system write is not allowed.
Android APIs or commands used
ActivityThread.systemMain()AudioManager.getActivePlaybackConfigurationsAudioPlaybackConfiguration.getPlayerProxyIPlayer.setVolumeAudioPlaybackConfiguration.getPlayerStateAudioPlaybackConfiguration.isActiveAudioPlaybackConfiguration.getClientUidPackageManager.getPackagesForUidAudioManager.setStreamVolumeAudioManager.getStreamVolumeAudioManager.getStreamMaxVolumesettings put secure odi_captions_enabledsettings put secure accessibility_captioning_enabled
Notable details
Works without Shizuku with standard system volume steps, Shizuku only adds sub-step precision, per-app control and the caption toggle without opening system settings.
Changelog
What's new for version 1.0.0
FineVolume is a fine-grained Android volume controller designed to provide precise volume adjustment beyond Android's default volume steps.
Features:
Customizable volume resolution with configurable N-step control Separate volume controls for Media, Call, Ring, Notification, and Alarm Separate per-app volume adjustment where supported Shizuku integration for advanced volume control Pixel/Android-style volume panel Physical volume button interception Smooth volume adjustment and slider control Volume percentage display Haptic feedback for volume changes Accessibility-based overlay Works without root
First public release of FineVolume.
Permissions
8 permissions requested