Repository navigation
Releases: Leuconoe/MediaFloat
Release list
MediaFloat v0.3.3
MediaFloat v0.3.3
MediaFloat v0.3.3 fixes the drag-handle triple-tap gesture so users can close the floating widget directly from the overlay.
Highlights
- Triple-tap stop gesture: Triple-tapping the overlay drag handle now stops the widget reliably.
- Tap vs drag handling: The drag handle now separates taps from real drags using Android touch slop, so normal dragging still persists the widget position.
- Stop-only behavior: The gesture now maps to the explicit stop path instead of a toggle path, avoiding accidental restarts.
- API 36 test compatibility: AndroidX test dependencies were updated so instrumented tests run on the
Medium_Phone_API_36.0AVD.
Validation
- Passed
./gradlew.bat testDebugUnitTest - Passed
./gradlew.bat assembleDebug - Passed
./gradlew.bat connectedDebugAndroidTestonMedium_Phone_API_36.0 - Verified on
Medium_Phone_API_36.0with Spotify (com.spotify.music): overlay shown over Spotify, drag-handle triple tap stopped the widget, and logcat reportedReceived explicit runtime stopandDetached overlay
v0.3.0
MediaFloat v0.3.0
MediaFloat v0.3.0 focuses on permission guidance, layout stability, and internal refactoring for better maintainability.
Highlights
- Permission guidance on launch: When no permissions are granted, the app now automatically navigates to the Support screen where each required permission is listed with a clear explanation of why it is needed and a direct button to open the relevant settings page.
- MIT License and privacy notice: The Support screen now shows the MIT license and explicitly states that no personal information is collected, stored, or transmitted.
- Layout boundary refactor: Runtime and media responsibilities have been extracted into focused helpers (
MediaControllerSelector,MediaRecoveryPolicy,MediaArtworkCandidateResolver,OverlayLayoutCalculator,OverlayBitmapLoader,OverlayPresentationSpec) to reduce coupling and improve testability. - Removed Product Constraints card: The Support screen is now cleaner and more focused on what users actually need.
Notes
- Edge offset preset controls are temporarily disabled and will return in a future release.
- Thumbnail helper extraction is complete but the full thumbnail UI integration is still in progress.
- Existing permission and runtime requirements remain unchanged.
Validation
- Passed
./gradlew.bat assembleDebug - Passed
./gradlew.bat assembleRelease - Tested on AVD (Medium_Phone_API_36.0)
v0.2.4
MediaFloat v0.2.4
MediaFloat v0.2.4 focuses on layout polish and thumbnail support for the floating widget.
Highlights
- Normalized left drag-handle spacing to match the right side
- Added media thumbnail support with a fallback placeholder when artwork is unavailable
- Kept the title strip always visible to prevent layout flicker during track changes
- Moved sidebar placement and thumbnail toggle controls into Settings for easier access
Notes
- Edge offset preset controls are temporarily disabled and will return in a future release
- Thumbnail fallback uses a styled placeholder box when no artwork is available from the media session
- Existing permission and runtime requirements remain unchanged
Validation
- Passed
./gradlew.bat testDebugUnitTest - Passed
./gradlew.bat compileDebugAndroidTestKotlin - Passed
./gradlew.bat assembleDebug - Passed
./gradlew.bat connectedDebugAndroidTest - Passed
./gradlew.bat installDebug
v0.2.3
MediaFloat v0.2.3
MediaFloat v0.2.3 is a small follow-up release focused on stability and launcher convenience.
Highlights
- Kept the floating title strip visible during temporary metadata gaps between tracks
- Added a
Toggle widgetlauncher shortcut next to the existing launch and stop shortcuts - Deferred thumbnail artwork support for a later release after real-device validation showed inconsistent behavior
Notes
- The overlay still prefers current media title metadata and keeps the title surface stable even when the next item has not published text yet
- Thumbnail artwork is intentionally not part of this release
- Existing permissions and runtime entry requirements remain unchanged
Validation
- Passed
./gradlew.bat testDebugUnitTest - Passed
./gradlew.bat compileDebugAndroidTestKotlin - Passed
./gradlew.bat assembleDebug - Passed
./gradlew.bat connectedDebugAndroidTest - Passed
./gradlew.bat installDebug - Passed
./gradlew.bat :app:assembleRelease :app:bundleRelease
v0.2.2
MediaFloat v0.2.2
MediaFloat v0.2.2 focuses on making the floating widget easier to read while media is playing.
Highlights
- Added current-media title rendering to the floating widget overlay
- Kept the title strip width locked to the full widget width for Compact, Standard, and Large presets
- Added marquee-style scrolling for long titles without collapsing the title bar when the text is short
- Kept the runtime overlay and in-app preview aligned on the same title strip layout rules
Notes
- Title metadata prefers
DISPLAY_TITLEand falls back toTITLEwhen needed - This release changes the overlay presentation only; it does not add thumbnail artwork or new transport controls
- Existing permission and runtime requirements remain unchanged
Validation
- Passed
./gradlew.bat testDebugUnitTest - Passed
./gradlew.bat compileDebugAndroidTestKotlin - Passed
./gradlew.bat assembleDebug - Passed
./gradlew.bat connectedDebugAndroidTest
Feedback focus
The most useful feedback for v0.2.2 is:
- title readability across different widget sizes and themes
- marquee smoothness with long track or video titles
- media-app compatibility for title updates when playback metadata changes quickly
v0.2.1
MediaFloat v0.2.1
MediaFloat v0.2.1 is a focused follow-up release.
Highlights
- Added a launcher shortcut that stops the widget, paired with the existing launch shortcut
- Kept shortcut activation on the same runtime contract used by the app itself
- Renamed the package/application id to
sw2.io.mediafloat - Hardened runtime entry paths for notification settings, overlay start, and launcher shortcut flows
- Stabilized overlay drag updates so moving the widget no longer crashes the app
- Prepared refreshed screenshots and listing metadata for broader distribution
- Prepared signed Android App Bundle output for Play Store submission
Notes
- This release does not change the core widget family or permission model
- Release and distribution assets now align with the verified app behavior and current UI surfaces
- Google Play should use the signed
.aab, while APK assets remain useful for sideloading and other distribution channels
MediaFloat v0.2.0
MediaFloat v0.2.0
MediaFloat v0.2.0 is the first full product-shape release of the current single-module Android app.
This version completes the current cycle around app-language support, runtime recovery, a cleaner in-app information architecture, and release polish.
Highlights
- App-language support for
System default, English, Korean, Chinese, Japanese, Spanish, and French - Main, Settings, Advanced, Support, and hidden Debug surfaces with simplified control grouping
- Real widget controls for size, width, opacity, sidebar side, and theme presets
- Media-session recovery improvements after temporary interruption paths
- Safer runtime entry handling for notification settings, overlay start, and launcher shortcut activation
- Apache-2.0 repository license and refreshed README, changelog, and release notes
Setup notes
Language selection lives in Advanced. System default remains the first option and clears any app-specific override.
The overlay runtime still depends on Android overlay access, notification-listener access, and visible app notifications. If any of those pieces are missing, the app stays in a readable blocked state and exposes shortcuts back to the required system settings.
Known limitations
- The overlay still supports a single horizontal control family
- Freeform resizing and freeform button placement are not supported
- Validation has been strong on emulator-based setup and runtime checks, but target-device testing is still recommended before wider use
Feedback focus
The most useful feedback for v0.2.0 is:
- translation quality across the shipped app-language set
- locale switching behavior on Android 13+ and Android 10-12 devices
- media-app compatibility and overlay recovery behavior across OEM builds
- drag reliability, sidebar placement, and overall widget readability across theme presets
MediaFloat v0.1.0
MediaFloat v0.1.0
MediaFloat v0.1.0 is the first public release of the project.
This version focuses on a compact Android overlay for core media controls, plus the setup and debugging surfaces needed to make that runtime understandable.
Highlights
- Floating media controls for
Previous,Play / pause, andNext - Draggable overlay bar with a fixed right-side handle
- Settings screen with supported button layouts, size presets, and a live preview
- Debug console with runtime readiness, media readiness, transport controls, and recent logs
- Support screen with setup guidance, version details, and current constraints
- Exported automation action for launching the overlay flow from routines or shortcuts
Setup notes
MediaFloat depends on Android overlay access, notification-listener access, and a visible foreground-service notification posture. If one of those pieces is missing, the app stays in a readable blocked state and points back to the system settings it needs.
Known limitations
- The overlay supports a single horizontal control family in this release
- Freeform resizing and freeform button placement are not supported
- Validation has been strong on emulator-based setup and runtime checks, but target-device testing is still recommended before wider use
Feedback focus
The most useful early feedback for v0.1.0 is:
- media-app compatibility
- overlay behavior across OEM builds
- permission-flow clarity
- practical issues with positioning, persistence, and recovery